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