C# c Linq:用一些值替换空字符串

C# c Linq:用一些值替换空字符串,c#,linq,C#,Linq,我的名单如下: var myList = lookuplist; //where lookupList Count = 2 [0]: "36" [1]: "" 上面的列表基本上是通过解析我的excel文件来填充的。抱歉,之前的代码不相关,因此不显示该代码 我的问题是我想用空格更新空字符串。所以我尝试了下面的代码: myList .Where(w => w.Length == 0).Select(y=>y = " ").ToL

我的名单如下:

var myList = lookuplist;

//where lookupList
       Count = 2
          [0]: "36"
          [1]: ""
上面的列表基本上是通过解析我的excel文件来填充的。抱歉,之前的代码不相关,因此不显示该代码

我的问题是我想用空格更新空字符串。所以我尝试了下面的代码:

myList .Where(w => w.Length == 0).Select(y=>y = "  ").ToList();
但这并没有改变任何事情

我是不是遗漏了什么。我可以使用forach循环浏览我的列表,但我想使用linq


很抱歉,这很简单。

您必须将更新后的列表分配回原始变量。您可以这样做:

myList = myList.Select(y => string.IsNullOrEmpty(y) ? " " : y).ToList();

您必须将更新后的列表分配回原始变量。您可以这样做:

myList = myList.Select(y => string.IsNullOrEmpty(y) ? " " : y).ToList();

为什么您认为赋值局部变量会改变集合中的某些内容?是的,这不起作用,但即使不赋值并直接修改lookuplist,它也不起作用否您的代码就像字符串t=aa;字符串y=t;y=。。。gues什么。。。这仍然是aa为什么您认为赋值局部变量会改变集合中的某些内容?是的,这不起作用,但即使不赋值并直接修改lookuplist,它也不起作用否您的代码就像字符串t=aa;字符串y=t;y=。。。gues什么。。。它仍然是aa