将多个十六进制值转换为以逗号分隔的十进制

问题描述 投票:0回答:1

我正在分析具有多个列和行的csv文件。

我从csv文件中提取特定数据并将数据导入datagridview。我想从每行上的多个十六进制值(用逗号分隔)的列中提取数据,并将所有值从十六进制转换为整数,并将它们放入datagridview。我遇到的问题是我不知道如何将所有值从十六进制转换为整数并将它们放在datagridview中。我只能转换第一个值并将该单个值放入datagridview。前(500)

如果我不转换任何值,我可以将列的行中的所有值放入datagridview。 ex(1F4,96,3D4,14A)

// converting the first value on each row and placing to datagridview
rawData = line.Split('"')[5];
firstValData = rawData.Split(',').First();
int datatoHex = Convert.ToInt32(firstValData, 16);
allRow["Data"] = datatoHex;

Construct.MainDataTable.Rows.Add(allRow);
dataGridView1.DataSource = Construct.MainDataTable;

//I attempted to do this but doesnt work
rawData = line.Split('"')[5];
allValData = rawData.Split(',').All();
int datatoHex = Convert.ToInt32(allValData, 16);
allRow["Data"] = datatoHex;

Construct.MainDataTable.Rows.Add(allRow);
dataGridView1.DataSource = Construct.MainDataTable;
c# linq integer hex decimal
1个回答
0
投票

尝试这样的事情:

rawData = line.Split('"')[5];
var valDatas = rawData.Split(',').Select(s=> Convert.ToInt32(s, 16));

foreach(int val in valDatas)
{
   //whatever you want to do 
}
© www.soinside.com 2019 - 2024. All rights reserved.