When we control the event,we control your lives
 
IndexTrợ giúpTìm kiếmThành viênNhómĐăng kýĐăng Nhập
Tìm kiếm
 
 

Display results as :
 
Rechercher Advanced Search
Latest topics
» Tô màu theo vùng quét
Tue Aug 13, 2013 4:18 pm by minhlap

» authentischen Hermes Lindy Taschen
Wed Jan 23, 2013 11:15 am by cangliang

» Hermes Bag
Wed Jan 23, 2013 11:14 am by cangliang

» Hermes Evelyn pm
Wed Jan 23, 2013 11:13 am by cangliang

» Hermes Kelly bag billig
Mon Jan 21, 2013 8:57 am by cangliang

» Hermes Constance Bag
Mon Jan 21, 2013 8:56 am by cangliang

» Discout Hermes Belt
Mon Jan 21, 2013 8:55 am by cangliang

» Christian Louboutin Love Flats
Tue Jan 15, 2013 12:25 pm by cangliang

» Christian Louboutin Love Flats
Tue Jan 15, 2013 12:25 pm by cangliang

Navigation
 Portal
 Diễn Đàn
 Thành viên
 Lý lịch
 Trợ giúp
 Tìm kiếm
December 2016
MonTueWedThuFriSatSun
   1234
567891011
12131415161718
19202122232425
262728293031 
CalendarCalendar
Diễn Đàn
Affiliates
free forum


Share | 
 

 Lập trình trên C#

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down 
Tác giảThông điệp
symphonyenigmatic
Thành viên bậc 3
Thành viên bậc 3


Tổng số bài gửi : 61
Points : 104
Reputation : 6
Join date : 26/07/2009
Age : 28
Đến từ : http:://thienthancntt.tk

Bài gửiTiêu đề: Lập trình trên C#   Mon Aug 24, 2009 5:49 pm

Lập trình trên C# - những lời nói đầu

Lập trình không là một công việc, nó là một thú vui và là một niềm đam mê. Bạn sẽ phải làm quen với các dòng chữ loằng ngoằng như là int, public, system để hiện lên trên màn hình máy tính một thế giới mô phỏng hoàn hảo hoặc là một ứng dụng tiện lợi được thực hiện bằng cách cử động đầu ngón tay.
Có rất nhiều công cụ giúp chúng ta thực hiện điều đó được gọi là các ngôn ngữ lập trình. Đã có rất nhiều các ngôn ngữ lập trình được sinh ra theo nhu cầu và yêu cầu của thực tế. Và bạn có thể chọn bất kì theo sở thích và thiên hướng của bạn.
Nhưng thực tế, ngôn ngữ lập trình chỉ là cái để chúng ta có thể sai bảo được cái pc, khiến nó hiểu và thực hiện những điều chúng ta chờ đợi. Kết quả đó phụ thuộc vào cấu trúc ngôn ngữ, vào nền tảng ngôn ngữ, vào những hộ trợ và đặc tính của ngôn ngữ; một phần quan trọng đó là thuật toán - tư duy logic và trừu tượng của người lập trình.
C# mang lại cho chúng ta tất cả những điều đó. Nó được thiết kế cho một nền tảng mạnh - một công nghệ hàng đầu là .NET, nó có được sự mạnh mẽ và thống nhất trong đặc tính hướng đối tượng của mình, nó có được sự mềm dẻo và thân thiện với những từ khóa dành riêng rất thân thuộc với ngôn ngữ tự nhiên, nó có những kiểu dữ liệu và những cấu trúc lệnh căn bản nhất để bạn áp dụng nhữn thuật toán cần thiết cho công việc của bạn. Quan trọng nhất, rất nhiều ứng dụng đã được phát triển từ C#, điều đó có nghĩa là nếu bạn đi theo C#, bạn sẽ có tương lai vì đã có rất nhiều người đạt được tương lai từ nó.
Chào mừng đến với thế giới C#.


