Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 11 kết quả

Đề tài: Set value cho KeyValuePair<string,string>

  1. #1
    Ngày gia nhập
    02 2011
    Bài viết
    36

    Mặc định Set value cho KeyValuePair<string,string>

    Xin chào các bạn. Mình đang sử dụng KeyValuePair nhưng có một lỗi mà mình kg sửa được. Nhờ các bạn giúp đỡ. Đoạn code bôi đỏ là mình muốn chèn giá trị vào value. Nhưng nó kg thực hiện được.
    Các bạn có biết cách nào khắc phục xin chỉ giáo. (Vì mình biết trong KeyValuePair thì property Value chỉ cho get kg cho set).
    private void AddToList(string key, string value, ref List<KeyValuePair<string, string>> lstDes)
    {
    KeyValuePair<string, string>[] arr = lstDes.ToArray();
    if (!value.Equals(""))
    {
    for (int i = 0; i < arr.Length; i++)
    {
    if (arr[i].Key.Equals(key))
    {
    if (arr[i].Value.Equals(""))
    {
    arr[i].Value.Insert(0, value);
    }
    else
    {
    arr[i].Value.Replace(arr[i].Value, value);
    }
    }
    }
    lstDes = arr.ToList();
    }
    }

  2. #2
    Ngày gia nhập
    08 2011
    Nơi ở
    Hà Nội | http://ipmac.vn
    Bài viết
    198

    Không hiểu bạn định làm gì cụ thể.
    Với List của KeyValuePair sao không dùng béng Dictionarry nhỉ ?
    Hơn nữa code của bạn hơi rối nên không đoán ra ý đồ định làm gì :
    Bao chàng trai không tiếc tuổi xuân đang viết nhiều chương trình
    Em đẹp xinh cũng quyết lập công chưa muốn lấy chồng
    http://ipmac.vn/ <- Học lập trình ... sư
    http://laptrinh.tv/ <- Kênh chia sẻ video học IT
    http://www.youtube.com/user/anhnt3 <- Video thực hành lập trình... sư từ A-Z

  3. #3
    Ngày gia nhập
    05 2008
    Bài viết
    115

    Dùng Dictionary đi bạn ơi
    Ebooks dành cho dế yêu của bạn: http://sachdidong.com/
    Góc nhỏ của tôi: http://seekill.com/

  4. #4
    Ngày gia nhập
    02 2011
    Bài viết
    36

    Mặc định Xin cám ơn các bạn đã quan tâm

    Dùng Dictionary thì có nhược điểm là kg dùng được khi có 2 key trùng nhau. Đoạn code trên chỉ đơn giản là so sánh item. Nếu tìm thấy key thì gán value vào cho item đó (mỗi item có 1 cặp [key,value]). Xin các bạn giúp đỡ.

  5. #5
    Ngày gia nhập
    05 2008
    Bài viết
    115

    Trích dẫn Nguyên bản được gửi bởi vanthuong420 Xem bài viết
    Dùng Dictionary thì có nhược điểm là kg dùng được khi có 2 key trùng nhau. Đoạn code trên chỉ đơn giản là so sánh item. Nếu tìm thấy key thì gán value vào cho item đó (mỗi item có 1 cặp [key,value]). Xin các bạn giúp đỡ.
    Bản thân ngay KeyValuePair nó cũng k fai sử dụng trog trường hợp như bạn nhiều lắm đâu. Mình thấy nó sử dụng trong việc pair dữ liệu trong quá trình foreach để compare hoặc lấy dữ liệu. Còn trong ví dụ của bạn bạn có thể dùng List 1 mảng object cũng được mà, đâu fai dùng đến KeyValuePair.
    Ebooks dành cho dế yêu của bạn: http://sachdidong.com/
    Góc nhỏ của tôi: http://seekill.com/

  6. #6
    Ngày gia nhập
    02 2011
    Bài viết
    36

    Mặc định Cám ơn bạn đã trả lời

    Mình có attach file project của mình. Project của mình mục đích là đọc dữ liệu trong 1 sheet excel. Sau đó so sánh xem dữ liệu có trong 1 sheet khác hay kg? Nếu có thì update dữ liệu bên sheet này vào. Mong các bạn giúp đỡ.
    Sheet nguồn (sheet đọc dữ liệu) có 2 column chứa dữ liệu: Column F và AM. Trong đó column F chứa key (có rất nhiều key trùng nhau do đó mình sử dụng KeyPairValue) và column AM chứa value.
    Mục đích của mình là tìm value (ở đây là ngày tháng) nhỏ nhất trong các key trùng nhau. Sau đó đem gán qua bên sheet khác. Sheet này cũng có 2 column F và AM (và chỉ có 1 cặp [key,value] duy nhất) kg có key trùng nhau.
    Attached Files Attached Files

  7. #7
    Ngày gia nhập
    04 2010
    Bài viết
    1,534

    Trích dẫn Nguyên bản được gửi bởi vanthuong420 Xem bài viết
    .....
    Sheet nguồn (sheet đọc dữ liệu) có 2 column chứa dữ liệu: Column F và AM. Trong đó column F chứa key (có rất nhiều key trùng nhau do đó mình sử dụng KeyPairValue) và column AM chứa value.
    Mục đích của mình là tìm value (ở đây là ngày tháng) nhỏ nhất trong các key trùng nhau. Sau đó đem gán qua bên sheet khác. Sheet này cũng có 2 column F và AM (và chỉ có 1 cặp [key,value] duy nhất) kg có key trùng nhau.
    Nếu bạn thực sự muốn sử dụng kỹ thuật KeyValuePair thì tôi không dám nói tiếp. Tuy nhiên nếu bạn chỉ muốn giải quyết vấn đề trên thì tôi có thể nếu ra hai giải pháp gọn hơn:

    1. Dùng tiện nghi data filter/sort sẵn có của Excel. Vừa gọn vừa chính xác vừa khỏi phải dính líu gì đến C#.

    2. Dùng tiện nghi của datatable:
    - đọc dữ liệu twuf input sheet vào một DataTable/DataSet
    - filter và sort theo ý muốn => một data array
    - đọc array và dựng reults sheet

  8. #8
    Ngày gia nhập
    02 2011
    Bài viết
    36

    Mặc định Cám ơn bạn đã đưa ra gợi ý cho mình

    - Cách 1 bạn đưa ra chắc kg phù hợp trong điều kiện này vì dữ liệu trong file excel (file đọc dữ liệu) không thể sort được.
    - Còn cách 2 bạn gợi ý mình thì mình chưa hiểu lắm. Ví dụ ở bước thứ 2 nếu đưa data vào 1 array (ví dụ ở đây là 1 trong 2 Key hoặc Value) thì rất khó tìm ra value nhỏ nhất trong các key trùng nhau.
    Vậy xin bạn hướng dẫn rõ hơn ở bước này.
    Xin cám ơn bạn và congdongcviet.

  9. #9
    Ngày gia nhập
    04 2010
    Bài viết
    1,534

    1. Sort và filter là công việc thường nhật của Excel

    2. Tìm hiểu về các methods của DataTable

    Visual C# Code:
    1. DataRow[] rows = dTable.Select("", "F Asc, AM Asc"); // sort datatable
    2.  
    3. string lastF = "";
    4. foreach (DataRow r in rows)
    5. {
    6.   if (r["F"] == lastF) continue;
    7.   lastF = r["F"];
    8.   // code để nhét row này vào table thứ hai
    9. }
    10. // code export table thứ hai ra excel
    11.  
    12. // code chỉ viết đại khái để diễn tả thuật toán, cần phải chỉnh sửa một vài chỗ không đúng syntax

  10. #10
    Ngày gia nhập
    02 2011
    Bài viết
    36

    Mặc định Rất cám ơn bạn có code gợi ý cho mình

    1. File excel này kg sort hay filter dc do còn rất nhiều dữ liệu khác nữa :d
    2. Do máy mình mới cài lại win nên chưa kịp cài vs để làm theo hướng dẫn của bạn.
    Hy vọng mình sẽ làm dc theo cách của bạn. Rất cám ơn bạn.

    Trở về vấn đề KeyValuePair. Có bạn nào có ý kiến đóng góp về vấn đề này không ạ. Vì chưa tìm ra cách giải quyết nên cũng bức rức.

Các đề tài tương tự

  1. làm thế nào chuyển String o[] sang String hoặc byte[].
    Gửi bởi zzvanquyenzz trong diễn đàn Thắc mắc lập trình Java
    Trả lời: 1
    Bài viết cuối: 17-06-2013, 09:24 AM
  2. Method String.CompareTo(string strB) trong C# thực hiện so sánh 2 chuỗi như thế nào?
    Gửi bởi tpqnnd trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 5
    Bài viết cuối: 27-05-2012, 10:52 AM
  3. Bài tập C++ tạo toán tử ==trong lớp string với tham số là string, char
    Gửi bởi truonglong99 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 2
    Bài viết cuối: 24-10-2011, 08:56 AM
  4. Lập trình C++ sử dụng string trong C++. Lỗi C2146: syntax error : missing ';' before identifier tại string string_rep()const;?
    Gửi bởi levanvuonglvv trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 3
    Bài viết cuối: 15-09-2011, 10:28 PM
  5. string và String khác nhau như thế nào?
    Gửi bởi mitsumi82 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 22
    Bài viết cuối: 25-12-2009, 11:50 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn