在c#中我需要比较本地文件中的2个数字,以及像Patcher这样的下载文件中的相互比较。
如果我使用的StreamReader C#伤心对我说,他不能转换成字符串INT。
有解决方案吗? 文件a包含值“1”,文件b包含值“2”
所以,如果b> a,则从另一个更新程序文件中下载新文件。
感谢
答案 0 :(得分:2)
如果这是文件中的唯一编号,您可以在多行文件中使用File.ReadAllText
(或File.ReadAllLines
)并转换为int
,如下所示:
string[] lines = File.ReadAllLines(@"c:\t.txt");
int number = Convert.ToInt32(lines[0]);
答案 1 :(得分:1)
尝试使用Convert.ToInt32方法。 如果您的文件只包含一个数字,则可以使用File.ReadAllLines方法,该方法由streamreader提供。
答案 2 :(得分:-1)
void CompareVersions()
{
WebClient client = new WebClient();
var serverVersion = client.DownloadString("http://yourwebsite.com/version.txt");
using (StreamReader sr = new StreamReader("file.txt"))
{
if (Convert.ToInt32(serverVersion) > Convert.ToInt32(sr.ReadLine()))
{
// server version bigger
}
else
{
// up to date
}
}
}