是否有可读的方法将数百万的数据放入c#代码中?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了是否有可读的方法将数百万的数据放入c#代码中?相关的知识,希望对你有一定的参考价值。
这有点难以阅读:
int x = 100000000;
有没有简单的方法来写:
int x = 100,000,000;
这样的规模是显而易见的吗?
请注意,这不是关于输出的格式。
有没有简单的方法来写
100,000,000
不可以。不可能将逗号放在数字中。
逗号和其他类似的东西用于演示目的。如果您担心代码可读性,则要么声明常量,如MILLION
,TEN_MILLIONS
等,或者只是将变量命名为value来表示值。
从C#7开始,您将能够使用下划线字符_
来分隔数字组。下划线可以放在数字中的任何位置。一个简单的例子:
const int MILLION = 1_000_000;
你可以将_
放在你想要的任何地方,甚至可以将它与整数文字结合起来:
const int USHORT_MAX = 0xFF_FF;
甚至在浮点数和小数位之后,即使在十进制符号之后:
const decimal SMALL_VALUE = 0.000_000_001;
不幸的是,你的int
声明中没有逗号。可能是在代码开头添加类似内容的最佳方法:
const int oneMillion = 1000000;
然后设置int x = oneMillion;
如果你想让int y
等于200万,那么就设置int y = 2 * oneMillion;
这是最佳实践(根据我的经验)。
这有帮助吗?
编辑:
对于更精细的整数,您可以尝试这样的事情:
const int thousand = 1000;
const int million = 1000000;
int x = 1 * million
+ 233 * thousand
+ 456;
它不是最漂亮的,但它可能适合您的可读性需求。它也不会像Int32.Parse("100,000,000");
那样影响性能
int x = Int32.Parse("100,000,000", System.Globalization.NumberStyles.Number);
我想,这是否更具可读性是个人偏好。
如果目的是帮助读者理解代码,那么代码注释可能是适当的,例如,
int number = 1000000; //1,000,000
如果您认为科学记数法更容易阅读,您可以尝试
int number = 1 * 10^6;
要么
int number = (int) 1E+6;
像这样的常量是在编译时计算的,不会影响性能。
你可以为你的号码创建自己的类,就像这样。
public class MyNumber
{
long? _myValue = null;
public MyNumber(string amount)
{
long result = 0;
if (long.TryParse(amount.Replace(",", ""), out result))
{
_myValue = result;
}
else
_myValue = 0;
}
public bool HasValue()
{
if (_myValue.HasValue) return true;
return false;
}
public long Value()
{
if (this.HasValue())
{
return _myValue.Value;
}
else
{
return 0;
}
}
}
然后你就可以这样称呼它。
MyNumber myValue = new MyNumber("9,999,100");
if (myValue.HasValue())
MessageBox.Show("Value Is " + myValue.Value().ToString());
以上是关于是否有可读的方法将数百万的数据放入c#代码中?的主要内容,如果未能解决你的问题,请参考以下文章