-2
編輯:用繩子檢查版本的C#
簡單的例子,我要如何檢查:
我有一個string
包含: 「0101」。
我要檢查如果string
至少0101或更高版本,而無需將其轉換爲int
,因爲這將改變我的string
到:101
編輯:
回答是這樣的:
private void VersionCheck(string version)
{
string firmwareVersion = version.Substring(0, 4);
string biosVersion = version.Substring(4, 4);
var isEqualOrHigherFirmwareVersion = string.Compare(firmwareVersion, Settings.MinimalFirmwareUnikon, CultureInfo.InvariantCulture, CompareOptions.None) >= 0;
if (!isEqualOrHigherFirmwareVersion)
{
_serial.ClosePortConnection();
DisplayLog("CLOCK: Firmware NOT OK : Unsupported version");
MessageBox.Show("Unsupported clock Firmware!", "Firmware", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
else
{
DisplayLog("CLOCK: Firmware OK : v" + firmwareVersion.ToString());
}
var isEqualOrHigherBiosVersion = string.Compare(biosVersion, `Settings.MinimalBiosUnikon, CultureInfo.InvariantCulture, CompareOptions.None) >= 0;`
if (!isEqualOrHigherBiosVersion)
{
_serial.ClosePortConnection();
DisplayLog("CLOCK: BIOS NOT OK : Unsupported version");
MessageBox.Show("Unsupported clock BIOS version!", "BIOS", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
else
{
DisplayLog("CLOCK: BIOS OK : v" + biosVersion.ToString());
}
}
sampleVersion有5個字符而不是8個。 – 2013-03-11 12:52:46
不,它只是一個樣本,我怎樣才能檢查一個字符串中的數字是否至少是一個x數?沒有把它轉換成int – Max 2013-03-11 12:53:22
'int parsed; var isParsed = int.TryParse(sampleVersion,out parsed); if(isParsed)return parsed <= x;返回false;' – publicgk 2013-03-11 12:54:24