我有多个文本文件读入字符串数组。根据用户按下的按钮,富文本框中填充了数组中其中一个字符串的文本。
以下是正在设置的数组的代码。请注意,有更多的if / else语句执行相同的操作,但使用不同的文件,但我不想在这里浪费空间来放置它们。
namespace ModNote
{
public class backgroundProgram
{
public static int moduleNumber;
public static string[] noteArray;
public static string[] moduleArray = new string[7];
const string dataPath = @"Data\";
const string gamesPath = "CGP1005M.txt";
const string algorithmsPath = "CMP1124M.txt";
const string programmingPath = "CMP1127M.txt";
const string operatingPath = "CMP1005M.txt";
const string computerPath = "CMP1125M.txt";
const string webPath = "CMP1129M.txt";
const string informationPath = "CMP1123M.txt";
public backgroundProgram()
{
#region // Reading to the array
// Check the month file exists?
if (File.Exists(dataPath + gamesPath))
{
// Read in the month file.
moduleArray[0] = File.ReadAllText(dataPath + gamesPath);
}
else
}
}
不幸的是,当分配它们时,数组是空的,所以我在上面的代码中放了一个断点,并且这些行永远不会执行,我哪里出错?
请注意,根据用户在程序开头点击的按钮,“backgroundProgram.moduleNumber”的值将会改变。
namespace ModNote
{
public partial class moduleinfoScreen : Form
{
public moduleinfoScreen()
{
InitializeComponent();
Shown += moduleinfoScreen_Shown;
}
public void moduleinfoScreen_Shown(Object sender, EventArgs e)
{
switch (backgroundProgram.moduleNumber)
{
case 1:
moduleinfoTextbox.Text = backgroundProgram.moduleArray[0];
break;
case 2:
moduleinfoTextbox.Text = backgroundProgram.moduleArray[0];
break;
case 3:
moduleinfoTextbox.Text = backgroundProgram.moduleArray[0];
break;
case 4:
moduleinfoTextbox.Text = backgroundProgram.moduleArray[0];
break;
case 5:
moduleinfoTextbox.Text = backgroundProgram.moduleArray[0];
break;
case 6:
moduleinfoTextbox.Text = backgroundProgram.moduleArray[0];
break;
case 7:
moduleinfoTextbox.Text = backgroundProgram.moduleArray[0];
break;
default:
MessageBox.Show("Nope");
break;
}
}
为什么我的数组代码没有被执行的任何想法?
答案 0 :(得分:0)
问题很可能在于这一行:
if (File.Exists(dataPath + gamesPath))
即在Data \ CGP1005M.txt中查找文件。因为没有起始斜杠,所以它将查找当前路径中的文件。运行c#程序时,当前路径将是bin文件夹。
例如,如果您运行的项目位于c:\ project,它将尝试在c:\ project \ bin \ debug \ data \ CGP1005M.txt中查找文件。
考虑项目的位置,这些路径是否正确?