-1

我必须用 C# Form 编写一个程序,它必须从文件中加载一个 ID 号和一个由 20 个字母组成的 ADN,无论输出必须是这样的:

//编辑:我会尝试更好地解释它;这是一个 C# Form 程序,它必须从一个城镇(文件)加载 20 个人及其 ADN、ID 号和姓名,之后我必须从一个文件中加载一个没有姓名或 ID 号的 ADN(这是凶手;程序是一个 CSI 游戏,你有一个有 20 人的小镇,有人谋杀,我必须找到他)然后我必须将单个 ADN 与所有 20 个 ADNS 进行比较,我必须找到一个百分比,然后找到凶手..

1;A;A;A;A;A;A;A;A;A;A;A;A;A;A;A;A;A;A;A;A

2;A;A;A;A;A;A;A;A;A;A;A;A;A;A;A;A;A;A;A;A;A

3;A;A;A;A;A;A;A;A;A;A;A;A;A;A;A;A;A;A;A;A ... 该文件有 20 行。

到目前为止我已经尝试过了,但是..它不起作用

 using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    using System.IO;

    namespace CSI_Marconi_FORM
    {
        public partial class DNAabitanti : Form
        {
            public DNAabitanti()
            {
                InitializeComponent();
            }

            private void DNAabitanti_Load(object sender, EventArgs e)
            {
                StreamReader reader = new StreamReader(@"\\Repo\Studenti$\Informatica\SezCi\4Ci\Corneliu.Cotet\Documenti\Visual Studio 2012\Projects\CSI Marconi FORM\CSI Marconi FORM\bin\Debug\DNAabitanti.txt");
                reader = File.OpenText(@"\\Repo\Studenti$\Informatica\SezCi\4Ci\Corneliu.Cotet\Documenti\Visual Studio 2012\Projects\CSI Marconi FORM\CSI Marconi FORM\bin\Debug\DNAabitanti.txt");
                FormPrincipale.utenti = File.ReadAllLines(@"\\Repo\Studenti$\Informatica\SezCi\4Ci\Corneliu.Cotet\Documenti\Visual Studio 2012\Projects\CSI Marconi FORM\CSI Marconi FORM\bin\Debug\DNAabitanti.txt").Length;
                string abitanti = reader.ReadToEnd();                          
                richTextBox1.Text = abitanti;                        
                reader.Close();
                FormPrincipale.database = new FormPrincipale.Persona[FormPrincipale.utenti];
                FormPrincipale.corrispondenze = new int [FormPrincipale.utenti];

                for (int i = 0; i < FormPrincipale.utenti; i++)
                {
                    string letto = "";
                    letto = reader.ReadToEnd();
                    string[] aus = letto.Split(new char[] { ';' });
                    FormPrincipale.database[i].dna = new string[20];

                    for (int j = 0; j < 22; j++)
                    {
                        if (j < 20)
                        {
                            FormPrincipale.database[i].dna[j] = aus[j];
                        }

                        if (j == 20)
                        {
                            FormPrincipale.database[i].nome = aus[j];
                        }

                        if (j == 21)
                        {
                            FormPrincipale.database[i].cognome = aus[j];
                        }

                    }              

                }


            }
        }
    }
4

2 回答 2

0

在没有看到您的代码的情况下,请尝试以下操作:

var myArray = myFileContents.Split(new char [] { '\n' });
于 2013-10-29T10:17:46.700 回答
0

尝试这个 :

您必须首先用空格替换所有';',然后在第一个数字之后用':'进行个别更改。这将以正确的格式替换整个字符串。

string line;

System.IO.StreamReader file = new System.IO.StreamReader(@"d:\\textFile.txt");

while ((line = file.ReadLine()) != null)
{
    string output = "";
    //replacing all ';' with space
    output = line.Replace(";", " ");
    StringBuilder sb = new StringBuilder(output);
    //replacing character after number with ':'
    sb[1] = ':';
    output = sb.ToString();
    MessageBox.Show(output);
}

file.Close();
于 2013-10-29T10:24:49.930 回答