2015-06-22 102 views
0

我写的LINQ简单的查询到SQL:
如何在c#中的公共范围声明var数据类型?

var query = (from p in behzad.GAPERTitles 
         select new 
         { 
          p.id, 
          p.gaptitle 
         }).ToArray(); 


了代码到C#Windows应用程序,windows窗体加载事件,我想用起来效果到按钮单击事件在此范围内:

private void button1_Click(object sender, EventArgs e) 
     { 
       //using var query array in this scope for example string temp=query[i].id 
     } 


我该如何解决呢?

回答

4

声明为例如已知类型(而不是匿名类型),像这样:

Dictionary<int, string> results = new Dictionary<int, string>(); 

然后,你可以存储在字典的结果:

results = behzad.GAPERTitles.ToDictionary(x => x.id, x => x.gaptitle); 

后来引用它:

​​

如果结果的顺序很重要,那么字典将不起作用。您可以使用Tuple或创建一个班级:

List<Tuple<int, string>> results = new List<Tuple<int, string>>(); 

... 
results = behzad.GAPERTitles.Select(x => Tuple.Create(x.One, x.Two)).ToList(); 

... 
// use results, for example: 
// string id = results[i].Item1; string title = results[i].Item2;