私は2列のIPテーブルを持っています:IPと% IP precentに従ってこのテーブルをソートする最良の方法は何ですか?テーブルをソートする方法は?
テーブルタイプ:
public List<string> statistics()
{
}
私は2列のIPテーブルを持っています:IPと% IP precentに従ってこのテーブルをソートする最良の方法は何ですか?テーブルをソートする方法は?
テーブルタイプ:
public List<string> statistics()
{
}
あなたIpAddress
列を想定すると、文字列で、あなただけ(あなたの質問が曖昧であるため、仮定の多くの)割合の降順でソートし、その列の値が欲しいです:
List<string> ips = IpTable.OrderByDescending(x=> x.Percentage)
.Select(x=> x.IpAddress)
.ToList();
文字列を2つの列に分割する必要があります2番目の列を数値にしてから、その列を順序付けます。このコードで
return from line in statistics
let split = line.Split('\t', '%')
let percentage = double.Parse(split[1])
orderby percentage
select line;
、あなたはあなたのラインのそれぞれに持っていると私は同様にインデックスを作成しています列を置き換えるどんな文字(複数可)によって分割文字を交換する必要がありますが、残りはとして動作するはずですあなたが必要です。
私はこれをタイプした後、私は選択行にエラーを受け取りました。暗黙的に 'System.Collections.Generic.IEnumerable
最後に.ToList()を追加します結果をリストに割り当てる。 :) – Ani
.ToList()の後に同じエラーが発生する – user979033
私はあなたのリスト内のすべてのエントリが文字列だと思う - ちょうど次のことを無視しない場合は...
あなたが最初に別の形式にこれを解析する必要が - これが本当であれば知っているが、私はそこにはないと思います
:Ipとのとあなたのパーセントの間のタブ(「\ tは」)あなたが
var stringTupleList =
myList.Select(s => s.Split('\t'))
.Select(ar => new { Ip = ar[0], PercentString = ar[1] });
のような何かをすることから始めることができるようにこれはあなたの匿名型のリストを与えるとBrokenGlassが答えのように続行することができ、あります
var stringTupleList =
myList.Select(s => s.Split('\t'))
.Select(ar => new { Ip = ar[0], PercentString = ar[1] })
.OrderByDescending(t => t.PercentString)
.Select(t => t.Ip)
.ToList();
テーブルタイプがList
の場合、テーブルではなく、文字列のリストです。 – BrokenGlass
リストは1つのデータフィールドにすぎません。 1列に2列をどのように格納していますか? –
hspain
各文字列に 'ipaddress {spaces} percent'も含まれていますか? –
ここに情報が不十分です。あなたの列のタイプは何ですか?データはSQLから来ていますか? Entity Frameworkを使用していますか?これは記憶表の中にありますか?これはタブで区切られたテキストから来ていますか? – JamieSee