相关疑难解决方法(0)

如何检查IEnumerable是空还是空?

我爱string.IsNullOrEmpty方法.我很想拥有能够为IEnumerable提供相同功能的东西.有这样的吗?也许一些收集助手班?我问的原因是,在if语句中,如果模式是代码,代码看起来很混乱(mylist != null && mylist.Any()).拥有它会更加清洁Foo.IsAny(myList).

这篇文章没有给出答案:IEnumerable是空的?.

.net c# linq collections ienumerable

144
推荐指数
9
解决办法
18万
查看次数

检查C#中的列表是否为空

我有一个从数据库填充的对象列表.如果列表为空,我需要显示错误消息,否则显示网格视图.

如何List<T>在C#中检查a 是否为空?

c# gridview list isnullorempty

100
推荐指数
6
解决办法
29万
查看次数

IsNullOrEmpty等效于Array?C#

.NET库中是否有一个函数返回true或false,表示数组是null还是空?(类似于string.IsNullOrEmpty).

我在string.IsNullOrEmpty课堂上看了一下像这样的功能但看不到任何东西.

var a = new string[]{};
string[] b = null;
var c = new string[]{"hello"};

IsNullOrEmpty(a); //returns true
IsNullOrEmpty(b); //returns true
IsNullOrEmpty(c); //returns false
Run Code Online (Sandbox Code Playgroud)

c# arrays

40
推荐指数
5
解决办法
6万
查看次数

C#空传播运算符/条件访问表达式&if块

空传播运营商/条件接入表达在未来看起来像一个非常方便的功能.但我很好奇它是否有助于解决检查子成员是否为null然后在if块内的所述子成员上调用布尔方法的问题:

  public class Container<int>{
       IEnumerable<int> Objects {get;set;}
  }

  public Container BuildContainer()
  { 
      var c = new Container();

      if (/* Some Random Condition */)
         c.Objects = new List<int>{1,2,4};
  }

  public void Test()
  {
      var c = BuildContainer();

      //Old way
      if ( null != c && null != c.Objects && c.Objects.Any())
         Console.Write("Container has items!");


      //C# 6 way?
      if (c?.Object?.Any())
          Console.Write("Container has items!");
  }
Run Code Online (Sandbox Code Playgroud)

c?.Object?.Any()编译吗?如果传播运算符短路(我认为这是正确的术语)为null,那么你有if (null),这是无效的.

C#团队是否会解决这个问题,或者我是否错过了null传播运算符的预期用例?

c# null language-features c#-6.0

19
推荐指数
2
解决办法
2万
查看次数

检查变量是空还是空的正确方法

我有以下代码,我的同事告诉我这是不正确的,如果我的变量为null将崩溃:

List<FSKUser> users = null;

if (users == null || users.Count() == 0)
{
   return false;
}
Run Code Online (Sandbox Code Playgroud)

显然这=null只是为了测试目的.但是,当我运行此代码时,它正确运行并返回false.

我正在检查一种安全正确的检查方式吗?

c# null

3
推荐指数
1
解决办法
1359
查看次数