0

このコードには、1 つの文字列だけが含まれる場合もあれば、2 つの文字列が含まれる場合もあります。基本的に、2 つの文字列がある場合、現時点ではリストの最初の文字列を選択しているため、2 番目の文字列を選択できるようにしたいと考えています。
これが私のコードです:

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

したがって、「workGroupIdStringValues」には 2 番目の文字列が含まれることがあります。2 つの文字列がある場合、最初の文字列ではなく 2 番目の文字列を選択するにはどうすればよいですか。それは可能ですか?
ありがとう

4

4 に答える 4

9

LINQ を使用workGroupIdStringValues.Last()して、最後の文字列以外のすべての文字列を破棄します。文字列が 1 つしかない場合は問題なく動作します。

更新:そしてもちろん、コードを多少調整する必要があります:

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

これを行うにはいくつかの方法がありますが、最善の方法は

workGroupIdStringValues.Countオブジェクトの合計量が表示され、

workGroupIdStringValues[1]リストの2番目のエントリを返します。

だから何かのような

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 に答える
0

どうですか

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