Gereksiz değer atamasını kaldırma (IDE0059)
Özellik | Değer |
---|---|
Kural Kimliği | IDE0059 |
Başlık | Gereksiz değer atamasını kaldırma |
Kategori | Stil |
Alt kategori | Gereksiz kod kuralları (ifade düzeyi tercihleri) |
Geçerli diller | C# ve Visual Basic |
Seçenekler | csharp_style_unused_value_assignment_preference |
visual_basic_style_unused_value_assignment_preference |
Genel Bakış
Bu kural gereksiz değer atamalarına bayrak ekler. Örneğin:
// IDE0059: value written to 'v' is never
// read, so assignment to 'v' is unnecessary.
int v = Compute();
v = Compute2();
Bu ihlali düzeltmek için aşağıdaki eylemlerden birini gerçekleştirebilirsiniz:
Atamanın sağ tarafındaki ifadenin yan etkisi yoksa, ifadeyi veya atama deyiminin tamamını kaldırın. Bu, gereksiz hesaplamalardan kaçınarak performansı artırır.
int v = Compute2();
Atamanın sağ tarafındaki ifadenin yan etkileri varsa, atamanın sol tarafını at (yalnızca C# ) veya hiç kullanılmayan bir yerel değişkenle değiştirin. At, kullanılmayan bir değeri atma amacını açıkça göstererek kod netliğini artırır.
_ = Compute(); int v = Compute2();
Seçenekler
Bunun seçenekleri, atma veya kullanılmayan bir yerel değişkenin kullanımını tercih edip etmeyeceğini belirtir:
- C# - csharp_style_unused_value_assignment_preference
- Visual Basic - visual_basic_style_unused_value_assignment_preference
Seçenekleri yapılandırma hakkında bilgi için bkz . Seçenek biçimi.
csharp_style_unused_value_assignment_preference
Özellik | Değer | Açıklama |
---|---|---|
Seçenek adı | csharp_style_unused_value_assignment_preference | |
Geçerli diller | C# | |
Seçenek değerleri | discard_variable |
Kullanılmayan bir değer atarken atma kullanmayı tercih edin |
unused_local_variable |
Kullanılmayan bir değer atarken yerel değişken kullanmayı tercih edin | |
Varsayılan seçenek değeri | discard_variable |
// csharp_style_unused_value_assignment_preference = discard_variable
int GetCount(Dictionary<string, int> wordCount, string searchWord)
{
_ = wordCount.TryGetValue(searchWord, out var count);
return count;
}
// csharp_style_unused_value_assignment_preference = unused_local_variable
int GetCount(Dictionary<string, int> wordCount, string searchWord)
{
var unused = wordCount.TryGetValue(searchWord, out var count);
return count;
}
visual_basic_style_unused_value_assignment_preference
Özellik | Değer | Açıklama |
---|---|---|
Seçenek adı | visual_basic_style_unused_value_assignment_preference | |
Geçerli diller | Visual Basic | |
Seçenek değerleri | unused_local_variable |
Kullanılmayan bir değer atarken yerel değişken kullanmayı tercih edin |
Varsayılan seçenek değeri | unused_local_variable |
' visual_basic_style_unused_value_assignment_preference = unused_local_variable
Dim unused = Computation()
Uyarıyı gizleme
Yalnızca tek bir ihlali engellemek istiyorsanız, kuralı devre dışı bırakmak ve sonra yeniden etkinleştirmek için kaynak dosyanıza ön işlemci yönergeleri ekleyin.
#pragma warning disable IDE0059
// The code that's violating the rule is on this line.
#pragma warning restore IDE0059
Bir dosya, klasör veya projenin kuralını devre dışı bırakmak için, yapılandırma dosyasındaki önem derecesini none
olarak ayarlayın.
[*.{cs,vb}]
dotnet_diagnostic.IDE0059.severity = none
Kod stili kuralların tümünü devre dışı bırakmak için, kategorinin Style
none
önem derecesini yapılandırma dosyasında olarak ayarlayın.
[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none
Daha fazla bilgi için bkz . Kod analizi uyarılarını gizleme.
Özellik | Değer |
---|---|
Kural Kimliği | IDE0059 |
Başlık | Değer kullanılmadı |
Kategori | Stil |
Geçerli diller | F# |
Seçenekler | Hiçbiri |
Genel Bakış
Bu kural gereksiz değer atamalarına bayrak ekler. Örneğin, answer
aşağıdaki kod parçacığında kullanılmaz:
type T() =
let answer = 42