Chủ Nhật, 24 tháng 8, 2014

Kiểu dữ liệu Arraylist (danh sách mảng) C#

Là một kiểu dữ liệu trong C# giống như kiểu mảng nhưng kích thước có thể thay đổi động theo yêu cầu. Bài viết nói về ưu điểm và mô tả các thuộc tính quan trọng của ArrayList




Ưu điểm của Arraylist là gì?
Do kích thước danh sách mảng có thể tự thay đổi nên bạn không cần phải xác định trước các phần tử của mảng. Việc xác định trước số lượng phần tử trong mảng rất bất tiên. Nếu khai báo kích thước mảng quá nhỏ thì sẽ dẫn đến thiếu bộ nhớ nhưng nếu khai báo quá lớn thì lại lãng phí bộ nhớ. Hơn nữa nhiều khi chương trình của chúng ta có thể hỏi người dùng về kích thước hoặc thu những input từ trong một website ,tuy nhiên việc xác định số lượng đối tượng trong những session khác nhau là không thích hợp.Sử dụng Array list sẽ giúp bạn giải quyết vấn đề này.
Các thuộc tính và phương thức quan trọng của Arraylist.

Thuộc tính:

Capacity: dùng để get hay set số thành phần có trong array list

Count: dùng để xác định số phần tử có trong array list
IsFixedSize: thuộc tính kiểm tra xem kích thước của array list có cố định hay không

Phương thức:

Item(): thiết lập hay truy cập thành phần trong array list tại vị trí xác định

Add(): thêm một đối tượng vào array list
Clear(): xóa tất cả các thành phần của arraylist
Clone(): tạo một bản copy
Contains(): kiểm tra xem mọt thành phần nào đó có thuộc array list hay không
CopyTo(): phương thức nạp chồng dung để sao chép một array list đến một mảng một chiều.
IndexOf(): TRả về chỉ mục của vị trí đầu tiên xuất hiện giá trị.
Insert(): chèn một thành phần vào arraylist.
Sort(): sắp xếp Arraylist
ToArray(): sao chép những thành phần của ArrayList đến một mảng mới.
Khai báo và sử dụng ArrayList
Để sử dụng danh sách mảng trước hết bạn phải khai báo lớp Collections.
Using System. Collections;
Cấu trúc định nghĩa một Array list
ArrayList ArraylistName= new ArrayList(); 
bạn không cần khai báo trước kích thước của ArrayList.



using System;
using System.Collections;

namespace CollectionApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            ArrayList al = new ArrayList();

            Console.WriteLine("Adding some numbers:");
            al.Add(45);
            al.Add(78);
            al.Add(33);
            al.Add(56);
            al.Add(12);
            al.Add(23);
            al.Add(9);
            
            Console.WriteLine("Capacity: {0} ", al.Capacity);
            Console.WriteLine("Count: {0}", al.Count);
                      
            Console.Write("Content: ");
            foreach (int i in al)
            {
                Console.Write(i + " ");
            }
            Console.WriteLine();
            Console.Write("Sorted Content: ");
            al.Sort();
            foreach (int i in al)
            {
                Console.Write(i + " ");
            }
            Console.WriteLine();
            Console.ReadKey();
        }
    }
}

When the above code is compiled and executed, it produces the following result:

Adding some numbers:
Capacity: 8
Count: 7
Content: 45 78 33 56 12 23 9
Content: 9 12 23 33 45 56 78    


Xem thêm : http://www.tutorialspoint.com/csharp/csharp_arraylist.htm

Nguồn: http://csharpvn.com/BaiViet_ChiTietBaiViet.aspx?Id=249

Làm sao để màn hình Console Application dừng lại để xem kết quả C#

Khi bắt đầu một ngôn ngữ lạp trình, bạn sẽ viết một chương trình ứng dụng đầu tiên và nổi tiếng nhất đó là "Hello world"

Ví dụ bạn có một đoạn code Hello world như sau:


using System;

namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World !");
            Console.ReadKey();
        }
    }
}

Bạn chú ý: hàm ReadKey(): hàm chờ đọc một ký tự bất kỳ từ bàn phím. Do đó bạn sẽ thấy được kết quả Console. Có thể sử dụng hàm ReadLine() cũng có tác dụng tương tự.

Thứ Tư, 20 tháng 8, 2014

Cách sử dụng Snippet tăng tốc độ gõ lệnh trong C#

Các bạn thường phải hì hục gõ các câu lệnh C# một cách thủ công, từng câu lệnh môt..
nhưng có bao giờ các bạn nghĩ rằng.. bạn có thể sử dụng phím tắt cho những câu lệnh đó ko

VD: chỉ cần gõ cw là sẽ hiển thị Console.WriteLine()

Visual Studio đã hỗ trợ tính năng đó giúp bạn bằng snippet

Visual hỗ trợ khá nhiều lệnh tắt cho các bạn
[You must be registered and logged in to see this image.]
Để sử dụng, bạn gõ tên snippet và nhấn tab 2 lần
Một số lệnh cơ bản
cw :  Console.WriteLine();
class:      tạo lớp MyClass tự động
sim:    tạo hàm main tự động
prop:    properties
......

rất nhiều
Bạn có thể tham khảo tất cả các snippet của C# bằng cách
- Chuột phải vào file Code của mình
- Chọn Insert Spinnet -> Visual C#

lúc đó sẽ hiển thị lên tất cả các snippet do C# định nghĩa
Tuy nhiên, nhiêu đó có là đủ với bạn
BẠn mún code của mình tự động nhiều hơn nữa Smile).... ví dụ
trong Class chỉ cần gõ một lệnh sẽ tự động tạo 1 field và properties cung cấp cả hàm get và set
Sau đây mình sẽ hướng dẫn cách bạn làm được như thế Wink)

