"Text1"、 "Text2"、新しいUndefinedInfo( "Undfined1")、新しいUndefinedInfo( "Undfined2")、新しいUndefinedInfo( "Undefined3")のリストがあります。 、 "テキスト3"分割オブジェクトタイプに基づくオブジェクトのリスト
は、私は以下のように出力を必要とする:
出力 //一覧> 0 - テキスト1、テキスト2 1 - Undefined1、Undefined2、Undefined3 2 - テキスト3
私が書くために管理しました下の機能は悪いですが、何とかうまく機能しています。 TakeWhileやSkipWhileなどのLINQ拡張機能を使用するか、yieldを使用して同じことを達成する方法はありますか?すべてのヘルプ高く評価:
public static List<List<object>> PartitionByTypes(List<object> values)
{
List<List<object>> partitionedList = new List<List<object>>();
int j;
for (int i = 0; i < values.Count; i++)
{
j = i;
List<object> subList = new List<object>();
Type t = values[j].GetType();
do
{
subList.Add(values[j]);
j++;
if (j == values.Count)
{
break;
}
} while (values[j].GetType() == t);
partitionedList.Add(subList);
i = j - 1;
}
return partitionedList;
}
はこれを試してみてください())。ToArray()); – jdweng
私は最後にpartitionedListを埋めています。あなたのソリューションはどのように機能しますか?サンプルの入力と出力を提供できますか? – Abhay
あなたの出力はCSV文字列です(各配列項目はコンマで区切られています)。私のコードは、各項目を文字列に変換し、文字列JOINメソッドを使用して各項目間にコンマを入れてリストを列挙しています。 partitionListの代わりに値を使うべきです。 – jdweng