我有一個字符串列表...格式化字符串用逗號分隔並格式化
var strings = new List<String>() { "a", "b", "c" };
我想輸出它們以不同的格式,例如:
「A」, 'b', 'C'
我已經試過:
string.Join("','",strings);
和
String.Join(",", String.Format("'{0}'",strings)
我有一個字符串列表...格式化字符串用逗號分隔並格式化
var strings = new List<String>() { "a", "b", "c" };
我想輸出它們以不同的格式,例如:
「A」, 'b', 'C'
我已經試過:
string.Join("','",strings);
和
String.Join(",", String.Format("'{0}'",strings)
你的第一次嘗試應該工作,但是你需要前綴和後綴"'"
的整體效果。
或者,你可以這樣做:
var strings = new List<string>() { "a", "b", "c" }
.Select(x => string.Format("'{0}'", x));
var result = string.Join(",", strings);
另一種選擇是使用StringBuilder
代替,
var strings = new List<string>() { "a", "b", "c" };
var builder = new StringBuilder();
foreach (var s in strings)
{
builder.AppendFormat(",'{0}'", s);
}
var result = builder.ToString().Trim(",");
在這種情況下,我建議你在LINQ方法爲它的簡單,但不要」如果您真正的問題更復雜,請排除StringBuilder
,因爲它可以更清楚地顯示每個單獨項目格式的意圖。
使用StringBuilder
格式化每個項目的內容,然後使用LINQ構建逗號分隔列表的混合方法可以很好地工作。
你的第二次嘗試非常接近。試試這個:
string.Join(",", strings.Select(s => $"'{s}'"))
如何:
String.Join(",", strings.Select(s => String.Format("'{0}'", s)));
這是我嘗試:)
var result = "'" + string.Join("','", strings) + "'";
或
var result = string.Format("'{0}'", string.Join("','", strings));
using System.Linq;
var result=strings.Select(x=> "'" + x + "'").Aggregate((x, y) => x + "," + y );
or
var result=string.Format("'{0}'", string.Join("','", strings));
or
var result="'" + string.Join("','", strings) + "'";
你的第一次嘗試應該工作。錯誤/錯誤輸出是什麼? –