如何在字符串中添加点

Aka*_*ash 1 c# linq

我只想将所有这些查询作为单个查询运行.

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
Run Code Online (Sandbox Code Playgroud)

Las*_*olt 6

var p = (from s in arrs
         select s.StartsWith(".") ? s : "." + s).ToArray();
Run Code Online (Sandbox Code Playgroud)

或非查询语法:

var p = arrs.Select(s => s.StartsWith(".") ? s : "." + s)
            .ToArray();
Run Code Online (Sandbox Code Playgroud)

.Distinct()如果您不想要重复项,则可能需要添加{ "foo", ".foo" }.

var p = arrs.Select(s => s.StartsWith(".") ? s : "." + s)
            .Distinct()
            .ToArray();
Run Code Online (Sandbox Code Playgroud)