簡単な質問:
コレクションを反復処理して文字列ビルダーを使用してJSON文字列を作成しています(そうです、これを行うにはおそらくもっと賢い方法がありますが、linqをデバッグすると頭痛の種になります)。配列を作成するときは、各項目の後にコンマを付ける必要があります。
現在、foreachで各行が処理される前にintをインクリメントすることでこれを行っています。また、intがコレクション内の行数と一致する場合は、コンマを追加しません。
StringBuilder bob = new StringBuilder();
int i = 0;
foreach(Item m in Rows){
i++;
bob.Append(string.Format("{{ foo: '{0}', bar: '{1}' }}", m.foo, m.bar));
bob.Append(i == Rows.Count() ? "" : ",")
}
現在のオブジェクトがコレクションの最後であるかどうかを判断するためのよりスマートな方法があるかどうか疑問に思っていますか?
アップデート:
答えた。良い答えがたくさんあったので、1つしか選べないのは本当に残念です。特に、マシュー・ワトソンの答えは、おそらく私が最初に探していたものに最も近いものでした。これが最後のアイテムであるかどうかをコレクションに直接尋ねる方法です。ただし、他のすべての回答を確認した結果、String.Joinの方が優れていると判断し、foreachをLinqに置き換える方が再び優れていると判断しました。みなさん、ありがとうございました!