-1
我正在打印序列號,它跳過2,儘管我僅增加了1個。 我有一個帶有靜態變量的TradeSequenceNo對象。 我假設a1和b2將有值1,2,但我看到它的值爲2,4。我怎樣才能確保我可以通過1每次只能得到增量我打電話TradeSequenceNo.NextSequanceNo序列號跳過2
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication1
{
public class TradeSequenceNo
{
private static int sequenceno;
public string id
{
get
{
return "NextTradeID";
}
}
public static int NextSequanceNo
{
get
{
sequenceno++;
return sequenceno;
}
}
}
public class Program
{
static void Main(string[] args)
{
int a1 = TradeSequenceNo.NextSequanceNo;
int b2 = TradeSequenceNo.NextSequanceNo;
}
}
}
您發佈的代碼的行爲與您的預期相同(a1 = 1和b2 = 2)。你必須有一些你沒有顯示的代碼會導致問題。 –
你不會碰巧在調試器中查看這些值,對嗎? –
如上所述,你的代碼工作正常。請發佈一個演示您所看到的行爲的示例。作爲旁白;吸氣劑屬性的副作用*是一個壞主意*。它應該是一種方法,而不是吸氣劑。一個主要的問題是@Dour指出的;只是在調試器中觀察該屬性會導致值發生變化。 – Rob