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

Đề tài: Các cách ép kiểu trong C# _ int.Parse() hoặc Convert.ToInt16()

  1. #1
    Ngày gia nhập
    03 2009
    Bài viết
    66

    Mặc định Các cách ép kiểu trong C# _ int.Parse() hoặc Convert.ToInt16()

    Mình thấy trong C# có 2 kiểu ép kiểu cho kiểu int là 1> int.Parse() hoặc 2> Convert.ToInt16()
    (tương tự cho các kiểu dữ liệu khác )
    mình ko hiểu lúc nào nên dùng 1> hoặc 2>
    và trong cách ép dữ liệu đó thì chúng ta nên dùng loại nào ?
    mong mọi người giúp đỡ !

  2. #2
    Ngày gia nhập
    08 2009
    Nơi ở
    TP Cần Thơ - Lộ 91B
    Bài viết
    212

    - int.Parse( ) : thường dùng để chuyển từ chuổi số sang số nguyên
    - Convert.ToInt16 hoặc Convert.ToInt32 : dùng để chuyển nhiều loại đối tượng về dạng số nguyên bao gồm luôn kiểu string
    - 2 cách này bạn dùng cách nào cũng được tùy người lập trình thôi

    - Ngoài ra bạn còn cách ép kiểu khác là : (int)object hoặc int(object)

  3. #3
    Ngày gia nhập
    03 2009
    Bài viết
    66

    Trích dẫn Nguyên bản được gửi bởi latuine Xem bài viết
    - int.Parse( ) : thường dùng để chuyển từ chuổi số sang số nguyên
    - Convert.ToInt16 hoặc Convert.ToInt32 : dùng để chuyển nhiều loại đối tượng về dạng số nguyên bao gồm luôn kiểu string
    - 2 cách này bạn dùng cách nào cũng được tùy người lập trình thôi

    - Ngoài ra bạn còn cách ép kiểu khác là : (int)object hoặc int(object)
    Mình thấy mọi đối tượng đều có thuộc tính Tostring() vậy dùng int.parse(object.tostring()) ,
    như vậy đâu cần dùng Convert nữa ??

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

    Trích dẫn Nguyên bản được gửi bởi troinau Xem bài viết
    Nguyên bản được gửi bởi latuine
    - int.Parse( ) : thường dùng để chuyển từ chuổi số sang số nguyên
    - Convert.ToInt16 hoặc Convert.ToInt32 : dùng để chuyển nhiều loại đối tượng về dạng số nguyên bao gồm luôn kiểu string
    - 2 cách này bạn dùng cách nào cũng được tùy người lập trình thôi

    - Ngoài ra bạn còn cách ép kiểu khác là : (int)object hoặc int(object)
    Mình thấy mọi đối tượng đều có thuộc tính Tostring() vậy dùng int.parse(object.tostring()) ,
    như vậy đâu cần dùng Convert nữa ??
    Người ta đã nói "cách nào cũng được" rồi. Untilities có thiếu gì cái trùng nhau!

  5. #5
    Ngày gia nhập
    08 2009
    Nơi ở
    TP Cần Thơ - Lộ 91B
    Bài viết
    212

    Trích dẫn Nguyên bản được gửi bởi troinau Xem bài viết
    Mình thấy mọi đối tượng đều có thuộc tính Tostring() vậy dùng int.parse(object.tostring()) ,
    như vậy đâu cần dùng Convert nữa ??
    - Cái thuộc tính ToString() không nên áp dụng bừa bãi.
    - Các Object đều có hàm ToString(). Hàm này sẽ trả về tên của object và namespace chứa object đó tùy vào người lập trình định nghĩa
    - Chỉ có các kiểu số thì khi ToString() nó sẽ trả về dạng chuổi với các ký tự số đó
    - Bạn cũng có thể tái định nghĩa lại hàm ToString() của các đối tượng

    - Ví dụ khi bạn định nghĩa 1 Class PhanSo như sau
    Code:
    public class PhanSo{
           public int tu, mau;
           public PhanSo ( int tu, int mau ){
                   this.tu = tu;
                   this.mau = mau;
           }
    }
    - Trong Class ở trên VS sẽ tự động đưa hàm ToString() vào cho bạn luôn. Và nếu dùng ToString() nó sẽ trả ra cho bạn là chuổi : [tên SoLuTion] + PhanSo
    - Vậy thì bây giờ mình sẽ tái định nghĩa hàm ToString() để nó phải trả ra cho mình là : [giá trị tử] / [ giá trị mẩu ]

    Code:
    public class PhanSo{
           public int tu, mau;
           public PhanSo ( int tu, int mau ){
                   this.tu = tu;
                   this.mau = mau;
           }
           public override string ToString()
            {          
               return this.tu.ToString() + "/" + this.mau.ToString() ;
    
               //-- hoặc 
               //-- return (tu/mau).ToString();
            }
    }
    Đã được chỉnh sửa lần cuối bởi latuine : 20-07-2011 lúc 11:54 AM.

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

    Mặc định Các cách ép kiểu trong C# _ int.Parse() hoặc Convert.ToInt16()

    Mình có một trường col2= (1,2,3,4,5,6,7,8) lấy từ CSDL ra (bảng table2);
    Mình muốn lấy dữ liệu từ một bảng khác table1, có điều kiện trường col1 kiểu số nguyên thuộc col2 ở trên; câu lệnh như sau :

    Select * from table1 where col1 in (select col2 from table2)

    Lấy trong CSDL Oracle; nó báo là col1 và col2 khác kiểu;
    Có cách nào để ép col2 thành kiểu nguyên không các bạn ?

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

  1. Parse dữ liệu qua các thẻ web
    Gửi bởi duyttt trong diễn đàn Tài liệu, ebooks và công cụ
    Trả lời: 0
    Bài viết cuối: 27-10-2013, 04:10 PM
  2. Socket Cách tryền nhiều ip address thay vi ipaddress.any hoặc ipaddress.parse("127.0.0.1")?
    Gửi bởi theClassicMan27 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 12
    Bài viết cuối: 29-03-2012, 02:35 PM
  3. Lỗi convert từ * qua char [20].(Hoặc lỗi convert các kiểu)Mình rất hay bị lỗi này
    Gửi bởi kuhoang0512 trong diễn đàn Thảo luận, góp ý code C/C++ của bạn
    Trả lời: 5
    Bài viết cuối: 07-11-2011, 08:20 PM
  4. lỗi parse error before ')', các bạn cho mình hỏi đây là lỗi j
    Gửi bởi ndhbk trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 2
    Bài viết cuối: 28-11-2010, 11:46 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