Đầu tiên mở Notepad
copy code sau vào
<?xml version="1.0" encoding="utf-8" ?>
<CodeSnippets  xmlns="http://msdn.microsoft.com/en-us/library/f7d3wz0k%28v=vs.90%29.aspx">
    <CodeSnippet Format="1.0.0">
        <Header>
            <Title>propf</Title>
            <Shortcut>propf</Shortcut>
            <Description>Field + property </Description>

            <SnippetTypes>
                <SnippetType>Expansion</SnippetType>
            </SnippetTypes>
        </Header>
        <Snippet>
            <Declarations>
                <Literal>
                    <ID>type</ID>
                    <ToolTip>Property type</ToolTip>
                    <Default>int</Default>
                </Literal>
                <Literal>
                    <ID>property</ID>
                    <ToolTip>Property name</ToolTip>
                    <Default>MyProperty</Default>
                </Literal>
            </Declarations>
            <Code Language="csharp">
              <![CDATA[
                private $type$ $property$;

          public $type$ $property$
          {
                get{ return $property$;}
                set{ $property$= value;}
          }
          $end$]]>
            </Code>
        </Snippet>
    </CodeSnippet>
</CodeSnippets>

Bạn lưu lại file này với tên là thienthancnttzone.snippet

Lưu ý: bắt buộc phải là đuôi .snippet
Bạn copy file đó vào C:\Users\tenUser\Documents\Visual Studio 2008\Code Snippets\Visual C#\My Code Snippets
Ở đây mình sử dụng Visual Studio 2k8, những bạn sử dụng phiên bản khác có thể tìm kiếm đường dẫn tương tự..

Bây giờ, mở C# lên nào... bạn thử gõ propf+ 2 tab xem kêt quả nhá)

Xem thêm:
Code Snippets
 
Nguồn:http://thuhuong.hot4um.com/t251-topic

Trang trí khung hiển thị code trên Blogger

Đôi khi bạn cũng muốn trang trí khung hiển thị các đoạn mã (code) cho đẹp mắt. Để thực hiện điều này, bạn cần phải tạo một class riêng cho đoạn mã, có thể đặt tên là "codeview" và đặt đoạn mã vào trong thẻ div, theo như bên dưới:
<div class="codeview">

{dán code đơn giản hoặc code đã mã hóa vào đây}
</div>

Phần trên sẽ được đặt vào trong bài viết tại vị trí muốn hiển thị code.
Để đăng được bài viết có hiển thị code thì phải tiến hành chèn một đoạn mã vào phần CSS của Template.

Vào Thiết kế (Design) - Chỉnh sửa HTML (Edit HTML) rồi chèn code của các kiểu bên dưới lên trên dòng code ]]></b:skin> trong Template.

Dưới đây là các kiểu định dạng CSS cho codeview.

1. Kiểu 1:


.codeview {
margin : 15px 35px 15px 15px;
padding : 10px;
clear : both;
list-style-type : none;
background : #f9f9f9 url(http://farm4.static.flickr.com/3415/3555944482_d0433d99fe_o.gif) no-repeat right bottom;
border-top : 1px solid #eeeeee;
border-right : 2px solid #cccccc;
border-bottom : 2px solid #cccccc;
border-left : 1px solid #eeeeee;
}


2. Kiểu 2:

.codeview {
margin : 15px 35px 15px 15px;
padding : 10px;
clear : both;
list-style-type : none;
background : #f9f9f9;
border-right : 2px solid #cccccc;
border-bottom : 2px solid #cccccc;
border-left : 20px solid #CECECE;
}


3. Kiểu 3:

.codeview {
margin : 15px 35px 15px 15px;
padding : 10px;
clear : both;
list-style-type : none;
background : #f9f9f9 url(http://farm4.static.flickr.com/3575/3555191103_7ce001f502_o.gif) no-repeat right top;
border-top : 1px solid #eeeeee;
border-right : 2px solid #cccccc;
border-bottom : 2px solid #cccccc;
border-left : 1px solid #eeeeee;
}


Chú ý: Nên tải các file hình ảnh qua đường link đánh dấu màu xanh về và upload lên webhost của riêng bạn để tránh hạn chế băng thông.

Nguồn: http://huynh-nhat-ha.blogspot.com/2010/10/trang-tri-khung-hien-thi-code-tren.html

Sử dụng Region để quản lý code một cách thông minh

Trong một đoạn mã bạn vừa viết có vài trăm dòng, thậm chí có thể nhiều hơn (ngàn dòng chẳng hạn), vạy bạn sẽ làm gì để đoạn code của bạn trông dễ hiểu và dễ quản lý hơn. Hãy sử dụng comment ("//") lại những gì bạn đã làm, vì có một lúc nào đó bạn sẽ xem lại đoạn code. Nếu không có chú thích thì Oh! thôi rồi, "ta viết cái gì thế này sao đọc chả hiểu nổi" - thật là một thảm hại, những gì mình viết mà lại không thể hiểu nổi. Còn một phần nữa cũng khá hay là "#region" nó giúp chúng ta có thế chú thích một đoạn code và có thể expand hay collapse đoạn code đó khi lập trình trong bộ Visual Studio Code Editor.

Để hiểu rõ hơn hãy xem đoạn code sau:
 
#region MyClass definition
public class MyClass 
{
    static void Main() 
    {
    }
}
#endregion

Video hướng dẫn cách sử dụng comment và region


Xem thêm:
C# Preprocessor Directives
#if