CSV文件的“唯一ID” - 读写
问题描述:
我试图让我的程序将一个随机唯一编号写入CSV文件,我可以写入该文件,但我遇到了一些阅读/随机问题特征。CSV文件的“唯一ID” - 读写
它应该检查我的第二列(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");
}
}
需要一个随机和唯一的数字的意义或原因是什么? – Shoe
@Shoe它没有具体的理由被随机化,我只是喜欢这种方式,但它必须是唯一的数字,因为我使用它的一些PDF文档。 –
你每次创建'Random'类,默认情况下这个类使用系统时钟的种子,所以会得到很多相同的结果。创建一次并使用相同的实例 – dkozl