c# - 将一维数组拆分为 2 个数组

标签 c# mysql database

抱歉没有提前说清楚,这对我来说有点难以描述。 现在我在数据管理方面遇到了一些问题。我在数据库中有一个用于图形数据的字符串。

f0||Title Text||f1||Subtitle Text||f2||Option 1||f3||Option 2

现在,我可以使用这个“||”查询数据并将上面显示的字符串拆分为一维数组分隔器。截至目前,代码如下。

MySQLHandler handler = new MySQLHandler(this.text_DataIP.Text.ToString());
        List<string>[] data = handler.SelectCG("graphics", text_CGBuffer.Text.ToString());
        string x = data[2][0].ToString();
        string[] y = x.Split(new string[] { "||" }, StringSplitOptions.None);
        // For each string in the new string array, lets separate them into their own strings for adding to the DataSet
        for (int n = 0; n < y.Length; )

        DataSet dataset = new DataSet();
        DataTable table = dataset.Tables.Add();
        table.Columns.Add("fieldid");
        table.Columns.Add("values");

缺少的是对于数组中的每个其他字符串,它将交替将数据添加到 DataTable 的代码。例如,“f0、f1、f2、f3”将进入“fieldid”列,其他字符串将进入值列。

我正在考虑做一个 for 循环,但我不知道这是否是最有效的方法。什么会更有效?我将如何实现这一目标?

最佳答案

这是我测试过的一个例子。我认为这对你有用:

string x = "f0||Title Text||f1||Subtitle Text||f2||Option 1||f3||Option 2";
string[] y = x.Split(new string[] { "||" }, StringSplitOptions.None);

DataSet ds = new DataSet();
DataTable dt = ds.Tables.Add();
List<object> rowvalues = new List<object>(); //to hold the row values

//Loop through 2 at a time,  
for (int n = 0; n < y.Length; n = n + 2) 
{
    dt.Columns.Add(y[n]); //add the column
    rowvalues.Add(y[n + 1]); //and save the value
}

//Create the row
var dr = dt.NewRow();
//Set the row values
dr.ItemArray = rowvalues.ToArray();

关于c# - 将一维数组拆分为 2 个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37770229/

相关文章:

c# - LINQ to Entity Framework 多对多预加载问题

mysql - 如何从 RDS Mysql 存储过程写入/读取 S3 存储桶文件

mysql - MySQL Workbench 中的列标志 "G"是什么意思

python - 为 Django 中创建的每个新对象分配了错误的 id

mysql - 将数据从 excel 表存储到 ror 中的 db

ios - 批量获取 Realm

mysql - 在对数据进行建模时,对每年添加的每个用户增长 1000 倍的表进行建模的最佳方法是什么?

c# - WPF : PdfDocument not rendering

c# - UDP 套接字监听器未接收到数据

c# - 为什么 Enumerable.Cast 引发 InvalidCastException?