CSV文件“唯一ID” - 读写

时间:2014-02-15 22:24:07

标签: c# csv unique-key

我正在尝试让我的程序将随机化的唯一编号写入CSV文件,我可以写入该文件,但我在阅读/随机化功能方面存在一些问题。

它应检查我的第二列(1),以获取OR号。如果存在,则保持随机化,如果不存在,则在CSV文件中写入新行。

长话短说:如何将我的字符串(OR)与列值进行比较?

public string OR = string.Empty;

private void randomize()
{
    int Number;
    Random r = new Random();
    Number = r.Next(1, 5);
    OR = Convert.ToString(Number);
}
private void button2_Click(object sender, EventArgs e)
{
    randomize();

    var reader = new StreamReader(File.OpenRead("Database.csv"));
    List<string> listA = new List<string>();
    List<string> listB = new List<string>();
    var line = reader.ReadLine();
    var values = line.Split(',');

    // Keep randomizing until a new number has been found
        while (!reader.EndOfStream && values[1].ToString() == OR)
        {
            randomize();
            MessageBox.Show( OR + " WHILE");
        }
    // Write if number doesn't equal to a existing one
        if (values[1].ToString() != OR)
        {
            label1.Text = OR;
            MessageBox.Show( OR + " IF");
            //reader.Close();
            //reader.Dispose();
            //writeTo();
        }

}

public void writeTo()
{
    using (StreamWriter sw = new StreamWriter("Database.csv", true))
    {
        sw.WriteLine("hey" + "," + OR + "," + "test");
    }
}

1 个答案:

答案 0 :(得分:0)

我真的不明白你的问题,我会用i + 1作为它最纯粹形式的唯一性,但可能你有充分的理由所以这里有一个你可能想要使用的片段:

Guid.NewGuid().ToString()