peri hokiperihokiclarustologisticsrimashaop.compola taktis menang gates of olympus x1000 perihokipemain perihoki bongkar trik jepep starlight princess x1000perihoki beri panduan lengkap bermain mahjong ways 2 pgsofttips cara penghasil uang pgsoft mahjong ways 2 perihokimahjong wins 3 perihoki memberikan penggali terbesarfenomena gates of olympus buka peluang besar bagi duta76cara dapat pola emas rahasia di duta7 wild west goldtrik menang pgsoft mahjong ways 2 modal receh maxwin duta76duta76 main pgsoft mahjong ways 2 di sela istirahatscatter hitam mahjong wins 3 spin pasti jepe duta76perihoki spin mahjong ways 2 pgsoft scatter hitam maxwinsimbol mahjong wins 3 yang sering muncul di awal perihokitrik gampang menang mahjong winscuan mahjong wins 3 tanpa hentipola spin taruhan kecil mahjong winsstrategi kunci scatter hitam beruntungacor total mahjong wayskemenangan maksimal mahjong wayskemenangan pria pekanbaru mahjong waysmahjong wins3 fenomena baru sumatera baratmenangkan mahjong dengan lincahmenembus batas keberuntungan mahjong waysmenjajal keberuntungan di mahjong wayspola gratis mahjong ways1scatter hitam senjata rahasia mahjong winsteknik spinning menguntungkan untuk scatter hitamanalisis rtp tertinggi mahjong winsfenomena scatter hitam mahjong winsibu rumah tangga dan keberuntungan mahjongkeseruan main mahjong wins3menang mahjong pengguna baru di sosial mediamenghargai setiap momen di mahjong waysserunya main mahjong di warung internetspin slow motion mancing scatterstrategi jitu maxwin mahjong waysstrategi jitu menang mahjong modal kecil jackpot besaranak kampung papua menggemparkan mahjongkeajaiban scatter hitam mahjong wayskeberhasilan joni mahjong winskejaiban mahjong ways di ujung jalanketua mahjong wins3 kehadiran kemenangan dimulai dari balimahjong kehadiran yang menguntungkanmahjong menggila adat88panduan kilat raih 108 jutatips memenangkan mahjongbarista kopi menang 110 juta spin mahjongdakota76 scatter hitam mahjong wins 3gagal cpns menang mahjong wins 3 rp120 jutakisah karyawan minimarket dapat thr lebih awal mahjong winskisah pelajar sma kuasai mahjong wins 3 inspirasi sekolahkisah penjaga parkir tanah abang motor baru mahjong winskisah sukses ibu rumah tangga bandung mahjong winsmahasiswa kkn beli iphone15 mahjong wins3 dakotamantan anak band influencer mahjong scatter hitampola rtp senin gates of olympus guru matematikaidola scatter hitam gampang meledakidola sensasi jackpotidola pola scatter hitamidola hasilkan jackpot dalam waktu singkatidola mahjong wins 3 bocortukang cuci motor menemukan keberuntungan di mahjong

A PHP Error was encountered

Severity: Warning

Message: ini_set(): Headers already sent. You cannot change the session module's ini settings at this time

Filename: Session/Session.php

Line Number: 282

Backtrace:

File: /home/blogchuabenh/domains/freetuts.net/public_html/site/controllers/Main_controller.php
Line: 10
Function: __construct

File: /home/blogchuabenh/domains/freetuts.net/public_html/sources/index.php
Line: 299
Function: require_once

File: /home/blogchuabenh/domains/freetuts.net/public_html/index.php
Line: 26
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: session_set_cookie_params(): Cannot change session cookie parameters when headers already sent

Filename: Session/Session.php

Line Number: 294

Backtrace:

File: /home/blogchuabenh/domains/freetuts.net/public_html/site/controllers/Main_controller.php
Line: 10
Function: __construct

File: /home/blogchuabenh/domains/freetuts.net/public_html/sources/index.php
Line: 299
Function: require_once

File: /home/blogchuabenh/domains/freetuts.net/public_html/index.php
Line: 26
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: ini_set(): Headers already sent. You cannot change the session module's ini settings at this time

Filename: Session/Session.php

Line Number: 304

Backtrace:

File: /home/blogchuabenh/domains/freetuts.net/public_html/site/controllers/Main_controller.php
Line: 10
Function: __construct

File: /home/blogchuabenh/domains/freetuts.net/public_html/sources/index.php
Line: 299
Function: require_once

File: /home/blogchuabenh/domains/freetuts.net/public_html/index.php
Line: 26
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: ini_set(): Headers already sent. You cannot change the session module's ini settings at this time

Filename: Session/Session.php

Line Number: 314

Backtrace:

