C# 数据未在Linq中排序
我得到了这个C# 数据未在Linq中排序,c#,linq,C#,Linq,我得到了这个sqlScripts=error CS0103:名称“sqlScripts”在当前上下文中不存在 var sqlScripts = tc.Input.SqlScript; sqlScripts = sqlScripts.OrderBy(x => x.Priority).ToList(); 在这里,我从JSON文件读取数据: "SqlScript": [ { "ScriptName": "/Stat
sqlScripts=error CS0103:名称“sqlScripts”在当前上下文中不存在
var sqlScripts = tc.Input.SqlScript;
sqlScripts = sqlScripts.OrderBy(x => x.Priority).ToList();
在这里,我从JSON文件读取数据:
"SqlScript": [
{
"ScriptName": "/StaticScripts/Test_002.sql",
"Priority": 1
},
{
"ScriptName": "/SqlScripts/Test_002.sql",
"Priority": 2
}
],
SqlScript中的数据是正常的,尽管它没有对列表排序,但我不明白为什么
public class ScriptPriority
{
public string ScriptName { get; set; }
public int Priority { get; set; }
}
并将数据设置为:
publicslistsqlscript{get;set;}
,它从JSON获取值。有什么建议吗?通过查看JSON,模型将如下所示。我用过
您订购的是字符串而不是数字。所以字符串顺序是1,10100,2,20200,3,4,5,6,7,8,9,不应该按优先级排序数据吗?那我该换什么,看不见。对不起,你的帖子把我弄糊涂了。我得到了这个sqlScripts=error CS0103:“你从哪里得到这个错误?“数据在SqlScript中是正常的,尽管它没有对列表排序,但我不明白为什么。”数据如何正常?这是什么意思?实际订购结果是什么?你的问题让人非常困惑。很抱歉,我一点也听不懂。首先,不要在StackOverflow问题中使用
var
。我不知道什么类型的sqlScripts
。其次,您引用的错误是编译时错误。这与订购无关。
public class Root
{
public List<SqlScript> SqlScript { get; set; }
}
public class SqlScript
{
public string ScriptName { get; set; }
public int Priority { get; set; }
}
var json = File.ReadAllText(jsonfile);
var output = JsonConvert.DeserializeObject<Root>(json);
var result = output.SqlScript.OrderBy(x => x.Priority);