1

文字列を含むリストが1つあります

List<string> valueList = new List<string>();

valueList.Add("test1");
valueList.Add("test2");
valueList.Add("test3");
valueList.Add("test4");
valueList.Add("test5");
valueList.Add("test6");
valueList.Add("test7");
valueList.Add("test8");

オブジェクトを含む別のリストがあります

List<test> fieldList = new List<test>();
fieldList.Add(new test() { FieldName = "field1", FieldType = 1, FieldIndex = 0 });
fieldList.Add(new test() { FieldName = "field3", FieldType = 1, FieldIndex = 2 });
fieldList.Add(new test() { FieldName = "field5", FieldType = 1, FieldIndex = 4 });

fieldList に含まれるオブジェクトの FieldIndex プロパティを使用したいので、次を使用して fieldIndex 値だけを含むリストを作成します。

var mylist = fieldList.Select(m => m.FieldIndex).ToList();

fieldindexしかし、今はそのリストを使用してから値を取得したいvaluelistので、上記に基づいてmyListtest1、test3、およびtest5が含まれ、理想的にはそれぞれの間にコンマがある文字列で終わることを望みます。string values = "test1,test3,test5"

linq を使用してこれを行う方法があるに違いないと確信していますが、その方法がわかりません!

何か案は?

ありがとう。

4

2 に答える 2

2
var result = String.Join(",", valueList
    .Where(vl => fieldList.Select(fl => fl.FieldIndex)
                          .Contains(valueList.IndexOf(vl))))
于 2013-11-15T01:44:39.537 に答える
0

解決策の一つ

 var mylist = fieldList.Select(m => m.FieldIndex).ToList();
 string str = string.Empty;
 mylist.ForEach((i) => str += valueList[i] + ",");
于 2013-11-15T01:49:22.623 に答える