作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我可以得到它作为一个字符串:
Assembly.GetExecutingAssembly().GetName().Version()
如何将此数字转换为 int?
8.0.0.1
8001
最佳答案
如果真的要做这种转换,至少应该为每个版本部分保留足够的位数。
Major、Minor 和 Revision 的两位数字和 Build 的四位数字:
var version = Assembly.GetExecutingAssembly().GetName().Version();
Debug.Assert(version.Major >= 0 && version.Major < 100)
Debug.Assert(version.Minor >= 0 && version.Minor < 100)
Debug.Assert(version.Build >= 0 && version.Build < 10000)
Debug.Assert(version.Revision >= 0 && version.Revision < 100)
long longVersion = version.Major * 100000000L +
version.Minor * 1000000L +
version.Build * 100L +
version.Revision;
int intVersion = (int) longVersion;
Debug.Assert((long)intVersion == longVersion)
请注意,对于某些异国情调的版本,此方法仍然会失败!
别想版本 21.47.4836.48 :)
编辑:添加断言。
关于c# - 如何在 C# 中获取作为整数的程序集版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/982152/
我是一名优秀的程序员,十分优秀!