我使用的是 Visual C# 2010 Express。我有一个像这样的 arr[100][2] 的字符串数组。这是我的 3 行代码
string FilePath = @"c:\data.txt";
var arrData = File.ReadLines(FilePath).Select(line => line.Split('\t')).ToArray();
dataGridView1.DataSource = arrData;
当我运行代码时,我在 DataGridView 控件中看到了 7 个列标题,而不是数组的内容:Length、LongLength、Rank、SyncRoot、IsReadOnly、IsFixedSize 和 IsSynchronized。这是什么?
不知何故,我显示的是数组的属性,而不是数组中实际包含的值。
我知道数组中有合法值,因为当我单步执行代码时,我可以清楚地看到内容(姓名和年龄)。我做错了什么?
最佳答案
首先尝试转换为“对象”列表。我创建了一个测试文件,名字、姓氏和年龄都用制表符分隔以进行测试:
string FilePath = @"c:\data.txt";
var arrData = File.ReadLines(FilePath).Select(line =>
line.Split('\t')).ToArray();
var query = from x in arrData
select new { FirstName = x[0], LastName = x[1], Age = x[2] };
dataGridView1.DataSource = query.ToList();
我认为您的尝试很容易出错。我会考虑首先将文件转换为实际的对象列表。
关于c# - 在 C# 中,如何将数组绑定(bind)到 DataGridView 以便显示数组中的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12303735/