2017-08-01 4 views
-6

Array.IndexOfを使用すると、どのインデックスに値が存在するかを知るにはどうすればよいですか?使用時にインデックス値を取得する方法はありますか?Array.IndexOf?

私はループが遅れているので、使用したくありません。

if (Array.IndexOf(myarray, myvalue) > -1) 
{ 
    Console.WriteLine("The value exists in myarray[" + " "+ "]"); 
}; 
+0

項目を値で比較すると、 'IndexOf'がそれを行います。そうでなければ、ループが必要になることがあります。 – dcg

+7

そして、あなたはどのように正確にIndexOfが動作すると思いますか?それはまた、ループを使用して、あなたは**参照してくださいしたくない**ループ。 –

+0

@tanveerBadar Loopは本当に遅れます:/ –

答えて

3

結果はIndexOf()で保存してください。値をキャプチャ

var result = Array.IndexOf(myarray, myvalue); 
if (result > -1) 
    Console.WriteLine("the value existe in myarray[" + result + "]"); 
0

は行くための最良の方法ですが、あなたは一度だけ値が必要な場合、あなたはループせずにこれを行うことができ、別の方法は、条件として.Contains()方法を使用することで、その後、IndexOf()方法

var myArray = new string[] { "zero", "one", "two"}; 
var searchTerm = "two"; 

// Note that 'Contains' is an extension method that requires a reference to System.Linq 
if (myArray.Contains(searchTerm)) 
{ 
    Console.WriteLine("Found item '{0}' at index: {1}", 
     searchTerm, Array.IndexOf(myArray, searchTerm)); 
} 

出力:

enter image description here

(あなたが読みやすさの少量のためにパフォーマンスの少量を犠牲にしている場合) if体内
関連する問題