如何忽略字段并将忽略的字段设置为函数中的全局变量



我有这段代码来组合 2 个不同的 csv 文件。

try
{
    var jobStartLine = File.OpenText(PackAuftrag).ReadLine();
    var comparisonField = jobStartLine.Split(';')[4];
    foreach (var line in File.ReadAllLines(BoxData))
    {
        var fields = line.Split(new char[] {';'}, 2);
        if (comparisonField == fields[0])
        {
            File.WriteAllLines(JobStart, 
                               new string[] {jobStartLine + ";" + fields[1]});
            break;
        }
    }
}

我的盒子数据 = data1;data2;data3;data4;data5

目前,data2 到 data5 正在进入 JobStart 文件。

Data5 不应包含在 JobStart 文件中。

我想将 data5 设置为全局变量。

我怎么能做到这一点,我只是想不通,需要帮助。

这有助于理解我的问题:如何比较 2 个.csv文件并创建一个包含两个 csv 文件中零件的新.csv?

var foo = string.Empty;
try
{
    var jobStartLine = File.OpenText(PackAuftrag).ReadLine();
    var comparisonField = jobStartLine.Split(';')[4];
    foreach (var line in File.ReadAllLines(BoxData))
    {
        var fields = line.Split(new char[] {';'}, 5).ToList();
        foo = fields[4];
        fields.RemoveAt(4);
        if (comparisonField == fields[0])
        {
            File.WriteAllLines(JobStart, 
                           new string[] {jobStartLine + ";" + String.Join(';', fields.ToArray())});
            break;
        }
    }
}

这有点解决了我所理解的你的问题。

以下是我解决问题的方式:

  if (File.Exists(JobStart))
        {
            File.Delete(JobStart);
        }
        try
        {
            var jobStartLine = File.OpenText(PackAuftrag).ReadLine();
            var comparisonField = jobStartLine.Split(';')[4];
         foreach (var line in File.ReadAllLines(BoxData))
            {
                var fields = line.Split(new char[] { ';' }, 2);

                if (comparisonField == fields[0])
                {
                    string string2write = "";
                    string2write += JobName + ',';
                    string2write += jobStartLine.Split(';')[0] + ',';
                    string2write += jobStartLine.Split(';')[1] + ',';
                    string2write += jobStartLine.Split(';')[2] + ',';
                    string2write += jobStartLine.Split(';')[3] + ',';
                    string2write += jobStartLine.Split(';')[5] + ',';
                    string2write += line.Split(';')[1] + ',';
                    string2write += line.Split(';')[2] + ',';
                    string2write += line.Split(';')[3] + ',';
                    string2write += line.Split(';')[4] + ',';
                    string2write += line.Split(';')[5] + ',';
                    string2write += line.Split(';')[6];
                    PrinterSelected = line.Split(';')[7];
                    FileStream fst = new FileStream(JobStart, FileMode.Create, FileAccess.Write);
                    StreamWriter stw = new StreamWriter(fst, Encoding.Default);
                    stw.Write(string2write);
                    stw.Dispose();
                    stw.Close();
//                        File.WriteAllLines(JobStart, new string[] { jobStartLine + ";" + fields[1]});

                    break;
                }

相关内容

  • 没有找到相关文章

最新更新