Nortonxe(UDS)



Nếu Bạn bắt đầu chọn một ngôn ngữ cho bản thân mình . Bạn đang lưỡng lự giữa java và C# , hoặc có thể bạn muốn một ngôn ngữ bác học hơn như VC++. C# là một ngôn ngữ tuyệt vời cho bạn lựa chọn .
Vì sao :
1. C# là một ngôn ngữ đơn giản
2. C# là một ngôn ngữ hiện đại
3. C# là một ngôn ngữ hướng đối tượng
4. C# là mạnh mẽ , ít từ khóa . Và trên hết C# là một ngôn ngữ phổ biến
Về Đầu Trang Go down
Xem lý lịch thành viên http://http:://thienthancntt.tk
htn111
Thành viên bậc 1
Thành viên bậc 1


Tổng số bài gửi : 1
Points : 2
Reputation : 1
Join date : 11/08/2009
Age : 28
Đến từ : DHBK

Bài gửiTiêu đề: Re: Lập trình trên C#   Tue Aug 25, 2009 9:55 pm

N nghĩ là trước khi học C#, nên biết qua .NET. N viết sơ về kiến trúc C# và .NET ha.


Phần 1: Mối quan hệ giữa C# và .NET
C# là một ngôn ngữ lập trình hướng đối tượng rất mới. Cấu trúc và lập luận của C# có đầy đủ các đặc tính của một ngôn ngữ lập trình hướng đối tượng trước đó ( C++, Java ). C# được thiết kế dùng cho nền .NET framework, một công nghệ mới và đầy triển vọng trong việc phát triển các ứng dụng hệ thống và mạng internet.

Bên cạnh đó, C# c̣òn là một ngôn ngữ lập trình hoàn toàn độc lập, điều đó có nghĩa là mã của C# được chạy trên .NET nhưng có những đặc tính của C# mà .NET không hỗ trợ ( quá tải toán tử ) hay là những đặc tính của .NET mà C# không hỗ trợ.

Continue


Phần 2: Cấu trúc và hoạt động của .NET

Chúng ta đă xem qua mối quan hệ giữa C# và .NET. Tất cả các mă của C# đều được biên dịch trên nền .NET. Để có thể làm việc hiệu quả với C#, chúng ta hăy xem qua cấu trúc và hoạt động của .NET.

2.1Khái niệm .NET
.NET là một môi trường quản l‎y, phát triển và thực thi các mă ngôn ngữ biết.NET. .NET cung cấp các khả năng về cấp phát và thu hồi bộ nhớ, quản ly cấp quyền, cung cấp và quản l‎y các nguồn tài nguyên. Trọng tâm của .NET bao gồm 2 thành phần là CLR ( the comon language runtime ) và .NET framework class lybary – Các thư viện cơ sở.

2.2Hoạt động của .NET

Mă chương tŕnh sẽ được biên dịch thành MSIL (Microsoft Intermediate Language).
Dịch IL thành nền cụ thể của .NET bằng CLR.
Có rất nhiều ngôn ngữ biết .NET, bao gồm C++, VB.NET, Managed C++, J+ and J#, Scripting languages, COM. Mă của chúng cũng sẽ được biên dịch thành IL. IL sẽ đảm bảo sự tương thích giữa các ngôn ngữ khác nhau. 1 thành phần của ngôn ngữ này có thể sử dụng thành phần và thuộc tính của thành phần nằm trong ngôn ngữ khác. Đây có thể nói là một khả năng kì diệu của C#. Để đạt được những điều đó, IL bao hàm những thuộc tính sau:

1. Hỗ trợ hướng đối tượng và giao diện ( interface )
2. Phân biệt giữa kiểu giá trị và kiểu tham chiếu
3. Định kiểu mạnh
4. Quản lỗi thông qua các ngoại lệ
5. Sử dụng các thuộc tính.

