什么是TSQL';s”;IN”;操作人员有什么方法可以检查c#中的X、Y、Z中是否存在X
本文关键字:什么 检查 中的 存在 是否 TSQL IN 方法 操作 | 更新日期: 2023-09-27 18:22:38
有什么方法可以检查c#中的X,Y,Z
中是否存在X
?例如:
X=5;
我想检查X的值是否与任何逗号分隔的值匹配。。
if(x in (2,5,12,14)
new int[] { 2,5,12,14}.Contains(x);
List<int> list = new List<int> { 1, 2, 3, 4, 5 };
list.Contains(5);
您可以使用.Contains方法。例如listItems。包含(x)
C#中没有in
运算符,但您可以实现一个扩展方法来提高代码的可读性。
public static class Ext
{
public static bool In<T>(this T val, params T[] values) where T : struct
{
return values.Contains(val);
}
}
//usage: var exists = num.In(numbers);
Linq.Contains()
你在搜索什么
// Create List with three elements.
var list = new List<string>();
list.Add("cat");
list.Add("dog");
list.Add("moth");
// Search for this element.
if (list.Contains("dog"))
{
Console.WriteLine("dog was found");
}
有两种方法Linq.Contains()
方法和一种扩展Linq.Contains<int>
var list = new List<int>() { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
// Use extension method.
var stp = new Stopwatch();
stp.Start();
bool a = list.Contains<int>(7);
stp.Stop();
Console.WriteLine("Time in extenstion method {0}", stp.Elapsed);
stp.Restart();
// Use instance method.
bool b = list.Contains(7);
stp.Stop();
Console.WriteLine("Time in normal method {0}", stp.Elapsed);
性能基准:特定于List的版本,即列表类型定义中的
list.Contains(7);
,速度更快。我用两个Contains方法测试了相同的List。