-6
如何知道當我使用Array.IndexOf
時值的存在位置?有沒有辦法在使用時獲得索引值.... Array.IndexOf?
我不喜歡使用Loop,因爲它滯後。
if (Array.IndexOf(myarray, myvalue) > -1)
{
Console.WriteLine("The value exists in myarray[" + " "+ "]");
};
如何知道當我使用Array.IndexOf
時值的存在位置?有沒有辦法在使用時獲得索引值.... Array.IndexOf?
我不喜歡使用Loop,因爲它滯後。
if (Array.IndexOf(myarray, myvalue) > -1)
{
Console.WriteLine("The value exists in myarray[" + " "+ "]");
};
您應該存儲IndexOf()
的結果並使用它。
var result = Array.IndexOf(myarray, myvalue);
if (result > -1)
Console.WriteLine("the value existe in myarray[" + result + "]");
捕捉價值是最好的方式,但如果你只需要值一次,你可以做到這一點的另一種方式沒有環是使用.Contains()
方法爲條件,然後IndexOf()
方法在if
體內(如果你願意犧牲性能的少量,針對少量的可讀性):
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));
}
輸出:
如果項目按值進行比較,那麼'IndexOf'會執行,否則可能需要循環。 – dcg
你認爲IndexOf是如何工作的?它也使用循環,你不喜歡**看到**循環。 –
@tanveerBadar Loop真的滯後:/ –