2.2.1Hỗ trợ hướng đối tượng và sử dụng giao diện.
IL tạo nhiều thuận lợi với các ngôn ngữ lập trình hướng đối tượng, không phải vô tình mà các thư viện cơ sở của .NET đều được viết = C# ( OOP ). IL cũng đưa ra y tưởng về giao diện (interface). Windows cũng hỗ trợ chuẩn giao diện gọi là COM. ‎

COM là một nhị phân chuẩn cho phép các thành phần có thể tương tác với nhau mà không cần quan tâm đến ngôn ngữ nào đă tạo lập ra chúng. Điều đó có nghĩa là các mă dịch ra đều thống nhất và tương thích với COM. Tuy rằng COM không hỗ trợ tính thừa kế, chính ì́ thế COM đánh mất sự thuận lợi của lập tì́nh hướng đối tượng.

Tương thích chéo
Với khả năng hỗ trợ đồng thời nhiều loại ngôn ngữ, sau khi được biên dịch thành IL, mă của các ngôn ngữ khác nhau có thể làm việc cùng với nhau. Cụ thể là

Một lớp được tạo ra trong một ngôn ngữ có thể thừa kế từ một lớp được viết trong một ngôn ngữ khác.
Một lớp có thể chứa thể hiện của một lớp khác không quan tâm đến ngôn ngữ đă tạo ra hai lớp đó.
Một đối tượng có thể gọi trực tiếp phương thức của một đối tượng khác được viết bởi một ngôn ngữ khác.
Các đối tượng (hoặc các tham chiếu đến các đối tượng) có thể được truyền qua lại giữa các hàm
Bạn có khả năng bẫy lỗi từng bước chương tŕnh nguồn giữa các ngôn khác nhau

2.2.2 Phân biệt kiểu giá trị và kiểu tham chiếu.
IL có sự phân biệt rõ ràng đối với kiểu giá trị và kiểu tham chiếu. Trên IL, các kiểu giá trị vẫn được lưu trong vùng Stack, các kiểu tham chiếu vẫn được lưu trong vùng Heap.

2.2.3 Định kiểu mạnh.
IL có sự phân biệt rơ ràng đối với từng kiểu dữ liệu trả về, các kiểu dữ liệu luôn được đánh dấu cụ thể. Điều này là hoàn toàn phù hợp với đặc tính hỗ trợ nền cho nhiều loại ngôn ngữ của .NET. Một vấn đề nảy sinh đó là có những kiểu được hỗ trợ trong ngôn ngữ này nhưng lại không được hỗ trợ trong ngôn ngữ khác hoặc là nếu một lớp xuất thân hoặc chứa một lớp khác th́ nó cần phải biết tất cả các kiểu dùng trong các lớp đó.

CTS
Để đáp ứng được tác vụ đó, IL sử dụng tiến trình CTS – Common Type System, đây vốn là một bộ con trong .NET, đảm bảo tất cả các kiểu dữ liệu khác nhau của các ngôn ngữ khác nhau đều được biên dịch thành một kiểu chung trên nền .NET

CLS
CLS phối hợp với CTS để đảm bảo sự tương thích giữa các ngôn ngữ. CLS là một chuẩn mà tất cả các ngôn ngữ biết .NET đều phải tuân theo. CLS hoạt động theo 2 nguyên tắc

CLS không hoàn ṭan bó buộc các ngôn ngữ lập trình, điều này khiến cho các ngôn ngữ hoàn toàn có thể phát triển theo các chiều hướng riêng
CLS gắn một chuẩn lên các ngôn ngữ lập tŕnh biết .NET, điều này đảm bảo mă của các ngôn ngữ đó luôn được hỗ trợ khi biên dịch.

