c# - 如何从数据列中获取数据

标签 c# asp.net .net asp.net-mvc ado.net

我正在对 DataTables 行的所有列执行 foreach。我想从特定的列中获取数据,但不知道该怎么做。见代码。

DataTable dt = mHandler.GetRegistrtationProgress(customer);
int column = 1;
foreach (DataColumn dc in dt.Columns)
{
    string hutt = dc.ToString();
    if (column == 11)
    {
        if (hutt.Equals("1"))
        {
            addSpecificPicture();   
        }
    }
    else
    {
        if (hutt.Equals("1"))
        {
            addPicture(column);
        }
    }
    column++;
}

当我运行这段代码时,我只能在列上获取名称,但必须有一个好的方法来获取值吗?还是不行?

最佳答案

不清楚您要实现的目标,但是如果您想为每一列检索唯一一行的值,那么您必须使用 dc.ColumnName 属性

DataTable dt = mHandler.GetRegistrtationProgress(customer);
foreach (DataColumn dc in dt.Columns)
{
     string hutt = dt.Rows[0][dc.ColumnName].ToString();
     ....

当然,您可以使用索引器简单地遍历行的列

DataRow row = dt.Rows[0];
for(int i = 0; i < dt.Columns.Count; i++)
{
     string hutt = row[i].ToString();

DataRow 对象中还有属性 ItemArray 的选项,其中数组的每个元素都包含相应的值

DataRow row = dt.Rows[0];
for(int i = 0; i < row.ItemArray.Length; i++)
{
     string hutt = row.ItemArray[i].ToString();
     ....

关于c# - 如何从数据列中获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22962678/

相关文章:

c# - 带有单词边界的正则表达式在 .NET Regex 中失败

asp.net - 默认情况下,我们可以让 Entity Framework Code First 创建除 LocalDB 之外的 SQL Server Express 数据库吗?

c# - 如何在 C# 和 ASP.NET MVC 中读/写 cookie

c# - 几个 .NET 类库对应用程序启动时间的影响

.net core - 工作单元通用存储库模式

c# - JSON 反序列化为对象失败

c# - 如何在xamarin forms android中更改工具栏后退图标

c# - 如何更改 app.config 的位置

c# - 如何将 ASP.NET MVC 中的 HTML <select> 多个属性的更新值插入到数据库?

.net - 我怎样才能制作一个类型安全的元素包,这些元素都实现了一个通用接口(interface)?