2010-12-16 8 views
2

私は、このようなマルチ薄暗い文字列配列の何かを持っている: -多次元文字列配列でArray.Existsを使用する方法

string[,] names = new string[2, 2] { {"Rosy",""}, {"Peter","Albert"} }; 

は、今私が存在を確認したいのであれば第2の指標(アルバート)文字列を保持することは配列全体で空ではありません。私は2番目のインデックスで空でない文字列値の存在をチェックするだけです。 私はArray.Existsの使用を考えていました。他に良い方法があれば、共有してください。

おかげ

+0

申し訳ありませんが、私は本当にあなたの質問の意味を理解することはできません。配列全体に文字列「Albert」があるかどうかを知りたいだけですか? – TToni

+0

「アルバート」の例です。 2番目のインデックスに空の文字列値が含まれているかどうかをチェックしたいだけです。 – Karan

答えて

2

私はあなたがここにArray.Existsを使用することができるとは思わない、でのみ取引があるため - あなたも位置に興味を持っています。私はちょうどループを使用します:

bool found = false; 
for (int i = 0; i < names.GetLength(0); i++) 
{ 
    if (!string.IsNullOrEmpty(names[i, 1])) 
    { 
     found = true; 
     break; 
    } 
} 

長方形の配列は、基本的にC#で動作する痛みのビットです。配列の配列 - - あなたはジャグ配列を持っていた場合、それは簡単だろう:

bool found = jagged.Select(x => x[1]) 
        .Any(value => !string.IsNullOrEmpty(value)); 
+0

これはギザギザの配列ではありません。あなたは何か他のものを提供できますか?私は反復を避けたい。 – Karan

+0

@カラン:それはギザギザの配列ではないことを知っています。それが私が最初の方法を提供した理由です。私は、ギザギザの配列として*簡単に*あなたのデザインを再考することを提案しています。 *何か*はデータを繰り返し処理する必要があります。この場合は、長方形の配列で作業する必要がある場合は、自分で行うのが最も簡単な方法です。もちろん、これをいつかユーティリティメソッドに入れることができます。 –

+1

@カラン:反復のために何が問題になっていますか?ファッショナブルではない? –