只是想知道是否有任何方法檢查數值A是否等於數組中的任何值(不使用大循環函數) - 有點像「Where」函數。值等於數組中的任何值?
例如
if (DataRow[column1value] == <any value within>Array A[])
{
//do...
}
乾杯!
只是想知道是否有任何方法檢查數值A是否等於數組中的任何值(不使用大循環函數) - 有點像「Where」函數。值等於數組中的任何值?
例如
if (DataRow[column1value] == <any value within>Array A[])
{
//do...
}
乾杯!
在.NET 3.5或更高版本,使用LINQ:
bool found = yourArray.Contains(yourValue);
在早期版本的框架:
bool found = Array.IndexOf(yourArray, yourValue) > -1;
我喜歡你的答案比接受的更好,因爲它回答了各種版本的情況。 – 2009-11-30 17:05:14
+1同意Robert。這個問題在stackoverflow上有很大的要求,呃? – 2009-11-30 17:31:18
要改變...答案與先前選擇的答案相同,但也提供了其他版本的框架。好一個。 – 2009-12-01 12:08:25
if(myArray.Contains(A)){...}
這將使用'Enumerable.Contains'擴展方法。通常這是一個非常合適的解決方案,但它確實會導致相對較小的性能損失,因爲它通過「IEnumerable」工作。也可以使用'Array.IndexOf(array,value)> = 0',它只適用於數組,並且速度稍快。 – 2009-11-30 17:04:25
yourArray.Any(item => item != null && item.Equals(yourvalue));
'null'項目呢? – 2009-11-30 17:10:36
您可以嘗試Array.Contains
編輯。
對不起,THISIS我的意思
int[] array = new int[] { 1, 2, 3, 4, 5 };
if (array.Contains(5))
{
}
沒有'Array.Contains'。 – 2009-11-30 17:05:02
但有((ICollection)數組).Contains(...) – erikkallen 2009-11-30 17:24:10
如果我們正在討論純數組類型,這裏有IndexOf()
方法,它可以幫助您確定是否存在av Alue in it
我不知道C# - 但這看起來像它可能是你想要的:http://msdn.microsoft.com/en-us/library/system.collections.arraylist.contains.aspx – 2009-11-30 17:00:19