我需要从DataTable中检索一组“TOP n”行,其中表行按“列X”排序,但仅当行的“列X”值大于提供的比较时值。这就是我到目前为止所做的:
EnumerableRowCollection query = from history in dt.AsEnumerable()
where history.Field<string>("Column X") > "Value-To-Compare")
orderby history.Field("Column X")
select history;
但我继续获得“运营商”&gt;'不能应用于'string'和'string'“
类型的操作数有什么想法吗?
fuzzlog
答案 0 :(得分:0)
这会有用吗?
EnumerableRowCollection query = from history in dt.AsEnumerable()
where String.Compare(history.Field<string>("Column X"), "Value-To-Compare") > 0
orderby history.Field("Column X")
select history;
答案 1 :(得分:0)
伊恩,这就是诀窍,谢谢。
很抱歉在您提供解决方案后回答我的问题,但我需要提高您的答案,使其与原始请求100%匹配。
...检索一组“TOP n”号 行...
完整答案应如下所示:
EnumerableRowCollection query = (
from history in dt.AsEnumerable()
where String.Compare(history.Field<string>("Column X"), "Value-To-Compare") > 0
orderby history.Field("Column X")
select history
).Take(n);
其中“n”是“Top n”中指定的行数
再次感谢,
fuzzlog