2017-04-26 128 views
0

我想用下面的代码返回使用SQLite数据库的一些值:如何获取变量的名称?

public Dictionary<string, string> GetRegistry() 
    { 
     var table = this.connection.Table<Registry>(); 
     Dictionary<string, string> RegistryItems = new Dictionary<string, string>(); 

     foreach (var item in table) 
     { 

     } 
    } 

鉴于var item表示SQL表项,所以说item.Age将是一个年龄等。我希望能够返回一个字典,我可以做这样的事情:

Dictionary registry = this.GetRegistry(); 
int myAge = registry["Age"]; 

我应该foreach子句中做才能让这种情况发生? 在此先感谢!

+0

我认为你可以做'nameof(item.Age)'获得“时代”了。但有些东西告诉我列名应该已经在你的对象中了... – PoweredByOrange

+0

你想循环遍历表的每一列? – Jason

+0

是的,我不能做nameof(item.Age),因为它的一个循环,列的名称是动态的 – miko

回答

0

鉴于表意味着SQL表,你可以这样做:如果您使用C#6

public Dictionary<string, string> GetRegistry() 
     { 


      var table = this.connection.Table<Registry>(); 
      Dictionary<string, string> RegistryItems = new Dictionary<string, string>(); 

      var ages = table.Select(X => x.Name == "Age").ToList(); 

     }