1

これらすべてのクエリを単一のクエリとして実行したいだけです。

string[] arrs = new string[] { ".sds", ".pps", "tbt", "dd." };

string[] val= (from string i in arrs
               where !i.StartsWith(".")
               select "."+i).ToArray();

string[] val1 = (from i in arrs
                 where i.StartsWith(".")
                 select i).ToArray();

var p = val1.Union(val);//get value in single array.e
4

2 に答える 2

6
var p = (from s in arrs
         select s.StartsWith(".") ? s : "." + s).ToArray();

または非クエリ構文:

var p = arrs.Select(s => s.StartsWith(".") ? s : "." + s)
            .ToArray();

.Distinct()の場合のように重複したくない場合は、追加することをお勧めします{ "foo", ".foo" }

var p = arrs.Select(s => s.StartsWith(".") ? s : "." + s)
            .Distinct()
            .ToArray();
于 2012-09-06T05:18:09.560 に答える
0

のようなものはどうですか

var pp = arrs.Select(x => x.StartsWith(".") ? x : "." + x);
于 2012-09-06T05:20:26.367 に答える