小编Vig*_*esh的帖子

在 C# 中将字符串解析为十进制时无法限制小数位数

我正在尝试将字符串解析为小数,如果字符串中小数点后的数字超过 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)

有什么建议么?

.net c# parsing decimal

5
推荐指数
1
解决办法
2416
查看次数

队列有时会被破坏

我正在运行一个大量多线程的程序,并看到一些奇怪的行为.我将首先尝试解释一下架构.

应用程序基本上有一个大小为30的队列数组.数组中的每个队列都由一个线程处理.外部ome外部线程将根据id的mod继续将实体添加到队列数组中.

例如:如果实体id = 100,它将进入100%30 =第10队列

我面临的问题有时是将id = 100的实体添加到队列中,但处理线程将一个完全不同的实体出列,但属于同一个队列.Ë

例如:外部线程将实体id = 50排队,进入第20个队列,但线程出列,并且实体的id = 80

这只发生在生产环境中,无论如何都无法模拟.它很少发生,没有任何类型的触发器,如应用程序重启后.

我怀疑这可能会发生,因为我在排队/出队时没有使用任何锁定导致数据损坏.

想知道是否有人在此之前遇到过类似的问题,或者有任何建议可以避免这种情况.添加锁是前进的方法之一,但我想在确定之前确认问题的根源.

.net c# queue

2
推荐指数
1
解决办法
154
查看次数

标签 统计

.net ×2

c# ×2

decimal ×1

parsing ×1

queue ×1