setinde olup olmadığını Aşağıdaki koda sahibim. Çirkin görünüyor, eğer değer aşağıdaki değere eşitse, o zaman bir şeyler yapın.kontrol etmek için alternatif, bir değerin
var
Value: Word;
begin
Value := 30000;
if (Value = 30000) or (Value = 40000) or (Value = 1) then
do_something;
end;
ben şöyle kodu refactor istiyorum:
var
Value: Word;
begin
Value := 30000;
if (Value in [1, 30000, 40000]) then // Does not work
do_something;
end;
Ancak refactored kodu çalışmaz. Delphi'de geçerli bir kümenin yalnızca tip baytlı öğeleri kabul ettiğini varsayalım. Orijinal kodumu yeniden düzenlemek için iyi bir alternatif varsa (vakayı kullanmanın yanında)?
Teşekkürler, ama sorumu belirttiğim gibi başka bir alternatif istiyorum. Anahtarı kullanmanız nedeniyle ... böyle bir mantık için durum normal değil – stanleyxu2005
@ stanleyxu2005. Muhtemelen en verimli. Ve, bunun yanı sıra, böyle bir şey yazmaya başladığınızda, eğer [.] 'De bir değer [..]' da bir değer varsa, başka bir şey eklemeniz gerekebilir. blabla yapmak blablabla yapmak. Böyle bir durumda, durum bariz bir seçimdir. –
Bir gün bekledikten sonra cevap bekliyorum, kabul ediyorum ki ... durum en kabul edilebilir çözüm. – stanleyxu2005