Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 检查对象是否为泛型集合_C#_Collections_Type Equivalence - Fatal编程技术网

C# 检查对象是否为泛型集合

C# 检查对象是否为泛型集合,c#,collections,type-equivalence,C#,Collections,Type Equivalence,我们正在动态地构建一些SQL语句,并利用IN运算符。如果我们的价值是价值的集合,那么: List<Guid> guids = new List<Guid>() 检查值是否为IEnumerable,如下所示: if (value is IEnumerable) 当传入字符串时(这种情况非常经常发生:)会下降。验证这种情况的最佳方法是什么?如何: if(value .GetType().IsGenericType && value is IEnumerab

我们正在动态地构建一些SQL语句,并利用IN运算符。如果我们的价值是价值的集合,那么:

List<Guid> guids = new List<Guid>()
检查值是否为IEnumerable,如下所示:

if (value is IEnumerable)
当传入字符串时(这种情况非常经常发生:)会下降。验证这种情况的最佳方法是什么?

如何:

if(value .GetType().IsGenericType && value is IEnumerable)

您可以结合检查IEnumerable来尝试
value.GetType().IsGenericType

如何:

value is IEnumerable<Guid>
值是IEnumerable

如果您希望使用Guid实例,那就更好了,不是吗?

请不要构建自己的sql。要么使用LINQ(我不喜欢),要么使用另一种机制。不重新部署应用程序进行小的查询更改不仅难以调试和维护,而且总是存在需要处理的sql注入问题。这不是一个选项:相信我,我会在心跳中使用Linq。
value is IEnumerable<Guid>