Thứ Tư, ngày 24 tháng 2 năm 2010

// // Leave a Comment

As Keyword C#

Bạn có thể sử dụng toán tử as để chuyển tử một kiểu này sang một kiểu khá. Nhưng nếu bạn áp dụng nó để chuyển sang một kiểu khác không tương thích, bạn sẽ nhận được exception. Lợi thế của việc sử dụng toán tử as là nó không throw ra exception. Khi một kiểu không thể chuyển đổi bằng cách sử toán tử as, nó trả về giá trị null. As cũng được sử dụng để so sánh giữa 2 kiểu với nhau.

Cú pháp sau đây sử dụng toán tử as để convert item sang string. Nếu item không thể chuyển sang được string, nó sẽ trả về giá trị null.


string stype = item as string;

Đoạn mã dưới đây là một ví dụ có sử dụng toán tử as. Đoạn mã này sẽ thử chuyển một vài lớp đối tượng sang string có mặt cả string và int.


using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace AsOperatorSample

{

public class Animal

{

}

public class Vehicle

{

}

public class Car : Vehicle

{

}

class Program

{

static void Main(string[] args)

{

Vehicle v = new Vehicle();

Animal a = new Animal();

Car c = new Car();

System.Collections.ArrayList list = new System.Collections.ArrayList();

list.Add("Hello As");

list.Add("12345");

list.Add(v);

list.Add(a);

list.Add(c);

foreach (object item in list)

{

// Try to convert item as a string

string stype = item as string;

if (stype != null)

Console.WriteLine(item.ToString() + " converted successfully.");

else

Console.WriteLine(item.ToString() + " conversion failed.");

}

Console.ReadLine();

}

}

}

Đầu ra bạn có thể thấy giá trị của string và số nguyên được convert thành công trong khi chuyển class thì thất bại


AsImg1.jpg

0 comments: