C# 从给定的数据表中获取数据(我想列出字典)

C# 从给定的数据表中获取数据(我想列出字典),c#,dictionary,datatable,C#,Dictionary,Datatable,这是给定的DataTable(实际的结构是可更改的,其列和行) 我想制作这种数据容器。有计划地 var English = new Dictionary<string, string>(); English.Add( "one", "" ); English.Add( "two", "" ); var Chinese = new Dictionary<string, string>(); C

这是给定的DataTable(实际的结构是可更改的,其列和行)

我想制作这种数据容器。有计划地

        var English = new Dictionary<string, string>();
        English.Add( "one", "" );
        English.Add( "two", "" );

        var Chinese = new Dictionary<string, string>();
        Chinese.Add( "one_c", "" );
        Chinese.Add( "two_c", "" );

        var Japanese = new Dictionary<string, string>();
        Japanese.Add( "one_j", "" );
        Japanese.Add( "two_j", "" );
var English=new Dictionary();
加上(“一”、“一”);
加上(两个“,”);
var Chinese=新字典();
加上"一",";;
加上"两个c,";;
var Japanese=新字典();
日语。加上(“one_j”,”);
日文。加上(“two_j”,”);
所以,我试过这样做。毫无收获

        var diclList = new List<Dictionary<string, string>>();
        foreach( DataColumn Lan in multiDic.Columns )
        {
            //var Lan.ColumnName = new Dictionary<string, string>();   //  not working..
            diclList.Add( new Dictionary<string, string>() );
        }

        foreach( DataRow line in multiDic.Rows )
        {
            int i = 0;
            foreach( var cell in line.ItemArray )
            {
                diclList[i].Add( cell.ToString(), "" );      //  not working..
                i++;
            }
        }
var diclist=new List();
foreach(多数据列中的数据列Lan)
{
//var Lan.ColumnName=new Dictionary();//不工作。。
添加(新字典());
}
foreach(多数据行中的数据行)
{
int i=0;
foreach(line.ItemArray中的变量单元格)
{
diclList[i].添加(cell.ToString(),“”);//不工作。。
i++;
}
}
请帮忙


谢谢。

字典应该有键和值。是否确实要将这些字典值设为空字符串?如果是这样,为什么不简单地将它们存储为哈希集呢?看起来您缺少的是DataTable中的一个键列。然后,每个字典都可以使用该键分别查找英语、汉语和日语的翻译,并且不会对任何一种语言有不同的对待。那样的话,使用字典是有意义的。谢谢。谢谢你的评论。有时,我不得不检查“是否有相同的食物”,Hastset会默默地吃相同的食物。我不喜欢它,尽管他们说它很快。数据表是“给定的”。就我而言,我只是在处理它。啊,在某些情况下(昨天,在并行循环中),哈希集工作不正常。我想这就是为什么。
        var diclList = new List<Dictionary<string, string>>();
        foreach( DataColumn Lan in multiDic.Columns )
        {
            //var Lan.ColumnName = new Dictionary<string, string>();   //  not working..
            diclList.Add( new Dictionary<string, string>() );
        }

        foreach( DataRow line in multiDic.Rows )
        {
            int i = 0;
            foreach( var cell in line.ItemArray )
            {
                diclList[i].Add( cell.ToString(), "" );      //  not working..
                i++;
            }
        }