Garbare Collection
Garbage collector là một thành phần quản lí bộ nhớ của .NET.
Tốc độ hoạt động của C# hoàn toàn phụ thuộc vào Garbare collection, GC là một ứng dụng có mục đích giải phóng bộ nhớ trên nền .NET. Nguyên tắc làm việc của GC như sau.
Các mă sau khi được biên dịch, kết quả sẽ được đưa hoàn toàn vào Heap, khi Heap đầy, GC sẽ thực thi so sánh với các mă đang thực hiên, nếu như các kết quả không dùng đến, GC sẽ thực hiện nhiệm vụ dọn dẹp và lấy lại bộ nhớ,

2.2.4 Bắt lỗi xử dụng các ngoại lệ
.NET được thiết kế để đơn giản hoá quá tŕnh bẫy lỗi thông qua các ngoại lệ, ư tưởng ở đây là một vùng mă được thiết kế như là các thủ tục quản ngoại lệ, mỗi đoạn mă có thể giải quyết một điêu kiện lỗi riêng (ví dụ, một file không được t́m thấy, hoặc không được phép thực thi một số lệnh). Những điều kiện này có thể được định nghĩa kĩ hoặc sơ qua tuỳ bạn. Cấu trúc ngoại lệ bảo đảm rằng khi một điều kiện sinh lỗi xảy ra, ngay lập tức luồn thi hành sẽ nhảy đến thủ tục quản ngoại lệ.

2.2.5 Sử dụng các thuộc tính
Các thuộc tính trong IL cho phép người dùng có thể sử dụng dễ dàng hoặc có thể tự thiết lập các thuộc tính của riêng họ

Tiến trình biên dịch thành mă .NET – Common language runtime
CLR có nhiệm vụ biên dịch mă IL thành mă nền .NET. Đây là một tiến tŕnh biên dịch kiểu just in time ( JIT ), khác với kiểu thông dịch trong Java.
Thay vì phải dịch toàn bộ ứng dụng một lần, tŕnh biên dịch JIT sẽ biên dịch từng phần mă khi nó được gọi Khi mă nguồn được biên dich, mă kết quả của nó sẽ được lưu lại trong bộ nhớ cho tới khi thoát khỏi ứng dụng, và trong các lần xử l‎y tiếp theo, máy tính sẽ không phải biên dịch lại một lần nữa, đây là ly‎ do các chương tŕnh .NET luôn chạy nhanh hơn trong những lần sau.
Một đặc điểm nữa là .NET luôn hỗ trợ tối ưu tuỳ vào loại vi xư l‎y, đối với các tiến tŕnh biên dịch các ngôn ngữ cấp cao xưa kia sẽ không tối ưu vào loại vi xử lư, nền .NET hỗ trợ tuỳ loại vi xử l‎ mà đưa ra cách thức phù hợp.

Nortonxe(UDS)
Về Đầu Trang Go down
Xem lý lịch thành viên
symphonyenigmatic
Thành viên bậc 3
Thành viên bậc 3


Tổng số bài gửi : 61
Points : 104
Reputation : 6
Join date : 26/07/2009
Age : 28
Đến từ : http:://thienthancntt.tk

Bài gửiTiêu đề: Re: Lập trình trên C#   Tue Aug 25, 2009 10:52 pm

uh, có nghe.Ngoài ra Trọng tâm phương pháp làm việc của C# xoay quanh khái niệm Assembly nữa. Nhưng thôi, phần đó nếu bạn nào thik thì tự ngâm cứu nha. Thường thì các giáo trình đều nói khá rõ. Mình sẽ không nói ở đây.

Mình nói sơ chương trình đầu tiên nha.
Gì thì gì cũng phải làm 1 cái Hello World trước chứ nhỉ

Gõ y thế này vào khoan hãy thắc mắc :
using System;
using System.Collections.Generic;
using System.Text;

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



Mấy cái linh tinh khoan chú ý , ngó vô cái này cái :
static void Main(string[] args)
{
Console.WriteLine("Hello World");
}


