我正在尝试将字符串解析为小数,如果字符串中小数点后的数字超过 2 位,则解析应该失败。
例如:
1.25有效但1.256无效。
我尝试使用decimal.TryParseC# 中的方法按以下方式解决,但这没有帮助...
NumberFormatInfo nfi = new NumberFormatInfo();
nfi.NumberDecimalDigits = 2;
if (!decimal.TryParse(test, NumberStyles.AllowDecimalPoint, nfi, out s))
{
Console.WriteLine("Failed!");
return;
}
Console.WriteLine("Passed");
Run Code Online (Sandbox Code Playgroud)
有什么建议么?
我正在运行一个大量多线程的程序,并看到一些奇怪的行为.我将首先尝试解释一下架构.
应用程序基本上有一个大小为30的队列数组.数组中的每个队列都由一个线程处理.外部ome外部线程将根据id的mod继续将实体添加到队列数组中.
例如:如果实体id = 100,它将进入100%30 =第10队列
我面临的问题有时是将id = 100的实体添加到队列中,但处理线程将一个完全不同的实体出列,但属于同一个队列.Ë
例如:外部线程将实体id = 50排队,进入第20个队列,但线程出列,并且实体的id = 80
这只发生在生产环境中,无论如何都无法模拟.它很少发生,没有任何类型的触发器,如应用程序重启后.
我怀疑这可能会发生,因为我在排队/出队时没有使用任何锁定导致数据损坏.
想知道是否有人在此之前遇到过类似的问题,或者有任何建议可以避免这种情况.添加锁是前进的方法之一,但我想在确定之前确认问题的根源.