File: /home/blogchuabenh/domains/freetuts.net/public_html/site/controllers/Main_controller.php
Line: 10
Function: __construct

File: /home/blogchuabenh/domains/freetuts.net/public_html/sources/index.php
Line: 299
Function: require_once

File: /home/blogchuabenh/domains/freetuts.net/public_html/index.php
Line: 26
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: ini_set(): Headers already sent. You cannot change the session module's ini settings at this time

Filename: Session/Session.php

Line Number: 315

Backtrace:

File: /home/blogchuabenh/domains/freetuts.net/public_html/site/controllers/Main_controller.php
Line: 10
Function: __construct

File: /home/blogchuabenh/domains/freetuts.net/public_html/sources/index.php
Line: 299
Function: require_once

File: /home/blogchuabenh/domains/freetuts.net/public_html/index.php
Line: 26
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: ini_set(): Headers already sent. You cannot change the session module's ini settings at this time

Filename: Session/Session.php

Line Number: 316

Backtrace:

File: /home/blogchuabenh/domains/freetuts.net/public_html/site/controllers/Main_controller.php
Line: 10
Function: __construct

File: /home/blogchuabenh/domains/freetuts.net/public_html/sources/index.php
Line: 299
Function: require_once

File: /home/blogchuabenh/domains/freetuts.net/public_html/index.php
Line: 26
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: ini_set(): Headers already sent. You cannot change the session module's ini settings at this time

Filename: Session/Session.php

Line Number: 317

Backtrace:

File: /home/blogchuabenh/domains/freetuts.net/public_html/site/controllers/Main_controller.php
Line: 10
Function: __construct

File: /home/blogchuabenh/domains/freetuts.net/public_html/sources/index.php
Line: 299
Function: require_once

File: /home/blogchuabenh/domains/freetuts.net/public_html/index.php
Line: 26
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: ini_set(): Headers already sent. You cannot change the session module's ini settings at this time

Filename: Session/Session.php

Line Number: 375

Backtrace:

File: /home/blogchuabenh/domains/freetuts.net/public_html/site/controllers/Main_controller.php
Line: 10
Function: __construct

File: /home/blogchuabenh/domains/freetuts.net/public_html/sources/index.php
Line: 299
Function: require_once

File: /home/blogchuabenh/domains/freetuts.net/public_html/index.php
Line: 26
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: ini_set(): Headers already sent. You cannot change the session module's ini settings at this time

Filename: drivers/Session_files_driver.php

Line Number: 108

Backtrace:

File: /home/blogchuabenh/domains/freetuts.net/public_html/site/controllers/Main_controller.php
Line: 10
Function: __construct

File: /home/blogchuabenh/domains/freetuts.net/public_html/sources/index.php
Line: 299
Function: require_once

File: /home/blogchuabenh/domains/freetuts.net/public_html/index.php
Line: 26
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: session_set_save_handler(): Cannot change save handler when headers already sent

Filename: Session/Session.php

Line Number: 110

Backtrace:

File: /home/blogchuabenh/domains/freetuts.net/public_html/site/controllers/Main_controller.php
Line: 10
Function: __construct

File: /home/blogchuabenh/domains/freetuts.net/public_html/sources/index.php
Line: 299
Function: require_once

File: /home/blogchuabenh/domains/freetuts.net/public_html/index.php
Line: 26
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: session_start(): Cannot start session when headers already sent

Filename: Session/Session.php

Line Number: 143

Backtrace:

File: /home/blogchuabenh/domains/freetuts.net/public_html/site/controllers/Main_controller.php
Line: 10
Function: __construct

File: /home/blogchuabenh/domains/freetuts.net/public_html/sources/index.php
Line: 299
Function: require_once

File: /home/blogchuabenh/domains/freetuts.net/public_html/index.php
Line: 26
Function: require_once

Cấu trúc chương trình C# - Freetuts
CĂN BẢN
NÂNG CAO
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Cấu trúc chương trình C#

Trong bài này, mình sẽ hướng dẫn các bạn viết chương trình "Hello, World" và phân tích nó để hiểu về cú pháp của một chương trình C# nhé. Chương trình này là một chương trình đơn giản nhất ở mọi ngôn ngữ lập trình, nó in ra màn hình dòng thông báo "Hello world!". Trong bài sẽ có sử dụng lệnh xuất ra màng hình Console.WriteLine(); và trong bài kế tiếp mình sẽ nói rõ hơn về lệnh này nhé !

test php

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

1. Viết chương trình Hello world

Đầu tiên, bạn cần khởi chạy visual C# 2010 Express rồi sau đó chọn File -> New Project... rồi làm như hình dưới:

fix 01 jpg

Sau khi đã tạo xong thì nhập đoạn code sau vào:

 