Hàm Main sẽ dc gọi đầu tiên để thực thi chương trình . Console.WriteLine ở đây là để ghi dòng chữ Hello World ra màn hình console . Nếu trên cùng bạn ko dùng Using System thì bạn phải ghi rõ là System.Console.WriteLine . Sau mỗi dòng lệnh phải có dấu chấm phẩy (Wink nhé .

Ai dùng VS 2005 thì làm phát có sẵn code thêm dòng WriteLine vào là xong .

Tiếp theo là về phần ghi chú các đoạn code :
nếu chỉ có 1 dòng thì chỉ cần dùng dấu // sau đó là dòng ghi chú của bạn . Nếu nhiều dòng thì có thể dùng /* dòng 1 , dòng 2 ... */
VD :

using System;
using System.Collections.Generic;
using System.Text;

namespace Hello_World
{
class Program
{
static void Main(string[] args)
{
//Xuat ra man hinh
Console.WriteLine("Hello World");
/* Ket qua xuat ra man hinh se~ la` :
* Hello World
*/
}
}
}


Bi giờ quay lại với cái chương trình đầu tiên này
Bi giờ quay ngược lại nói đến cái chứ class , ko phải là lớp học đâu nhé
Bạn có thể tưởng tượng class giống như 1 cái gì đó trừu tượng bao gồm các đối tượng mà các đối tượng đó có chung các kiểu như có bánh xe hay gì đó chẳng hạn .

Giờ thì nói đến Function , mình dốt văn nên chả biết viết sao thôi thì dùng VD để nói vậy

Bây giờ tới chương trình cộng 2 số
using System;
using System.Collections.Generic;
using System.Text;

namespace Tong
{
class Program
{
static double a = 2, b = 4, c;
static double Tong()
{
c = a + b;
return c;
}
static void Main(string[] args)
{
Tong();
Console.WriteLine("Tong cua a + b = {0}",c);
}
}
}



ở đây vì a,b,c nằm trong class Tong và hàm Main cũng nằm trong class Tong nên bạn phải khai báo khóa Static .

bây giờ nới đến các Function , chú ý đoạn code này :
static double Tong()
{
c = a + b;
return c;
}



đây dc gọi là function Tong . double là kiểu dữ liệu trả về cho biến c , nếu bạn ko muốn return bất cứ cái gì thì thay double bằng void vì đôi khi function của bạn chỉ dùng để thực hiện một hành động nào đó mà ko cần trả ra . ở đây khi function đc khai báo static double Tong() thì bạn phải có return c .


Được sửa bởi SymphonyEnigmatic ngày Thu Aug 27, 2009 5:58 pm; sửa lần 2.
Về Đầu Trang Go down
Xem lý lịch thành viên http://http:://thienthancntt.tk
symphonyenigmatic
Thành viên bậc 3
Thành viên bậc 3


Tổng số bài gửi : 61
Points : 104
Reputation : 6
Join date : 26/07/2009
Age : 28
Đến từ : http:://thienthancntt.tk

Bài gửiTiêu đề: Re: Lập trình trên C#   Wed Aug 26, 2009 2:37 pm

Câu hỏi 1: So sánh sự khác nhau cơ bản giữa C# và C/C++, C# với Java, hay bất cứ ngôn
ngữ cấp cao nào mà bạn đã biết?
Câu hỏi 2: Con trỏ có còn được sử dụng trong C# hay không? Nếu có thì nó được quản lý
như thế nào?
Câu hỏi 3: Khái niệm và ý nghĩa của namespace trong C#? Điều gì xảy ra nếu như ngôn ngữ lập trình không hỗ trợ namespace?
Về Đầu Trang Go down
Xem lý lịch thành viên http://http:://thienthancntt.tk
Sponsored content




Bài gửiTiêu đề: Re: Lập trình trên C#   Today at 1:20 am

Về Đầu Trang Go down
 
Lập trình trên C#
Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang 
Trang 1 trong tổng số 1 trang

Permissions in this forum:Bạn không có quyền trả lời bài viết
minhlap.allgoo.us :: Lập trình :: Công nghệ phần mềm, Lập Trình C#-
Chuyển đến