cuốn sách gpt4 ai đã làm

Xóa các mục từ điển bằng biểu thức chính quy

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-03 18:42:42 26 4
mua khóa gpt4 Nike

Tôi đang cố xóa một mục khỏi từ điển (lưu ý: bối cảnh mảng kết hợp). Việc xóa được dựa trên một số nhất định. Bất kỳ số lượng khóa nào cũng có thể chứa số này cộng với văn bản bổ sung. Những gì tôi đang làm hiện tại là...

var results = từ kết quả trong CGlobals.orders.Keys
trong đó Regex.IsMatch(result, cmbJobNum.Text + "*")
chọn kết quả;

foreach (chuỗi kết quả trong kết quả)
CGlobals.orders.Remove(kết quả);

Tôi nhận được ngoại lệ hoạt động không hợp lệ cho biết bộ sưu tập đã được sửa đổi. Tôi đang làm gì sai ở đây và làm cách nào để khắc phục nó?

câu trả lời hay nhất

Vấn đề là việc thực thi bị trì hoãn trong LINQ. Sử dụng cái này:

var results = (từ kết quả trong CGlobals.orders.Keys
trong đó Regex.IsMatch(result, cmbJobNum.Text + "*")
chọn kết quả).ToList();

foreach (chuỗi kết quả trong kết quả)
CGlobals.orders.Remove(kết quả);

解释:
Tính năng thực thi hoãn lại trong LINQ không thực hiện truy vấn ở nơi bạn xác định nó mà chỉ khi bạn liệt kê nó, tức là. foreach đang lưu hành. Điều này có nghĩa là bạn đang lặp đi lặp lại CGlobals.orders.Keys enum trong khi xóa một mục khỏi từ điển, mục này sẽ cập nhật khóa enum.

Về C# - xóa các mục từ điển bằng biểu thức chính quy, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/7322610/

26 4 0
không gian vũ trụ
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress