0

我有这段代码,它有时只有一个字符串,有时有两个。基本上,当它有两个字符串时,我希望能够选择第二个字符串,因为此时它正在选择列表中的第一个字符串。
这是我的代码:

List<string> workGroupIdStringValues = new List<string>();
workGroupIdStringValues = (List<string>)session["WorkGroupIds"];
List<Guid> workGroupIds = workGroupIdStringValues.ConvertAll<Guid>(workGroupIdStringValue => new Guid(workGroupIdStringValue));

所以“workGroupIdStringValues”有时会有第二个字符串,当有两个字符串时如何选择第二个而不是第一个。有可能吗,如果可以的话怎么办?
谢谢

4

4 回答 4

9

使用 LINQworkGroupIdStringValues.Last()丢弃除最后一个字符串之外的所有字符串;如果只有一个字符串就可以正常工作。

更新:当然,您必须对代码进行一些调整:

var workGroupId = new Guid(((List<string>)session["WorkGroupIds"]).Last());
于 2012-10-29T10:16:20.093 回答
0

怎么样

string workGroupIdStringValue = ((List<string>)session["WorkGroupIds"]).Last();
于 2012-10-29T10:17:37.347 回答
0

有几种方法可以做到这一点,我认为最好是这样做

workGroupIdStringValues.Count会给你对象的总量,和

workGroupIdStringValues[1]将返回列表中的第二个条目。

所以像

if(workGroupIdStringValues.Count() > 1)
     mystring = workGroupIdStringValues[1];
else
     mystring = workGroupIdStringValues[0];
于 2012-10-29T10:18:51.320 回答
0

代替

List<Guid> workGroupIds = workGroupIdStringValues.ConvertAll<Guid>(workGroupIdStringValue => new Guid(workGroupIdStringValue));

您可以执行以下操作

Guid workGroupId = new Guid(workGroupIdStringValues[workGroupIdStringValues.Count-1]));
于 2012-10-29T10:21:15.040 回答