2016-06-18 19 views
0

2次元配列が宣言されています。ファイル名とバッチの2つの列があります。私はそれを空に初期化します。C#2次元配列とArray.Find - 変換できないエラー

string[,] a_Reports = new string[,] { { "", "" } }; 

私はそれをサイズ変更して読み込むコードをいくつか持っています。すべてが文字列値です。私はそうのように配列の要素をルックアップするために行くとき:

int value1 = Array.Find<string>(a_Reports, element=>element.Equals(newFileName)); 

私はエラーを取得する:

CS1503 Argument 1: cannot convert from 'string[*,*]' to 'string[]' 

私は道であり、何が機能していることのすべてを試してみました。私を助けてください!!!私はすでにそれに何時間も費やしてきました。

+0

。 'string [、]'に 'Array.Find'を使わないでください – Eser

+0

それはそうでなければなりません:Find jdweng

+0

Find は良いアイデアでした。配列をたどるよりも簡単な方法があると思っていましたが、私は思っていましたが、構文は明らかではないと思います。 – Missy

答えて

1

Array.Findは1次元配列のみです。 (MSDN

'How do I search a multi-dimensional array?'

にこの答えをチェックアウトはin my example on rextesterのように、同様の拡張メソッドを作成します。

など、代わりに2次元1とのforeachの組み合わせのジャグ配列を使用して検索する:私は、エラーメッセージは明確だと思う

string[][] jagged = ... 
Array.ForEach(jagged, array=>Array.Find(array, x=>x=="")); 
+0

ありがとうございます。私は配列スキャン機能を作り上げました。 – Missy