Trong máy lập trình viên nào cũng có 2 thứ quan trọng: 1 là trình duyệt web để đọc webtretho và đọc vozforum (Nhầm, để google khi bí và stackoverflow), 2 là cái IDE để bật lên mỗi khi thấy manager hoặc team leader đi ngang qua (Nhầm, để code). Continue reading Mẹo vặt trong Visual Studio – Liệu bạn đã biết rõ IDE của mình chưa?
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.
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: Lambda Expression
1. Ôn lại khái niệm Delegate
Các bạn vui lòng đọc lại bài trước để nhớ lại các khái niệm về delegate ở đây: Series C# hay ho: Callback trong C# – Delegate, Action, Predicate, Func
Như đã nói ở bài trước, delegate là kiểu dữ liệu để trỏ tới 1 function, do đó khi gán giá trị cho delegate, ta phải gán 1 function vào, như ví dụ dưới đây:
public delegate void TangQuaDelegate(string qua);
public void tangQua(string qua) {
Console.Write("Da tang " + qua);
}
//Khi sử dụng:
TangQuaDelegate dlg = tangQua;
//Truyền function vào, không phải thực thi function nên ko có dấu ()
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
Callback trong javascript
Callback là một khái niệm không mới. Tuy nhiên, nó là một trong những khái niệm khá lằng ngoằng và dễ nhầm lẫn trong lập trình. Với 1 số bạn có basic về C++, Java hay C#, ta thường biết đến callback qua khái niệm delegate (con trỏ hàm).
Bài viết đầu tiên, mình xin giới thiệu callback trong javascript. Lý do chọn javascript là vì Callback trong javascript là đơn giản, dễ hiểu nhất. Bài viết nhắm tới đối tượng là các bạn beginner nên mình sẽ cố gắng viết đơn giản nhất có thể.
Viết và chia sẻ code online với fiddle
Trước khi giới thiệu fiddle là gì, mình xin kể các bạn nghe 1 câu chuyện “có thật” sau. Một hôm nọ, khi mình đang ở công ty, bỗng nhận được mes của thằng bạn.
- Thằng bạn: Ê mày, cái css của tao bị sao ấy, chỉnh lại giùm tao với. Cái jquery cũng ko chạy luôn, bấm nút xong nó ko ra gì hết. Team viewer giúp tao phát
- Mình: Máy tao cty ko cài team viewer được, quăng file qua đây.
- Thằng bạn: *Hì hục send file*
- Mình: *Mở file lên*, độc mỗi 1 file html, ko css js gì sất, nhắn lại: Có mỗi file html, sao chạy?
- Thằng bạn: *Hì hục zip folder, send lại*
- Mình: *Hì hục tải về, giải nén. Fix lỗi, send lại*. Xong rồi đó.
- Thằng bạn: *Hì hục tải về, giải nén. Test* Ủa, mày sửa chỗ nào vậy
- Mình: …….
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 2)
Chào mừng các bạn đã quay lại với phần 2 bài viết Những điều thú vị trong C#. Bạn có thể xem lại phần 1 ở đây:
https://toidicodedao.wordpress.com/2015/01/22/series-c-hay-ho-nhung-dieu-thu-vi-trong-c-phan-1/
Series C# hay ho là một series dài kì, giới thiệu những điều “hay ho” của C#. Đây chỉ là phần 2 của bài viết thôi, không phải của toàn bộ series đâu nhé.
Continue reading Series C# hay ho: Những điều thú vị trong C# (Phần 2)
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)
