C# 为While循环内的动态变量赋值

C# 为While循环内的动态变量赋值,c#,C#,我正在做一个应用程序,它将读取一个文件并解析该文件执行的所有脚本名。 我希望能够将每个脚本名称固定在不同的变量中,这样一旦程序读取完第一个文件,他就可以读取存储在我的第一个动态变量中的第二个文件。因为当我找到要执行的脚本名时,我正在逐行读取一个文件,所以我会将它显示在richtextbox中,但如何将它添加到动态变量中呢 范例 执行的第一个文件包含: blablabla @Exec=test.sqi blablabla @Exec=test2.sqi 在文件读取结束时,我希望能够有如下变量:

我正在做一个应用程序,它将读取一个文件并解析该文件执行的所有脚本名。 我希望能够将每个脚本名称固定在不同的变量中,这样一旦程序读取完第一个文件,他就可以读取存储在我的第一个动态变量中的第二个文件。因为当我找到要执行的脚本名时,我正在逐行读取一个文件,所以我会将它显示在richtextbox中,但如何将它添加到动态变量中呢

范例 执行的第一个文件包含:

blablabla
@Exec=test.sqi
blablabla
@Exec=test2.sqi
在文件读取结束时,我希望能够有如下变量: ScriptName1=test.sqi ScriptName2=test2.sqi

 while ((Line = file.ReadLine()) != null)
        {

            if (Line.Contains(FirstString))
            {

                int Pos1 = Line.IndexOf(FirstString) + FirstString.Length;
                int Pos2 = Line.IndexOf(LastString);
                FinalString = Line.Substring(Pos1, Pos2 - Pos1);
                FinalStringTrimed = FinalString.Trim('(',')');
                Extension = FinalStringTrimed.Substring(0,3);
                Extension = "." + Extension ;
                FileName = FinalStringTrimed.Substring(4, FinalStringTrimed.Length - 4);
                FullFileName = FileName + Extension;

                richTextBoxProcess.AppendText(FullFileName);
                richTextBoxProcess.AppendText(Environment.NewLine);

                MessageBox.Show(FullFileName);    

            }


            counter++;
        }

        file.Close();

    }

谢谢你的帮助

为此创建简单数组或更好的
列表
,如下所示:

List<string> Scripts = new List<string>();
Scripts.Add("firstScriptName");
Scripts.Add("secondScriptName");
Scripts.Add("thirdScripName");
List Scripts=newlist();
添加(“firstScriptName”);
脚本。添加(“secondScriptName”);
Scripts.Add(“thirdScripName”);

您可以像
Scripts[0]
那样访问它以获得
firsScriptName
,或者使用
foreach(脚本中的字符串s)
对其进行刺激,或者将其转换为简单数组,如
string[]arrayScripts=Scripts.ToArray()
创建简单数组或更好的
列表,如下所示:

List<string> Scripts = new List<string>();
Scripts.Add("firstScriptName");
Scripts.Add("secondScriptName");
Scripts.Add("thirdScripName");
List Scripts=newlist();
添加(“firstScriptName”);
脚本。添加(“secondScriptName”);
Scripts.Add(“thirdScripName”);
您可以像
Scripts[0]
那样访问它,或使用
foreach(脚本中的字符串s)
对其进行刺激,或将其转换为简单数组,如
string[]arraysscripts=Scripts.ToArray()
var counter=1;
var scriptName=“scriptName”;
var dict=新字典();
而((Line=file.ReadLine())!=null)
{
var cols=Line.Split('=');
如果(列长度<2){
继续;
}
var值=cols[1];
dict[string.Format(“{0}{1}”,脚本名,计数器)]=值;
计数器++;
}
foreach(dict中的var键值){
WriteLine(string.Format(“{0}{1}”,keyValue.Key,keyValue.Value));
}
var计数器=1;
var scriptName=“scriptName”;
var dict=新字典();
而((Line=file.ReadLine())!=null)
{
var cols=Line.Split('=');
如果(列长度<2){
继续;
}
var值=cols[1];
dict[string.Format(“{0}{1}”,脚本名,计数器)]=值;
计数器++;
}
foreach(dict中的var键值){
WriteLine(string.Format(“{0}{1}”,keyValue.Key,keyValue.Value));
}

谢谢,它工作正常,但是我还有一个问题,也许你可以告诉我,我正在浏览的第二个文件是HTML文件,它看起来像是If Contains()方法不适用于解析此文件,当我尝试使用另一种类型的文件(如SQL)时,它工作正常。知道为什么吗?感谢我需要使用HTML解析器,但我将再次阅读感谢它工作正常,但我有另一个问题,也许你可以指导我正在查看的第二个文件是HTML文件当我尝试使用另一种类型的文件(如SQL)时,If Contains()方法似乎无法解析此文件。它工作得很好。知道为什么吗?谢谢,就像我需要使用HTML解析器一样,我将再次阅读,谢谢