C#List,删除*last非null元素后的所有空值*

Fre*_*man 2 .net c# linq list winforms

我有一个字符串列表,例如(C#):

new List<string> { "string1", null, null "string2", "string3", null, null, null }
Run Code Online (Sandbox Code Playgroud)

我有很多这些,都有不同数量的字符串和空值,其中每个可以在不同的位置,列表长度对于每个列表不相同,也不一定是字符串列表.

如何删除最后一个字符串之后的剩余空值,在最后一个非空值之后,保留前面和前面的空值?

谢谢!

/弗里德曼

Ash*_*ani 6

检查从最后一项到开头的列表,并删除空值,直到达到非空值:

List<string> list = new List<string> { "string1", null, null "string2", "string3", null, null, null };

for(int i=list.Count - 1; i>=0; i--)
{
     if(list[i]==null) list.RemoveAt(i);
     else break;
}
Run Code Online (Sandbox Code Playgroud)