亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何檢查版本號是否是兩個版本號之間的版本

如何檢查版本號是否是兩個版本號之間的版本

C#
HUWWW 2022-11-22 16:17:50
我正在做一個與 TFS 自動化相關的不太瘋狂的項目。最近我討論了如何以及什么是最有效的方法來檢查我的版本號(主要、次要、HF、構建)- VersionToCheck 是否已在版本 SourceVersion 和 TargetVersion 之間發布。結果,我們完成了非常瘋狂的算法:cv - 要檢查的版本sv - 源版本電視 - 目標版本if(c1.Major >= sv.Major and <= tv.Major) { //... 檢查次要部分和其余部分 } else { return false; }結果,我們應該得到 true/false 內部版本號在這兩個版本之間。為了讓它更難,我們沒有像 0001.0002.0003 這樣的重復數字,所以替換和比較兩個整數是行不通的:)任何提示表示贊賞。好的,說得更清楚。例如,我想檢查版本 1.0.44.4736 是否介于版本 1.0.44.11 和 1.1.0.5 之間。
查看完整描述

1 回答

?
慕桂英3389331

TA貢獻2036條經驗 獲得超8個贊

最簡單的方法是使用Version類——其他人已經為您編寫了邏輯。


var c1 = new Version(major, minor, build, revision);

var sv = new Version(major, minor, build, revision);

var tv = new Version(major, minor, build, revision);


if (c1 >= sv && c1 <= tv) ....

以你的具體例子為例


好的,說得更清楚。例如,我想檢查版本 1.0.44.4736 是否介于版本 1.0.44.11 和 1.1.0.5 之間。


var c1 = new Version(1, 0, 44, 4736);

var sv = new Version(1, 0, 44, 11);

var tv = new Version(1, 1, 0, 5);

if (c1 >= sv && c1 <= tv)

{

    Console.WriteLine(c1 + " is between " + sv + " and " + tv); 

}

在這里運行。


如果你真的想自己實現這個......


public static int Compare(Version x, Version y)

{

    int result = x.Major.CompareTo(y.Major);

    if (result != 0)

        return result;

    result = x.Minor.CompareTo(y.Minor);

    if (result != 0)

        return result;

    result = x.Build.CompareTo(y.Build);

    if (result != 0)

        return result;

    result = x.Revision.CompareTo(y.Revision);

    return result;

}

然后


if (Compare(c1, sv) >= 0 && Compare(c1, tv) <= 0) ...


查看完整回答
反對 回復 2022-11-22
  • 1 回答
  • 0 關注
  • 96 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號