Showing posts with label C#. Show all posts
Showing posts with label C#. Show all posts

Feb 11, 2015

String in C#

EmptyBiến thành viên tĩnh đại diện cho một chuỗi rỗng
Compare()Phương thức tĩnh so sánh hai chuỗi
CompareOrdinal()Phương thức tĩnh, so sánh 2 chuỗi không quan tâm đến ngôn ngữ
Concat()Phương thức tĩnh, tạo một chuỗi mới từ nhiều chuỗi
Copy()Phương thức tĩnh, tạo một bản sao
Equals()Phương thức tĩnh, so sánh hai chuỗi có giống nhau
Format()Phương thức tĩnh, định dạng chuỗi bằng các định dạng đặc tả
Intern()Phương thức tĩnh, nhận về một tham chiếu đến chuỗi
IsInterned()Phương thức tĩnh, nhận về một tham chiếu đến chuỗi đã tồn tại
Join()Phương thức tĩnh, ghép nối nhiều chuỗi, mềm dẻo hơn Concat()
CharsIndexer của chuỗi
LengthChiều dài chuỗi (số ký tự)
Clone()Trả về một chuỗi
CompareTo()So sánh với chuỗi khác
CopyTo()Sao chép một lượng ký tự trong chuỗi sang mảng ký tự
EndsWith()Xác định chuỗi có kết thúc bằng chuỗi tham số không
Equals()Xác định hai chuỗi có cùng giá trị
Insert()Chèn một chuỗi khác vào chuỗi
LastIndexOf()vị trí xuất hiện cuối cùng của một chuỗi con trong chuỗi
PadLeft()Canh phải các ký tự trong chuỗi, chèn thêm các khoảng trắng bên trái khi cần
PadRight()Canh trái các ký tự trong chuỗi, chèn thêm các khoảng trắng bên phải khi cần
Remove()Xóa một số ký tự
Split()Cắt một chuỗi thành nhiều chuỗi con
StartsWith()Xác định chuỗi có bắt đầu bằng một chuỗi con tham số
SubString()Lấy một chuỗi con
ToCharArray()Sao chép các ký tự của chuỗi thành mảng các ký tự
ToLower()Tạo bản sao chuỗi chữ thường
ToUpper()Tạo bản sao chuỗi chữ hoa
Trim()Cắt bỏ các khoảng trắng hai đầu chuỗi
TrimEnd()Cắt bỏ khoảng trắng cuối chuỗi
TrimStart()Cắt bỏ khoảng trắng đầu chuỗi

Feb 4, 2015

base keyword in C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Constructor
{
    class Program
    {
        class A
        {
            public A ()
            {
                Console.WriteLine("A");
            }
            public A (int x)
            {
                Console.WriteLine("a");
            }
        }
        class B:A
        {
            public B()
            {
                Console.WriteLine("B");
            }
             public B (int x) : base (x)
            {
                Console.WriteLine("b");
            }
        }
        class C : B
        {
            public C ()
            {
                Console.WriteLine("C");
            }
             public C (int x) : base(x)
            {
                Console.WriteLine("c");
            }
        }
        static void Main(string[] args)
        {
            A x = new C(); //Result: ABC
            A y = new C(5); //Result: abc
            Console.ReadLine();
        }
    }
}

Constructor & Inheritance in C#

Subclass doesn't inherit constructors of its parent class.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Constructor
{
    class Program
    {
        class A
        {
            public A ()
            {
                Console.WriteLine("A");
            }
        }
        class B:A
        {
            public B()
            {
                Console.WriteLine("B");
            }
        }
        class C : B
        {
            public C ()
            {
                Console.WriteLine("C");
            }
        }
        static void Main(string[] args)
        {

            A x = new A(); //Result on console: A
            A y = new B(); //Result: AB
            A z = new C(); //Result: ABC

            Console.ReadLine();
        }
    }
}

out và ref trong C#

- Cả out và ref được dùng khi ta muốn truyền tham chiếu vào hàm.

- Dùng ref khi mà cần thay đổi giá trị tham số truyền vào và có quan tâm đến giá trị truyền vào là bao nhiều (vì thế cần khởi tạo giá trị trước khi truyền vào) rồi mới thay đổi.

void refFunc(ref int i) 
{
      i++;
}

int n;
refFunc(ref n);
//Không được vì n chưa khởi tạo.

int n = 3;
refFunc(ref n);
//Được, n = 4

- Dùng out khi mà cần thay đổi giá trị tham số truyền vào, nhưng không quan tâm giá trị tham số truyền vào là bao nhiêu (ta phải khởi tạo lại giá trị này trong hàm) rồi mới thay đổi.

void outFunc(out int i)
{
       i = 0;  
        i++;
}

int n;
outFunc(out n);
//n = 1

int n = 5;
outFunc(out n);
//n = 1; khổng phải 6

Jan 27, 2015

Convert


            int n;
            n = int.Parse(Console.ReadLine());
            double sum = 0.0;
            for (int iCount = 1; iCount <= n; iCount++)
            {
                sum = sum + 1 / iCount;
            }
            Console.WriteLine("Ket qua: {0}", sum);


            int n;
            n = int.Parse(Console.ReadLine());
            double sum = 0.0;
            for (int iCount = 1; iCount <= n; iCount++)
            {
                sum = sum + 1 / Convert.ToDouble(iCount);
            }
            Console.WriteLine("Ket qua: {0}", sum);


            int n;
            n = int.Parse(Console.ReadLine());
            double sum = 0.0;
            for (int iCount = 1; iCount <= n; iCount++)
            {
                sum = sum + 1.0 / iCount;
            }
            Console.WriteLine("Ket qua: {0}", sum);

Jan 18, 2015

Some hotkey in VS C#

a. Vô hiệu một vùng code thành dạng comment

Ctrl + K + C: vô hiệu hóa một vùng code thành dạng comment
Ctrl + K + U:  Hoàn lại lệnh trên
Edit ->; Avanced -> Comment Slection

String vs string C#

In C#, the string keyword is an alias for String. Therefore, String and string are equivalent, and you can use whichever naming convention you prefer.