private async Task <int> UpdateHosts(string uri, string path, string regex, bool fastStart) { // 获取远程HostsData string remoteHostsString = await Hosts.DownloadHostsStringAsync(uri); HostsData remoteData = Hosts.GetHostsData(remoteHostsString, _regexString); int result = 1; if (!fastStart) { // 获取本地HostsData string localHostsString = File.ReadAllText(path); HostsData localData = Hosts.GetHostsData(localHostsString, regex); result = remoteData.Equals(localData); } if (result is 1) { File.WriteAllText(path, remoteHostsString); Settings.Default.FastStart = _isFastStart = false; Settings.Default.Save(); } return(result); }
/// <summary> /// 对比传入实例,并返回一个指示是早于、等于还是晚于传入实例的整数。 /// </summary> /// <param name="other">传入的实例</param> /// <returns></returns> public int Equals(HostsData other) { return(DateTime.Compare(HostsTime, other.HostsTime)); }