Bài viết này được đăng tại [free tuts .net]

Chương trình Hello world
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
           // in ra màng hình dòng lệnh Hello world!
            Console.Write("Hello world!");
            Console.ReadLine();
        }
    }
}

 

Chương trình sẽ thực thi biên dịch và cho ra kết quả

hlw png

Trên đây là cấu trúc cơ bản của một chương trình C# trên nền Console. Sau đây chúng ta sẽ tìm hiểu từng thành phần của chương trình trên nhé.

2. Các thành phần cơ bản của chương trình.

Mình sẽ giải thích sơ bộ về chương trình như sau.

using

Dùng để chỉ khai báo thư viện nào sẽ sử dụng trong chương trình (thư viện là tập hợp các phương thức, kiểu dữ liệu có sẵn nào đó được tạo ra nhằm hỗ trợ cho việc lập trình nhanh chóng và hiệu quả hơn).

Ví dụ khi bạn muốn viết chương trình game thì phải sử dụng thư viện đồ họa có sẵn, như vậy việc lập trình sẽ nhanh chóng và dễ dàng hơn tự viết rất nhiều.

Cú pháp để khai báo thư viện như sau: using <tên thư viện>;.

namespace

Namespace dùng để báo cho trình biên dịch biết rằng các thành phần nằm bên trong khối { } ngay dưới namespace thuộc về namespace đó, điều này sẽ giúp ta tránh được những xung đột về code. Chúng ta sẽ tìm hiểu nó kỹ hơn ở một bài khác.

Cú pháp của một namespace

 

namespace <tên namespace>
{
    // các thành phần bên trong name space bao gồm các class,enum
    // delegate hoặc các namespace con
}

 

class

Cũng tương tự như namespace, class báo cho trình biên dịch biết rằng những thành phần trong khối { } ngay sau tên class thì thuộc vào chính class đó. Chi tiết về class sẽ được trình bày trong các bài sau nhé

Cú pháp một class: class <tên class> { }

Hàm (phương thức) main

Đây là hàm được tạo sẵn khi tạo project với cấu trúc như sau:

 

static void Main(String[] args ) { }

 

Đây là hàm chính của toàn chương trình. Mỗi khi trình biên dịch dịch chương trình sẽ đi vào hàm Main đầu tiên để bắt đầu chương trình. Từ đây chúng ta sẽ viết code bên trong khối { } của hàm Main.

comment

Trong lập trình, ngoài viết những đoạn mã trong sáng, sạch sẽ, bạn cũng cần nên đưa ra các chú thích để:

  • Thứ nhất: Đôi khi bạn sau 1 tháng 2 tháng hay một tuần thôi, khi đọc lại code của mình đã viết thì bạn lại không hiểu nó viết ra để làm gì, vì vậy chú thích chức năng cho đoạn code của bạn là thực sự cần thiết.
  • Thứ hai: Bạn muốn đóng một đoạn code để sau này có thể sử dụng lại.

Có 3 cách để comment trong Visual C#:

Cách 1: Sử dụng ký tự // nội dung comment

Bất kỳ dòng code nào nằm sau ký tự // đều không được biên dịch, nhưng chỉ có tác dụng trên một dòng.

 

// Đây là comment một dòng 

 

Cách 2: Sử dụng kí tự /* nội dung comment */

Bất kỳ đoạn code nào nằm trong /*  */ đều không đươch biên dịch, nó có tác dụng trên nhiều dòng.

 

/* Đây là đoạn code
chú thích nhiều dòng */

 

Cách 3: Sử dụng ký tự ///

Hai kiểu chú thích trên có thể đặt mọi nơi trong mã nguồn của bạn. Và kiểu chú thích thứ ba này có đôi chút khác biệt, nó bắt đầu bởi /// và nó thường được dùng để ghi chú giải, chú thích cho một phương thức hoặc lớp.

Sau khi bạn viết phương thức hoặc lớp, đặt con trỏ chuột lên trước một dòng và gõ /// Visual C# sẽ tự động generate cho bạn.

 

namespace ConsoleApplication
/// <summary>
/// nội dung chú thích tại đây !
/// </summary>
{ 
        class Program
          {
               static void Main(string[] args)
               {
                   // viết code tại đây
               }
          }
}

 

Dấu chấm phẩy (;)

Mỗi khi kết thúc một dòng lệnh chúng ta phải viết thêm một dấu ; ngay sau dòng code để báo cho trình biên dịch biết rằng chúng ta đã kết thúc dòng lệnh hiện tại.

Chúng ta có thể viết các dòng lệnh trên một hàng, nhưng các bạn không nên viết như vậy vì code sẽ rất khó rõ ràng cộng với đó là việc fix bug rất khó khăn. Vậy nên khi viết code chúng ta phải:

  • Mỗi dòng code là một hàng.
  • Các đoạn code con thì để trong khối lệnh { }.

