をフォーマットする...再フォーマット文字列カンマ区切りと私は文字列のリストを持っている
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を使用してコンマ区切りのリストを作成するハイブリッドアプローチはうまくいく可能性があります。ここで
あなたは2度目の試みにかなり近かった。これを試してみてください:
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) + "'";
あなたの最初の試みは動作するはずです。エラー/不良出力は何ですか? –