C'è in operatore in SQLC# analogico per SQL in operatore
SELECT * FROM MyTable WHERE id IN (1, 2, 3, 4, 5)
C'è simile sintassi in C#, voglio dire
if(variable in (1, 2, 3, 4, 5)){
}
C'è in operatore in SQLC# analogico per SQL in operatore
SELECT * FROM MyTable WHERE id IN (1, 2, 3, 4, 5)
C'è simile sintassi in C#, voglio dire
if(variable in (1, 2, 3, 4, 5)){
}
Non c'è una buona, ma si può scrivere se stessi come un metodo di estensione:
public static class Extensions
{
public static bool In<T>(this T value, params T[] items)
{
return items.Contains(value);
}
}
if (v.In(1,2,3,5)) { /* do stuff */ }
non ho ancora testato, ma dovrebbe essere bene.
AGGIORNAMENTO: Come suggerito da OP, ho corretto alcuni refusi.
wow, questo è davvero fresco ho corretto un po ' bool public static In
Grazie. Felice di aiutare. – pblasucci
Si può avere
int[] data = {1, 2, 3, 4, 5};
if(data.Contains(variable))
{
}
questo funziona davvero, ma in risposta il mio modesto parere di pblasucci è più elegante. –
Se utilizzando .NET 3.5 o successivo, è possibile utilizzare Contains
:
if (new[] { 1, 2, 3, 4, 5 }.Contains(variable))
{
// do something
}
new int[]{1,2,3,4,5}.Contains(variable)
È abbastanza facile mettere insieme un'estensione.
public static bool In<T>(this T value, params T[] items) where T : IEquatable<T>
{
foreach (var item in items)
{
if (value.Equals(item))
{
return true;
}
}
return false;
}
actualy la domanda è: qual è il modo più semplice per fare una cosa del genere –