SQL の In 句の様な事を VB/C# で(ジェネリック編)
元ネタ:SQL の In 句の様な事を VB/C# で
……ただ単に String → T 化しただけですが。
VB
Imports System.Runtime.CompilerServices Module GenericExtensions <Extension()> _ Public Function [In](Of T)(ByVal str As T, ParamArray ByVal params As T()) As Boolean Return params.Contains(str) End Function End Module Module Foo Sub Main() Dim data1 As String = "peach" If data1.In("banana", "melon", "peach") Then Console.WriteLine("見つかったヨ!") Else Console.WriteLine("入ってないヨ!") End If Dim data2 As Integer = 50 If data2.In(4, 7, 9, 64) Then Console.WriteLine("見つかったヨ!") Else Console.WriteLine("入ってないヨ!") End If End Sub End Module
C#
using System; using System.Linq; public static class GenericExtensions { public static bool In<T>(this T str, params T[] param) { return param.Contains(str); } } class Foo { static void Main() { var data1 = "peach"; if (data1.In("banana", "melon", "peach")) { Console.WriteLine("見つかったヨ!"); } else { Console.WriteLine("入ってないヨ!"); } var data2 = 50; if (data2.In(4, 7, 9, 64)) { Console.WriteLine("見つかったヨ!"); } else { Console.WriteLine("入ってないヨ!"); } } }