我有这个代码,有时只有一个字符串,有时有两个。基本上当它有两个字符串时,我希望能够选择第二个字符串,因为它正在选择列表中的第一个字符串。
这是我的代码:
List<string> workGroupIdStringValues = new List<string>();
workGroupIdStringValues = (List<string>)session["WorkGroupIds"];
List<Guid> workGroupIds = workGroupIdStringValues.ConvertAll<Guid>(workGroupIdStringValue => new Guid(workGroupIdStringValue));
因此“workGroupIdStringValues”有时会有第二个字符串,当有两个字符串时,如何选择第二个字符串而不是第一个字符串。是否有可能,如果是这样的话? 感谢
答案 0 :(得分:9)
使用LINQ的workGroupIdStringValues.Last()
丢弃除最后一个之外的所有字符串;如果只有一个字符串,它将正常工作。
更新:当然,您必须稍微调整代码:
var workGroupId = new Guid(((List<string>)session["WorkGroupIds"]).Last());
答案 1 :(得分:0)
怎么样
string workGroupIdStringValue = ((List<string>)session["WorkGroupIds"]).Last();
答案 2 :(得分:0)
有几种方法可以做到这一点,我认为最好是
workGroupIdStringValues.Count
将为您提供对象总数,
workGroupIdStringValues[1]
将返回列表中的第二个条目。
类似
if(workGroupIdStringValues.Count() > 1)
mystring = workGroupIdStringValues[1];
else
mystring = workGroupIdStringValues[0];
答案 3 :(得分:0)
而不是
List<Guid> workGroupIds = workGroupIdStringValues.ConvertAll<Guid>(workGroupIdStringValue => new Guid(workGroupIdStringValue));
您可以执行以下操作
Guid workGroupId = new Guid(workGroupIdStringValues[workGroupIdStringValues.Count-1]));