Từ 1 tới 6 trên tổng số 6 kết quả

Đề tài: Lỗi "cannot implicitly convert type 'string' to 'char' " khi viết chương trình chuyển đổi hệ đếm

  1. #1
    Ngày gia nhập
    07 2012
    Bài viết
    65

    Smile Lỗi "cannot implicitly convert type 'string' to 'char' " khi viết chương trình chuyển đổi hệ đếm

    Chào các bạn, trong quá trình mình viết chương trình chuyển từ hệ 16 -> 10 với đoạn code như sau:

    {
    int[] c = new int[32];
    Console.Write("Nhap so Hexa n: ");
    string b = Console.ReadLine();
    char [] a = b.ToCharArray();
    for (i = 0; i < a.Length; i++)
    {
    if (a[i] == 1) c[i] = 1;
    if (a[i] == 2) c[i] = 2;
    if (a[i] == 3) c[i] = 3;
    if (a[i] == 4) c[i] = 4;
    if (a[i] == 5) c[i] = 5;
    if (a[i] == 6) c[i] = 6;
    if (a[i] == 7) c[i] = 7;
    if (a[i] == 8) c[i] = 8;
    if (a[i] == 9) c[i] = 9;
    if (a[i] = "A") c[i] = 10;
    if (a[i] = "B") c[i] = 11;
    if (a[i] = "C") c[i] = 12;
    if (a[i] = "D") c[i] = 13;
    if (a[i] = "E") c[i] = 14;
    if (a[i] = "F") c[i]=15;

    }
    (Mình trích đoạn mà gây lỗi)

    Chỗ đoạn mình in đậm, nếu mà ghi = thì nó báo lỗi "Cannot implicitly convert type 'string' to 'char'".
    Nhưng mình sửa lại là dấu == thì nó báo lỗi "Operator '==' cannot be applied to operands of type 'char' and 'string'"

    Vậy phải sửa như thế nào để chương trình chạy được?

  2. #2
    Ngày gia nhập
    08 2012
    Bài viết
    71

    thay
    C Code:
    1. if (a[i] = "A") c[i] = 10;
    2. if (a[i] = "B") c[i] = 11;
    3. if (a[i] = "C") c[i] = 12;
    4. if (a[i] = "D") c[i] = 13;
    5. if (a[i] = "E") c[i] = 14;
    6. if (a[i] = "F") c[i]=15;

    bằng
    C Code:
    1. if (a[i] == 'A') c[i] = 10;
    2.                     if (a[i] == 'B') c[i] = 11;
    3.                     if (a[i] == 'C') c[i] = 12;
    4.                     if (a[i] == 'D') c[i] = 13;
    5.                     if (a[i] == 'E') c[i] = 14;
    6.                     if (a[i] == 'F') c[i] = 15;
    Trước khi là PRO thì chắc chắn sẽ là CON GÀ
    Và mình thì đang ở mức độ CON GÀ

  3. #3
    Ngày gia nhập
    07 2012
    Bài viết
    65

    Trích dẫn Nguyên bản được gửi bởi shizuoka Xem bài viết
    thay
    C Code:
    1. if (a[i] = "A") c[i] = 10;
    2. if (a[i] = "B") c[i] = 11;
    3. if (a[i] = "C") c[i] = 12;
    4. if (a[i] = "D") c[i] = 13;
    5. if (a[i] = "E") c[i] = 14;
    6. if (a[i] = "F") c[i]=15;

    bằng
    C Code:
    1. if (a[i] == 'A') c[i] = 10;
    2.                     if (a[i] == 'B') c[i] = 11;
    3.                     if (a[i] == 'C') c[i] = 12;
    4.                     if (a[i] == 'D') c[i] = 13;
    5.                     if (a[i] == 'E') c[i] = 14;
    6.                     if (a[i] == 'F') c[i] = 15;
    Cám ơn bạn, đc rồi

    Nhưng mà mình có 1 thắc mắc là khi nào dùng dấu ' ... ' còn khi nào dùng dấu " ... "

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

    " " dùng cho chuỗi, ' ' dùng cho kí tự.
    'A' là kí tự A.
    "A" là chuỗi có ký tự a và ký tự null.

  5. #5
    Ngày gia nhập
    01 2012
    Nơi ở
    localhost
    Bài viết
    140

    Bên lề:
    Visual C# Code:
    1. if (a[i] == 1) c[i] = 1;
    2. if (a[i] == 2) c[i] = 2;
    3. if (a[i] == 3) c[i] = 3;
    4. if (a[i] == 4) c[i] = 4;
    5. if (a[i] == 5) c[i] = 5;
    6. if (a[i] == 6) c[i] = 6;
    7. if (a[i] == 7) c[i] = 7;
    8. if (a[i] == 8) c[i] = 8;
    9. if (a[i] == 9) c[i] = 9;
    Tại sao đám so sánh này dùng số nguyên còn đám kia dùng ký tự. Coi chừng sai!
    Rẹt rẹt..

  6. #6
    Ngày gia nhập
    08 2012
    Bài viết
    71

    Mặc định Lỗi "cannot implicitly convert type 'string' to 'char' " khi viết chương trình chuyển đổi hệ đếm

    Trích dẫn Nguyên bản được gửi bởi sim Xem bài viết
    Bên lề:
    Visual C# Code:
    1. if (a[i] == 1) c[i] = 1;
    2. if (a[i] == 2) c[i] = 2;
    3. if (a[i] == 3) c[i] = 3;
    4. if (a[i] == 4) c[i] = 4;
    5. if (a[i] == 5) c[i] = 5;
    6. if (a[i] == 6) c[i] = 6;
    7. if (a[i] == 7) c[i] = 7;
    8. if (a[i] == 8) c[i] = 8;
    9. if (a[i] == 9) c[i] = 9;
    Tại sao đám so sánh này dùng số nguyên còn đám kia dùng ký tự. Coi chừng sai!
    sai rồi chứ còn gì mà "coi chừng" nữa ^-^ nhập giá trị từ 1 đến 9 cỡ nào nó cũng sẽ chẳng bao giờ nhảy vô ^-^ shi ko sửa chỗ đó để khi chủ thớt chạy sẽ thấy, mà dòng so sánh ký tự đã đúng rồi nên chủ thớt sẽ tự động thêm vô thôi ---> kinh nghiệm bản thân, mình làm cái gì mà sai thì sẽ khi sửa lại đúng sẽ nhớ lâu hơn ^-^
    Trước khi là PRO thì chắc chắn sẽ là CON GÀ
    Và mình thì đang ở mức độ CON GÀ

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

  1. lỗi Cannot convert type 'char' to 'string'
    Gửi bởi newshacker trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 5
    Bài viết cuối: 09-10-2015, 02:07 AM
  2. Khắc phục lỗi "Failed to convert parameter value from a String to a Int32"
    Gửi bởi nguyenducbachy trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 3
    Bài viết cuối: 22-08-2012, 10:31 PM
  3. Sự khác nhau giữa input type="text" và input type="submit" và type ="button"
    Gửi bởi tuanngocpt trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 2
    Bài viết cuối: 04-04-2012, 12:55 AM
  4. Lỗi "Cannot implicitly convert type..." khi đưa data vào Flex Grid
    Gửi bởi nightmare1111 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 0
    Bài viết cuối: 11-11-2011, 02:47 PM
  5. Lỗi Cannot implicitly convert type khi Convert Array to List trong WCF ???
    Gửi bởi dangbk trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 4
    Bài viết cuối: 26-09-2010, 05:43 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