2017-02-19 4 views
-2

私はC#で、このリストがあります:C#のCONCATENATE一覧<string>プラス文字列

List<string> cad_analise = new List<string>(); 

をそして、私はこの追加:だから

cad_analise.Add("FQ"); 
cad_analise.Add("CR"); 

を、私はこの

var joinstring = ""; 

joinstring = cad_analise[0] + ", second is " + cad_analise[1] + ", join the words."; 

をやりたいですしかし、次のエラーが表示されます:

Index was out of range. Must be non-negative and less than the size of the collection. 

私はここでいくつかのテストを行いました。私はcad_analise [0]とcad_analise [1]に参加するときにエラーが発生すると闘っていました。

ここでエラーを参照してください:ここでhttps://dotnetfiddle.net/3rowFv

が完璧に働いている:https://dotnetfiddle.net/G6JwFs

+2

あなたの質問には、3つの異なる変数名が使用されています: 'cad_analise'、' has_analise'、 'analise' – M4N

+0

' 'analise'とは​​何ですか?私はこれを初期化していません。代わりに 'cad_analise'を意味しますか? –

+0

私は心から残念ですが、今編集しました。 – kfm

答えて

1

あなたはこれらを持っていますbools:それは偽の場合はcad_analise List<string>に追加has_analise List<string>に値を追加する本当ならば

bool has_analiseCR = true; 
    bool has_analiseFQ = true; 
    bool has_analisePCB = false; 
    bool has_analise2FAL = false; 
    bool has_analiseGP = false; 

は、その後、あなたがチェックしています。だから、最後に:

has_analiseは、次のようになります。

[0] => "CR"

は、[1] => "FQ"

あなたがライン74にしようとしています。

print_analise_cad = "Análise " + has_analise[0] + ", " + has_analise[1] + " e " + has_analise[2] + " do equipamento " + NumSerie_app + " e amostra de " + data_amostra + " foram cadastradas."; 

has_analise[2]を呼び出す場合、このインデックスは上記のように終了しません。 リストはインデックスのみの値を持つ[0]と[1]との[2]

また、あなたが number_analise_existente whitsの長さに number_analise_cad if (number_analise_cad == 3)ずにチェックしている

has_analise List<string>

のな長さに基づいていません

これは、インデックスが範囲外の例外を取得する理由です。

+0

私は既にOPにこれをコメントしました: 'number_analise_cadが3であることを確認してから作業していないが、has_analiseのインデックス2でアイテムを取得しようとすると、has_analiseには2アイテムしかありません3' – CodingYoshi

+0

君は!私のコードの本当の問題は、変数を混乱させてしまったということです。あなたの答えは私がエラーを見て、ありがとうございました。 – kfm

0

をあなたのコードの作品(質問に掲載され)、hereを確認することができたよう。

私が見つけた唯一の問題は、最後の行の末尾にセミコロンがある(私はこれはコピー/ペースト誤りだったと思います):あなたのコード例https://dotnetfiddle.net/3rowFv

joinstring = cad_analise[0] + ", second is " + cad_analise[1] + ", join the words."; 
+0

いいえ、ありがとうございました。私は、今はっきりしていると思う。ここでエラーを見てください:https://dotnetfiddle.net/3rowFv これは完全に動作しています:https://dotnetfiddle.net/G6JwFs、if(number_analise_cad == 3)です。 – kfm

関連する問題