私は以下のコードを持っています:
List<string> aa = (from char c in source
select new { Data = c.ToString() }).ToList();
しかし、どうですか
List<string> aa = (from char c1 in source
from char c2 in source
select new { Data = string.Concat(c1, ".", c2)).ToList<string>();
コンパイル中にエラーが発生する
タイプ
'System.Collections.Generic.List<AnonymousType#1>'
を'System.Collections.Generic.List<string>'
に暗黙的に変換できません
助けが必要。
IEnumerable<string> e = (from char c in source
select new { Data = c.ToString() }).Select(t = > t.Data);
// or
IEnumerable<string> e = from char c in source
select c.ToString();
// or
IEnumerable<string> e = source.Select(c = > c.ToString());
その後、ToList()
を呼び出すことができます。
List<string> l = (from char c in source
select new { Data = c.ToString() }).Select(t = > t.Data).ToList();
// or
List<string> l = (from char c in source
select c.ToString()).ToList();
// or
List<string> l = source.Select(c = > c.ToString()).ToList();
List<string>
にしたい場合は、匿名型を取り除き、.ToList()
呼び出しを追加します。
List<string> list = (from char c in source
select c.ToString()).ToList();
試してみる
var lst= (from char c in source select c.ToString()).ToList();
"abcd"
のような文字列としてソースがあり、次のようなリストを作成したい場合:
{ "a.a" },
{ "b.b" },
{ "c.c" },
{ "d.d" }
次に呼び出します:
List<string> list = source.Select(c => String.Concat(c, ".", c)).ToList();
答えは以下だと思います
List<string> aa = (from char c in source
select c.ToString() ).ToList();
List<string> aa2 = (from char c1 in source
from char c2 in source
select string.Concat(c1, ".", c2)).ToList();