2017-02-12 1 views
0

これを解決するには、助けが必要です。 これを解決するためにコンソールアプリケーションを使用しましたが、私は立ち往生していません。同じグループのC#リストの行をカウントし、他のプロパティのint値として設定します

ORDERの各行は、同じGROUP-VALUEのグループ内で一意の値を持つ必要があります。グループ内のORDERの最大値は行数-1でなければならず、最小値は0でなければなりません。ソートは重要ではありません。

最小値と最大値の間のユニーク値であればよい。

例:または041532

ID GROUP VALUE ORDER 
1 1  10  0 
2 1  2  0 
3 2  1  0 
4 3  2  0 
5 3  6  0 
6 3  1  0 
7 3  9  0 

グループ1が2(-1)行を有する、ORDER値は0~1でなければなりません。
GROUP 2は1(-1)の行を持ち、ORDER値は0でなければなりません。
GROUP 3は4(-1)の行を持ち、ORDER値は0-3です。

最終結果:ここで

ID GROUP VALUE ORDER 
1 1  10  0 
2 1  2  1 
3 2  1  0 
4 3  2  0 
5 3  6  1 
6 3  1  3 
7 3  9  2 

は、私が使用しているプロパティです。

public class OrderRow 
{ 
    public int ID { get; set; } 
    public int GROUP { get; set; } 
    public int VALUE { get; set; } 
    public int ORDER { get; set; } 
} 

      new OrderRow {ID = 1, GROUP = 1, VALUE = 10, ORDER = 0}, 
      new OrderRow {ID = 2, GROUP = 1, VALUE = 2, ORDER = 0}, 
      new OrderRow {ID = 3, GROUP = 2, VALUE = 1, ORDER = 0}, 
      new OrderRow {ID = 4, GROUP = 3, VALUE = 2, ORDER = 0}, 
      new OrderRow {ID = 5, GROUP = 3, VALUE = 6, ORDER = 0}, 
      new OrderRow {ID = 6, GROUP = 3, VALUE = 1, ORDER = 0}, 
      new OrderRow {ID = 7, GROUP = 3, VALUE = 9, ORDER = 0}, 

THANKS

答えて

0

私は、次のように行きたい:

 List<OrderRow> orders = new List<OrderRow>() { 
      new OrderRow { ID = 1, GROUP = 1, VALUE = 10, ORDER = 0 }, 
      new OrderRow { ID = 2, GROUP = 1, VALUE = 2, ORDER = 0 }, 
      new OrderRow { ID = 3, GROUP = 2, VALUE = 1, ORDER = 0 }, 
      new OrderRow { ID = 4, GROUP = 3, VALUE = 2, ORDER = 0 }, 
      new OrderRow { ID = 5, GROUP = 3, VALUE = 6, ORDER = 0 }, 
      new OrderRow { ID = 6, GROUP = 3, VALUE = 1, ORDER = 0 }, 
      new OrderRow { ID = 7, GROUP = 3, VALUE = 9, ORDER = 0 }, 
     }; 

     foreach (var item in orders.GroupBy(order => order.GROUP)) 
     { 
      int order = 0; 
      foreach (var item2 in item) 
      { 
       item2.ORDER = order++; 
      } 
     } 
+0

ありがとうございました!! :) @ user3598756 –

+0

あなたは大歓迎です。私の答えがあなたの質問を解決したら、それを受け入れることができます!ありがとうございました – user3598756

関連する問題