Tag Archives: lập trình

Series C# hay ho: IEnumerable và yield, tưởng đơn giản mà lắm thứ phải bàn

Khái niệm IEnumerable thì chắc cũng có kha khá người biết, khi ta muốn duyệt tất cả các phần tử trong 1 danh sách, ta thường dùng hàm foreach như sau.

foreach(Student student in students) {}

Các kiểu Collection trong C# như List, ArrayList, Dictionary v…v đều implement interface IEnumerable, do đó ta có thể sử dụng foreach để duyệt.

Continue reading Series C# hay ho: IEnumerable và yield, tưởng đơn giản mà lắm thứ phải bàn

Series C# hay ho: Generic là cái thứ chi chi

Generic là một vị anh hùng thầm lặng trong C#.NET (Dân gian còn gọi là anh hùng núp). Generic 1 trong “5 anh em siêu nhân” cấu thành LINQ (4 người còn lại là: Extension method, Delegate, Lambda Expression và yield). Anh núp trong 50% những dòng code chúng ta viết, đến nỗi chúng ta dùng 1 cách vô thức, không biết đến sự tồn tại hay tên gọi của anh.

pr-2

Mình viết bài này nhằm vinh danh “anh hùng thầm lặng” Generic, cũng như hướng dẫn các bạn cách tạo, sử dụng generic class và generic method.
Continue reading Series C# hay ho: Generic là cái thứ chi chi

Series C# hay ho: Callback trong C# – Delegate, Action, Predicate, Func

1. Nhắc lại về khái niệm callback

Nếu chưa có khái niệm rõ ràng về callback, các bạn nên đọc bài viết về Callback trong javascript mà mình đã viết.

Trong javascript, để callback, ta chỉ cần truyền 1 function vào như 1 parameter như sau:


function tangQua(qua) {
   return console.log("Đã tặng " + qua);
}

function oNha(vo, tangQua){
   var qua = "Quà đã nhận";
   tangQua(qua);
}

Continue reading Series C# hay ho: Callback trong C# – Delegate, Action, Predicate, Func

Short-circuit evaluation : Đoản mạch và chập điện

Bài viết hôm nay sẽ nhắc lại khái niệm “đoản mạch” của biểu thức logic trong lập trình. Mình dùng từ “nhắc lại” chứ không dùng từ “giới thiệu”, vì đây là điều ai cũng được học trong quá trình học, và 90% đều không áp dụng trong quá trình lập trình. (Số liệu thật đấy nhé, không chém đâu).

Continue reading Short-circuit evaluation : Đoản mạch và chập điện

Series C# hay ho: Những điều thú vị trong C# (Phần 1)

Như đã giới thiệu, mình là một lập trình viên C#.NET, do đó C# là ngôn ngữ mình tiếp xúc hằng ngày. Lẽ dĩ nhiên, trong quá trình sử dụng + tìm hiểu, mình nhận thấy có C# có những điều nhỏ nhặt, nhưng lại khá hay ho, cho thấy các cụ Microsoft có suy nghĩ tới developer khi tạo ra ngôn ngữ này.

Nội dung bài viết này là những điều “hay ho” mình đã nói. Những điều “hay ho” (mà ít người biết) này giúp cho việc code được nhanh hơn, code dễ đọc dễ hiểu hơn1. Trong quá trình so sánh, mình có nhắc tới sự thuận tiện khi developer bằng C# so với “các ngôn ngữ khác”. Ở đây cũng giống như so sánh OMO với “bột giặt thường” vậy, không có ý so sánh C# với Java hay PHP của các bạn đâu nhé, các bạn đừng ném đá tội nghiệp =))). Continue reading Series C# hay ho: Những điều thú vị trong C# (Phần 1)

Học ngôn ngữ lập trình nào bây giờ (Phần cuối)

Tóm tắt nội dung bài viết

  1. Trước khi hỏi câu này, hãy tự hỏi : Mình muốn học lập trình để làm gì?
  2. Lựa chọn thật ra không quan trọng. Học một ngôn ngữ mới là chuyện đơn giản.
  3. Lời khuyên của bản thân Hoàng

Phần cuối – Lời khuyên của bản thân Hoàng

Như tựa đề, dưới đây là một số lời khuyên của mình, dựa theo kinh nghiệm cá nhân (Mình chỉ có kinh nghiệm mảng web và mobile, nên các lời khuyên có thể sẽ không áp dụng được cho mảng embedded system). Continue reading Học ngôn ngữ lập trình nào bây giờ (Phần cuối)

Học ngôn ngữ lập trình nào bây giờ (Phần 2)

Tóm tắt nội dung bài viết

  1. Trước khi hỏi câu này, hãy tự hỏi : Mình muốn học lập trình để làm gì?
  2. Lựa chọn thật ra không quan trọng. Học một ngôn ngữ mới là chuyện đơn giản.
  3. Lời khuyên của bản thân Hoàng

Phần 2 – Lựa chọn thật ra không quan trọng, học một ngôn ngữ mới là chuyện đơn giản

Đọc tới đây, có lẽ nhiều bạn sẽ quăng bom, ném gạch mình tới tấp “dám chắc thằng chủ thớt không phải coder, phán như thánh”.

Trước khi ném đá, mong các đồng chí bình tĩnh nghe Hoàng giải thích trình bày. Mình cũng từng là sinh viên IT như các bạn. Continue reading Học ngôn ngữ lập trình nào bây giờ (Phần 2)