theo dõi

Gần nhất :

Tags

Thống kê câu hỏi

Chuyên mục : Lập trình
Topic : C#
Hỏi lúc:
Lượt xem: 2,346

Cái gì trong C# tương đương với toán tử "IN" trong SQL? Các cách để kiểm tra X tồn tại trong X, Y, Z trong C# là gì?

Trần Minh Hào Trần Minh Hào
 02  01  00
02 bình chọn hữu ích bởi Lý Hải My Phan Diệp Anh

Các cách để kiểm tra X tồn tại trong X, Y, Z trong C# là gì?

X=5;

Tôi muốn kiểm tra xem giá trị của X phù hợp với bất kỳ giá trị nào được tách bởi dấu phẩy như bên dưới thì trong C# sẽ làm như thế nào. Ví dụ

if(x in (2,5,12,14))
2,346 xem 05 theo dõi 02 hữu ích hỏi –

Bạn biết ai đó có thể trả lời câu hỏi này?. Bạn có thể giúp đỡ bằng cách tìm những người giỏi nhất:

user user user user user

Trần Tuấn Hải Trần Tuấn Hải
 01  00  01
01 bình chọn hữu ích bởi Hồ Minh Toàn

Rất đơn giản:

new int[] { 2,5,12,14}.Contains(x);
2,062 xem 01 hữu ích trả lời –
Ngô An Bình Ngô An Bình
 00  00  01

Linq.Contains() là những gì bạn đang tìm kiếm

// Tạo 1 list.
var list = new List<string>();
list.Add("cat");
list.Add("dog");
list.Add("moth");

// Tìm kiếm 1 yếu tố.
if (list.Contains("dog"))
{
    Console.WriteLine("đã tìm thấy dog");
}

Có hai phương thức Linq.Contains() và một mở rộng Linq.Contains<int>:

var list = new List<int>() { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
// Dùng phương thức mở rộng.

var stp = new Stopwatch();
stp.Start();
bool a = list.Contains<int>(7);
stp.Stop();
Console.WriteLine("Thời gian trong phương thức mở rộng: {0}", stp.Elapsed);

stp.Restart();
// Dùng phương thức bình thường.
bool b = list.Contains(7);
stp.Stop();
Console.WriteLine("Thời gian trong phương thức bình thường {0}", stp.Elapsed);

Về hiệu suất thực thi: Tôi thấy list.Contains(7) tìm thấy kết quả nhanh hơn, khi so sánh 2 phương thức

2,059 xem 00 hữu ích trả lời –
Lê Tiến Hiệp Lê Tiến Hiệp
 00  00  01
List<int> list = new List<int> { 1, 2, 3, 4, 5 };
list.Contains(5);
2,061 xem 00 hữu ích trả lời –