我們在代碼以下循環:C#的關鍵字樣的變量
foreach (var event in events)
{
...
{
cources我們不能說出變量「事件」,因爲它是一個關鍵字。哪種方式更適合這種情況:使用@prefix(@event)還是使用其他名稱,如「currentEvent」?
我們在代碼以下循環:C#的關鍵字樣的變量
foreach (var event in events)
{
...
{
cources我們不能說出變量「事件」,因爲它是一個關鍵字。哪種方式更適合這種情況:使用@prefix(@event)還是使用其他名稱,如「currentEvent」?
絕對使用其他名稱。
關鍵字變量是C#的一個非常酷的功能,但它們應該用於互操作性。
因爲@
前綴非常罕見,所以可能會讓其他開發人員感到困惑。我建議在這裏使用另一個變量名稱。
當名稱是公共接口的一部分時,它是不同的。在這種情況下,即使它是關鍵字,也要使用正確的名稱。但是,如果你這樣做,你會讓那些想使用你的界面的人很難,因爲他們必須在任何地方使用@
。
就我個人而言,我會建議根據其上下文和它代表的內容命名它。如果它表示要執行的事件,我可能會將其命名爲executableEvent
,作爲示例。或者,如果您只是在本地使用它來調用每個事件 - 例如 - 給它一個縮寫版本的名稱(如evt
)可能是可以接受的。通常我會投票反對這種命名慣例,但如果它只是暫時的,當地的其他人可能會認爲它很好。
我個人不喜歡使用@和_作爲前綴,只是爲了能夠使用關鍵字。我認爲,在大多數情況下,你可以將其重命名,或者:
foreach (var uiEvent in uiEvents)
{
...
{
(更具體)
或
foreach (var evt in events)
{
...
{
(某種速記)
是的,避免'@'。它被用作其他地方的前綴,可能會混淆人。我;我忽略了一個元音:'foreach(var evnt in events)' – BaBu
我會通常使用前綴@
反衝。 (我有時用它來命名擴展方法中的第一個參數@this
,但即使這也很罕見。)
看看您是否可以想到任何其他描述事件的方式。例如,是否是特定的種類的事件?
我會用e
,_event
或currentEvent
我真的勸你不要使用@
所以你要選擇另一個名稱。就像有人說的,你可以輸入你的名字到一個更具體的事件類型
我個人將其重構爲更具描述性,但如果我正在做像P/Invoke綁定之類的東西,並且一個參數被稱爲'event',爲了與原始方法保持一致,我將使它成爲'@ event'。 –