나는 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();
문자열을 두 개의 열로 나눠야합니다. 두 번째 열을 숫자로 정렬 한 다음 해당 열을 순서대로 정렬합니다. 이 코드에서
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
목록은 하나의 데이터 필드입니다. 한 개의 문자열에 2 개의 열을 어떻게 저장하고 있습니까? –
hspain
각 문자열에는'ipaddress {spaces} percent'가 포함되어 있습니까? –
정보가 충분하지 않습니다. 열의 유형은 무엇입니까? SQL에서 오는 데이터입니까? Entity Framework를 사용하고 있습니까? 메모리 테이블에 있습니까? 탭으로 구분 된 텍스트에서 오는 것입니까? – JamieSee