Ngoài ra bạn cũng cần nên lưu ý một số điểm như:

  • C# có phân biệt kiểu chữ
  • Sự thực thi chương trình bắt đầu tại phương thức Main.
  • Tên file trong C# có thể khác tên lớp nếu bạn muốn.

3. Biên dịch và thực thi chương trình.

Đầu tiên, bạn cần khởi chạy visual C# 2010 Express rồi sau đó chọn File -> New Project... 

Sau đó các bạn làm như hình dưới:

run png

Sau khi thực thi chương trình thì sẽ xuất hiện một cửa sổ Command Prompt chứa dòng "Hello World". Bạn cần chú ý hai lệnh sau:

  • Đoạn code Console.Writeline("Hello World") sẽ in ra chuỗi Hello World trên màn hình console.
  • Đoạn Console.RealKey() sẽ dừng màn hình lại để chúng ta xem kết quả, nếu không có lệnh này thì chương trình sẽ chạy nhanh và kết thúc nên chúng ta không thể xem kết quả được.

4. Kết luận.

Trong bài này mình đã giúp các bạn nắm được cấu trúc một chương trình C# cơ bản, hiểu hơn về một số từ khóa xuất hiện trong chương trình và  chúng ta đã viết được một chương trình Hello world chạy thử rồi đúng không nào. Qua bài tiếp theo mình hướng dẫn cho các bạn các cú pháp C# cơ bản. Chúc các bạn học tốt và luôn đồng hành cùng freetuts nhé !!!

Cùng chuyên mục:

Memento Design Pattern trong C# - Cách triển khai và ví dụ

Memento Design Pattern trong C# - Cách triển khai và ví dụ

Interpreter Design Pattern trong C# - Cách triển khai và ví dụ

Interpreter Design Pattern trong C# - Cách triển khai và ví dụ

Strategy Design Pattern trong C# - Cách triển khai và ví dụ

Strategy Design Pattern trong C# - Cách triển khai và ví dụ

Visitor Design Pattern trong C# - Cách triển khai và ví dụ

Visitor Design Pattern trong C# - Cách triển khai và ví dụ

Command Design Pattern trong C# - Cách triển khai và ví dụ

Command Design Pattern trong C# - Cách triển khai và ví dụ

Observer Design Pattern trong C# - Cách triển khai và ví dụ

Observer Design Pattern trong C# - Cách triển khai và ví dụ

Iterator Design Pattern trong C# - Cách triển khai và ví dụ

Iterator Design Pattern trong C# - Cách triển khai và ví dụ

Proxy Design Pattern trong C# - Cách triển khai và ví dụ

Proxy Design Pattern trong C# - Cách triển khai và ví dụ

Composite Design Pattern trong C# - Cách triển khai và ví dụ

Composite Design Pattern trong C# - Cách triển khai và ví dụ

Bridge Design Pattern trong C# - Cách triển khai và ví dụ

Bridge Design Pattern trong C# - Cách triển khai và ví dụ

Decorator Design Pattern trong C# - Cách triển khai và ví dụ

Decorator Design Pattern trong C# - Cách triển khai và ví dụ

Facade Design Pattern trong C# - Cách triển khai và ví dụ

Facade Design Pattern trong C# - Cách triển khai và ví dụ

Adapter Design Pattern trong C# - Cách triển khai và ví dụ

Adapter Design Pattern trong C# - Cách triển khai và ví dụ

Singleton Design Pattern trong C# - Cách triển khai và ví dụ

Singleton Design Pattern trong C# - Cách triển khai và ví dụ

Prototype Design Pattern trong C# - Cách triển khai và ví dụ

Prototype Design Pattern trong C# - Cách triển khai và ví dụ

Builder Design Pattern trong C# - Cách triển khai và ví dụ

Builder Design Pattern trong C# - Cách triển khai và ví dụ

Tự viết ứng dụng quản lý xe ra vào C# Winforms và Firebase

Tự viết ứng dụng quản lý xe ra vào C# Winforms và Firebase

Trong bài viết này Freetuts chia sẽ cho các bạn một ứng dụng khá thú…

Factory Design Pattern trong C# - Cách triển khai và ví dụ

Factory Design Pattern trong C# - Cách triển khai và ví dụ

Chúng ta sẽ tìm hiểu về Factory Design Pattern trong C# là gì? Cách triển…

Hướng dẫn giải phương trình bậc hai trong C#

Hướng dẫn giải phương trình bậc hai trong C#

Giải phương trình bậc nhất ax + b = 0 trong C#

Giải phương trình bậc nhất ax + b = 0 trong C#

Top