2016-04-23 5 views
-1

複数のcase文/配列を使用していますが、わかりやすくするために1つしか掲載していません。文字列変数で.Lengthを使用するための構文ヘルプ

typeSelectedは、combobox.SelectedIndexの値から設定され、実行するケースを選択するために使用されます。私は3つの項目を持つ配列の名前である文字列"lengthUnits"に、実施例では、変数typeUnitsを設定する場合に

IはlengthUnits.Lengthを使用して実行するためのループが、コードを望んtypeUnits.Lengthとして処理していますが、誰かが正しい方向に私を指してくれますか?

私は試しましたtypeUnits.TexttypeUnits.ToString()typeUnits.Content何も動作しません。

string[] lengthUnits = new string[] {"Feet", "Miles", "Inches"}; 

int typeSelected = cmb_Select_Type.SelectedIndex; 

     switch (typeSelected) 
     { 
      case 1: typeUnits = "lengthUnits"; break; //Length Units 
      default: break; 
     } 

      for (int i = 0; i < typeUnits.Length; i++) 
      { 
       cmb_Select_From.Items.Add(typeUnits[i]); 
      } 

私は、これは、私は各条件ごとにループのために複数回記述する必要が仕事を得ることができない場合、私は一度だけ、それを書くことによってこれを避けるためにしようとしていました。

+0

[MCVE]ガイダンスをよく読んで、それに応じて投稿を更新してください。同時に、あなたが持っている問題についての情報を追加していないので、あなたの記事の「新しいここ」、「下書きしない」、「ありがとう」のテキストをすべて削除してください。 –

+0

私はオリジナルの投稿ではっきりとしていたので、私はプログラマーではない、私はこれのことを初めて熟知しており、専門用語についての手がかりはない。人々が私に返信しないように明確にすることを望んでいた私は理解できませんでしたが、明らかにそれは許されませんでした...私はいくつかの答えを得ましたが、私はそれらを理解しません。文字列と文字列の違いは何ですか?何が必要なのかを明確にすることができない場合は、どうすれば援助を求めることができますか?初心者に適した別のウェブサイトがありますか?私は通常この時点で感謝を言うだろうが、それは禁止されているようだ。 –

+0

ほとんどの人はこれをやっていませんが(彼らは本を見つけて学ぶでしょうが)、あなたは自由であり、 "string"と 'string []'の違いは何かを尋ねることができます。ところで、WPFのような複雑な技術に踏み込むのはかなり難しいことです。 – hillin

答えて

0

。 randomStringArrayという2番目の文字列[]を追加して、2つのケースでどのように動作するかを確認できます。

 string[] lengthUnits = { "Feet", "Miles", "Inches" }; 
     string[] randomStringArray = { "Test", "this", "please" }; 
     string[] typeUnits; 

     int typeSelected = cmb_Select_Type.SelectedIndex; 

     switch (typeSelected) 
     { 
      case 1: typeUnits = lengthUnits; 
       break; //Length Units 

      case 2: typeUnits = randomStringArray; 
       break; 

      default: break; 
     } 

     if (typeUnits != null) 
     { 
      for (int i = 0; i < typeUnits.Length; i++) 
      { 
       cmb_Select_From.Items.Add(typeUnits[i]); 
      } 
     } 
+0

私はそれをよく理解していませんが、これは私が必要としていたものです。 –

+0

私は特にあなたに感謝の言葉が禁じられていると言われましたが、私はあなたの助けを感謝したいと思います。私はここで多くの他の記事を読んでいます。人々は簡単な質問をし、私のチャンスを取らなければならない、おかげで再び。 –

0

まず、あなたのアプローチについてお話しましょう。名前を表す文字列で変数にアクセスしようとしています。これは、変数がメンバである場合にのみ可能です。これは、リフレクションの力で行うことができます。変数がローカルの場合、リフレクションはどちらにも役立ちません。

ただし、このコードスニペットでは問題ではありません。 lengthUnitsを文字列にする必要があるのはなぜですか?文字列[]の型ではありませんか? lengthUnitsと同じように文字列の配列であれば、lengthUnitsを直接割り当てることができ、lengthUnitsを直接列挙できます。

lengthUnitsは文字列でなければならない特別な理由がある場合でも、ディクショナリを使用して名前を実際の値にマッピングできます。あなたの質問はあなたがこれをやっている理由を反映していないので、私は今それについて詳細には触れません。

+0

私はこれの言葉を理解できません、何のメンバーですか?反射?私は文字列と文字列とがどのように違うのか分かりませんし、Dictionaryの名前を実際の値にマップすることは理解できません。私はプログラマーではないので、用語を理解できません。 –

1

変数typeUnitsは、値"lengthUnits"を割り当てるため、文字列として宣言されているようです。 typeUnits.Lengthを使用すると、文字列の長さが得られます(この場合は11です)。

変数typeUnitsstring[]であって、このように割り当てられなければならない:以下のコードは単なる[] typeUnitsに適切な文字列を割り当て

string[] typeUnits; 

switch (typeSelected) 
{ 
    case 1: typeUnits = lengthUnits; break; // No double quotes 
    default: break; 
} 
+0

実際には文字列は文字列typeUnits = ""を使用して割り当てられます。文字列と文字列[]の違いは何ですか? –

+0

あなたのコードでは、 'typeUnits'変数が' combobox'で行われた選択に対応する単位のリストを指し示すようにします。ユニットのリスト( 'lengthUnits'など)は' string [] '型であるため、変数' typeUnits'は同じ型でなければなりません。 'string'は文字列です(' 'Hello world!' 'など)。' string [] 'は文字列の配列です。たとえば、 'lengthUnits'は3文字の文字列を含む配列です。 – ConnorsFan

+0

私にこれを説明しようとしてくれてありがとうと本当に感謝したいと思いますが、アレクセイ・レヴェンコフの一番上のポストによれば、誰かに感謝の言葉がここでは禁じられているので、代わりに私はあなたにビールを買って、あなたはそれをとても楽しんだ!私はこのウェブサイトがとてもエリート主義者になるとは思っていませんでした。あるいは、私は最初に助けを求めてここに来たことはありませんでした..それはまだ私がこのプロジェクトに固執していて、私はここにこの場所を管理していると思われるコーディングエリートに叩かれることなく別の質問をしてください。でも、とにかく助けてくれたことに感謝します。 –

関連する問題