Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 162 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
162
Dung lượng
3,45 MB
Nội dung
TÀI LIỆU LẬP TRÌNH C# VÀ CẤU HÌNH VISUAL STUDIO 2013 Bắt đầu với C# cần gì? Hướng dẫn cài đặt cấu hình Visual Studio 2013 Học nhanh C# cho người bắt đầu 1- Giới thiệu 2- Tạo Project C# bạn 3- Giải thích cấu trúc class 4- Giải thích cấu trúc Project 5- Chú ý quan trọng với chương trình C# 6- Thêm class 7- Các kiểu liệu C# 8- Biến khai báo 9- Câu lệnh rẽ nhánh 9.1- Câu lệnh If-else 9.2- Câu lệnh Switch-Case 10- Vòng lặp C# 10.1- Vòng lặp for 10.2- Vòng lặp while 10.3- Vòng lặp do-while 10.4- Lệnh break vòng lặp 10.5- Lệnh continue vòng lặp 11- Mảng C# 11.1- Mảng chiều 11.2- Mảng hai chiều 11.3- Mảng mảng 12- Class, đối tượng cấu tử 13- Trường (Field) 14- Phương thức (Method) 15- Thừa kế C# 16- Thừa kế đa hình C# Thừa kế đa hình C# Abstract class Interface C# Access Modifier C# Hướng dẫn sử dụng C# String StringBuilder Hướng dẫn sử dụng C# Generics Hướng dẫn sử lý ngoại lệ C# Hướng dẫn sử dụng Date Time C# Thao tác với tập tin thư mục C# Nén giải nén C# Hướng dẫn sử dụng Stream - luồng vào nhị phân C# Kết nối Database SQL Server sử dụng C# Hướng dẫn làm việc với Database SQL Server sử dụng C# Kết nối Database MySQL sử dụng C# Hướng dẫn làm việc với Database MySQL sử dụng C# Kết nối Database Oracle sử dụng C# không cần Oracle Client Hướng dẫn làm việc với Database Oracle sử dụng C# 1- Bắt đầu với C# cần gì? Để lập trình với C# bạn cần cài đặt Visual Studio Cho tới thời điểm tháng 4-2015 phiên Visual Studio Microsoft Visual Studio 2015 dạng thử nghiệm không thức Phiên trước gần Visual Studio 2013 Chúng ta cài đặt phiên Visual Studio hỗ trợ nhiều ngôn ngữ lập trình khác cho phép trình biên tập mã gỡ lỗi để hỗ trợ (mức độ khác nhau) ngôn ngữ lập trình Các ngôn ngữ tích hợp gồm có C, C++ C++/CLI (thông qua Visual C++), VB.NET (thông qua Visual Basic.NET), C thăng (thông qua Visual C#) F# (như Visual Studio 2010) Hỗ trợ cho ngôn ngữ khác J++/J#, Python Ruby thông qua dịch vụ cài đặt riêng rẽ Nó hỗ trợ XML/XSLT, HTML/XHTML, JavaScript CSS Visual Studio 2013 chia nhiều phiên thương mại: • Visual Studio Ultimate 2013 • Visual Studio Premium 2013 • Visual Studio Professional 2013 • Visual Studio Test Professional 2013 • Visual Studio Team Foundation Server 2013 Phiên đầy đủ Visual Studio 2013 Ultimate, với gói lập trình đầy đủ nhất, hỗ trợ tốt nhất, dung lượng vào khoảng 7.2GB 2- Cài đặt cấu hình Visual Studio 2013 1- Giới thiệu Đây tài liệu hướng dẫn C# cho người bắt đầu Để lập trình C# bạn phải cài đặt công cụ lập trình Visual Studio Bạn xem hướng dẫn download cài đặt tại: • http://o7planning.org/web/fe/default/vi/document/239644/bat-dau-voi-csharp-cannhung-gi Đây tài liệu học nhanh, bạn bắt đầu với C#, cách hướng dẫn "Từng bước bước" bạn đọc từ xuống, tài liệu giúp bạn có nhìn tổng quan trước vào tài liệu chi tiết khác 2- Tạo Project C# bạn Đây hình ảnh bạn mở Visual Studio Tạo Project: Chúng ta tạo Project đơn giản (Ứng dụng Console, ứng dụng giao diện) Nhập vào: • Name: HelloCSharp • Solution: Create new solution • Solution Name: MySolution Đây hình ảnh Project bạn tạo Bạn cần nhấn vào Solution Explorer để xem cấu trúc Project vừa tạo Visual Studio tạo Solution (Giải pháp) có tên MySolution chứa bên Project có tên HelloCSharp Và tạo mặc định class có tên Program (Ứng với file Program.cs) Chú ý: Một Solution có nhiều Project Sửa code class Program, để chạy in hình Console dòng chữ "Hello CSharp", chờ đợi người dùng nhập vào dòng text trước kết thúc Nhấn vào Start để chạy class Program 3- Giải thích cấu trúc class Hình minh họa cấu trúc class có tên Program, nằm không gian tên (namespace) HelloCSharp Một không gian tên chứa nhiều class, thực tập hợp class Nếu bạn muốn sử dụng class đó, bạn phải khai báo sử dụng class đó, khai báo sử dụng không gian tên chứa class ? // Khai báo sử dụng namespace System // (Nghĩa sử dụng tất class có namespace này) using System; Khi chương trình chạy, phương thức Main(string[]) gọi thực thi static từ khóa thông báo phương thức tĩnh void từ khóa thông báo phương thức không trả args tham số phương thức có kiểu mảng chuỗi - string[] ? static void Main(string[] args) { // Ghi hình Console dòng chữ Console.WriteLine("Hello CSharp"); // Đợi người dùng gõ vào dòng chữ trước tắt hình Console Console.ReadLine(); } Sau khai báo sử dụng namespace System, bạn sử dụng class Console nằm namespace WriteLine(string) phương thức tĩnh class Console, ghi hình chuỗi ký tự ? 10 // Khai báo sử dụng không gian tên System // (Nó có chứa class Console) using System; // Và sử dụng class Console: Console.WriteLine("Hello CSharp"); // Nếu bạn không muốn khai báo sử dụng không gian tên // Nhưng muốn in dòng text, bạn phải viết đầy đủ: System.Console.WriteLine("Hello CSharp"); 4- Giải thích cấu trúc Project Một giải pháp (Solution) chứa nhiều Project Trong Project chứa class Khi nhìn "Class View" bạn thấy class bạn thuộc vào không gian tên (namespace) Trong CSharp bạn tạo class Animal với không gian tên HelloCSharp, class mặc định nằm thư mục gốc project Bạn tạo class khác MyClass với không gian tên O7planning.CSharp class nằm thư mục gốc project Với project Đôi bạn cần tìm cuối tháng năm cụ thể Chẳng hạn bạn đặt câu hỏi tháng năm 2015 ngày bao nhiêu? ngày 28 hay 29 Ví dụ có vài phương thức tiện ích để làm điều này: FirstLastDayDemo.cs ? using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DateTimeTutorial { class FirstLastDayDemo 10 { 11 public static void Main(string[] args) 12 { 13 14 Console.WriteLine("Today is " + DateTime.Today); 15 16 DateTime yesterday = GetYesterday(); 17 18 Console.WriteLine("Yesterday is " + yesterday); 19 20 21 // Ngày tháng năm 2015 22 DateTime aDateTime = GetFistDayInMonth(2015, 2); 23 24 Console.WriteLine("First day of 2-2015: " + aDateTime); 25 26 // Ngày cuối tháng năm 2015 27 aDateTime = GetLastDayInMonth(2015, 2); 28 29 Console.WriteLine("Last day of 2-2015: " + aDateTime); 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 // Ngày năm 2015 aDateTime = GetFirstDayInYear(2015); Console.WriteLine("First day year 2015: " + aDateTime); // Ngày cuối năm 2015 aDateTime = GetLastDayInYear(2015); Console.WriteLine("First day year 2015: " + aDateTime); Console.Read(); } // Trả ngày hôm qua public static DateTime GetYesterday() { // Ngày hôm DateTime today = DateTime.Today; // Trả ngày trước ngày return today.AddDays(-1); } // Trả ngày năm public static DateTime GetFirstDayInYear(int year) { DateTime aDateTime = new DateTime(year, 1, 1); return aDateTime; } // Trả ngày cuối năm public static DateTime GetLastDayInYear(int year) { DateTime aDateTime = new DateTime(year +1, 1, 1); // Trừ ngày DateTime retDateTime = aDateTime.AddDays(-1); return retDateTime; } // Trả ngày tháng public static DateTime GetFistDayInMonth(int year, int month) { DateTime aDateTime = new DateTime(year, month, 1); return aDateTime; } // Trả ngày cuối tháng 80 public static DateTime GetLastDayInMonth(int year, int month) 81 { 82 DateTime aDateTime = new DateTime(year, month, 1); 83 84 // Cộng thêm tháng trừ ngày 85 DateTime retDateTime = aDateTime.AddMonths(1).AddDays(-1); 86 87 return retDateTime; 88 } 89 90 } 91 92 } Chạy ví dụ: 4- Đo khoảng thời gian Bạn có hai đối tượng DateTime, bạn tính khoảng thời gian đối tượng này, kết nhận đối tượng TimeSpan IntervalDemo.cs ? using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DateTimeTutorial { class IntervalDemo 10 { 11 public static void Main(string[] args) 12 { 13 // Thời điểm 14 DateTime aDateTime = DateTime.Now; 15 16 // Thời điểm năm 2000 17 DateTime y2K = new DateTime(2000,1,1); 18 19 // Khoảng thời gian từ năm 2000 tới 20 TimeSpan interval = aDateTime.Subtract(y2K); 21 22 23 Console.WriteLine("Interval from Y2K to Now: " + interval); 24 25 Console.WriteLine("Days: " + interval.Days); 26 Console.WriteLine("Hours: " + interval.Hours); 27 Console.WriteLine("Minutes: " + interval.Minutes); 28 Console.WriteLine("Seconds: " + interval.Seconds); 29 30 31 Console.Read(); 32 } 33 } 34 35 } Chạy ví dụ: 5- So sánh hai đối tượng DateTime DateTime có phương thức tĩnh Compare Phương thức dùng để so sánh đối tượng DateTime xem đối tượng sớm đối tượng lại: ? // Nếu giá trị < nghĩa firstDateTime sớm (đứng trước) // Nếu giá trị > nghĩa secondDateTime sớm (đứng trước) // Nếu giá trị = nghĩa đối tượng giống mặt thời gian public static int Compare(DateTime firstDateTime, DateTime secondDateTime); CompareDateTimeExample.cs ? using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DateTimeTutorial { class CompareDateTimeExample 10 { 11 public static void Main(string[] args) 12 { 13 // Thời điểm 14 DateTime firstDateTime = new DateTime(2000, 9, 2); 15 16 DateTime secondDateTime = new DateTime(2011, 1, 20); 17 18 int compare = DateTime.Compare(firstDateTime, secondDateTime); 19 20 Console.WriteLine("First DateTime: " + firstDateTime); 21 Console.WriteLine("Second DateTime: " + secondDateTime); 22 23 Console.WriteLine("Compare value: " + compare);// -1 24 25 if (compare < 0) 26 { 27 // firstDateTime sớm secondDateTime 28 Console.WriteLine("firstDateTime is earlier than secondDateTime"); 29 } 30 else 31 { 32 // firstDateTime muộn secondDateTime 33 Console.WriteLine("firstDateTime is laster than secondDateTime"); 34 } 35 36 Console.Read(); 37 } 38 } 39 40 } Chạy ví dụ: 6- Định dạng tiêu chuẩn DateTime Định dạng DateTime nghĩa chuyển đổi đối tượng DateTime thành string theo khuôn mẫu đó, chẳng hạn theo định dạng ngày/tháng/năm, định dạng dựa vào địa phương (locale) cụ thể Phương thức GetDateTimeFormats DateTime: • Chuyển đổi giá trị đối tượng (DateTime) thành mảng string định dạng theo chuẩn hỗ trợ AllStandardFormatsDemo.cs ? using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DateTimeTutorial { class AllStandardFormatsDemo 10 { 11 public static void Main(string[] args) 12 { 13 14 DateTime aDateTime = new DateTime(2015, 12, 20, 11, 30, 50); 15 16 // Một mảng string kết định dạng hỗ trợ 17 string[] formattedStrings = aDateTime.GetDateTimeFormats(); 18 19 foreach (string format in formattedStrings) 20 { 21 Console.WriteLine(format); 22 } 23 24 25 Console.Read(); 26 } 27 } 28 29 } Chạy ví dụ: Ví dụ liệt kê string sau định dạng đối tượng DateTime theo tiêu chuẩn có sẵn hỗ trợ NET Để lấy định dạng theo mẫu cụ thể bạn sử dụng phương thức sau: Methods Description ToString(String, IFormatProvider) Chuyển đổi giá trị đối tượng DateTime thành chuỗi đại diện tương đương cách sử dụng định dạng quy định (Tham số String) thông tin định dạng văn hóa cụ thể (Tham số IFormatProvider) ToString(IFormatProvider) Chuyển đổi giá trị đối tượng DateTime thành string tương ứng với thông tin định dạng văn hóa (culture) cho tham số ToString(String) Chuyển đổi giá trị đối tượng DateTime thành chuỗi tương đương cách sử dụng định dạng quy định quy ước định dạng văn hóa Ví dụ định dạng DateTime theo định dạng 'd', định rõ văn hóa tham số SimpleDateTimeFormat.cs ? using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Globalization; namespace DateTimeTutorial { 10 class SimpleDateTimeFormat 11 { 12 public static void Main(string[] args) 13 { 14 15 DateTime aDateTime = new DateTime(2015, 12, 20, 11, 30, 50); 16 17 Console.WriteLine("DateTime: " + aDateTime); 18 19 String d_formatString = aDateTime.ToString("d"); 20 21 Console.WriteLine("Format 'd' : " + d_formatString); 22 23 24 // Theo văn hóa Mỹ 25 CultureInfo enUs = new CultureInfo("en-US"); 26 27 // ==> 12/20/2015 (MM/dd/yyyy) 28 Console.WriteLine("Format 'd' & en-US: " + aDateTime.ToString("d", enUs)); 29 30 31 // Theo văn hóa Việt Nam 32 CultureInfo viVn = new CultureInfo("vi-VN"); 33 34 // ==> 12/20/2015 (dd/MM/yyyy) 35 Console.WriteLine("Format 'd' & vi-VN: " + aDateTime.ToString("d", viVn)); 36 37 38 Console.Read(); 39 } 40 } 41 42 } Chạy ví dụ: Các ký tự định dạng tiêu chuẩn Code Pattern "d" Ngày tháng năm ngắn "D" Ngày tháng năm dài "f" Ngày tháng năm dài, thời gian ngắn "F" Ngày tháng năm dài, thời gian dài "g" Ngày tháng thời gian nói chung Thời gian ngắn "G" Ngày tháng thời gian nói chung Thời gian dài "M", 'm" Tháng/ngày "O", "o" Round-trip date/time "R", "r" RFC1123 "s" Ngày tháng thời gian xếp "t" Thời gian ngắn "T" Thời gian dài "u" Ngày tháng năm xếp phổ biến (Universal sortable date time) "U" Ngày tháng năm thời gian dài, phổ biến (Universal full date time) "Y", "y" Năm tháng SimpleDateTimeFormatAll.cs ? using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DateTimeTutorial { class SimpleDateTimeFormatAll 10 { 11 public static void Main(string[] args) 12 { 13 char[] formats = {'d', 'D','f','F','g','G','M', 'm','O', 'o','R', 'r','s','t','T','u','U','Y', 'y'}; 14 15 16 DateTime aDateTime = new DateTime(2015, 12, 20, 11, 30, 50); 17 18 foreach (char ch in formats) 19 { 20 Console.WriteLine("\n======" + ch + " ========\n"); 21 // Một mảng string kết định dạng hỗ trợ 22 string[] formattedStrings = aDateTime.GetDateTimeFormats(ch); 23 24 foreach (string format in formattedStrings) 25 { 26 Console.WriteLine(format); 27 } 28 } 29 30 31 32 Console.ReadLine(); 33 } 34 } 35 36 } Chạy ví dụ: ? ======d ======== 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 12/20/2015 12/20/15 12/20/15 12/20/2015 15/12/20 2015-12-20 20-Dec-15 ======D ======== Sunday, December 20, 2015 December 20, 2015 Sunday, 20 December, 2015 20 December, 2015 ======f ======== Sunday, December 20, 2015 11:30 AM Sunday, December 20, 2015 11:30 AM Sunday, December 20, 2015 11:30 Sunday, December 20, 2015 11:30 December 20, 2015 11:30 AM December 20, 2015 11:30 AM December 20, 2015 11:30 December 20, 2015 11:30 Sunday, 20 December, 2015 11:30 AM Sunday, 20 December, 2015 11:30 AM Sunday, 20 December, 2015 11:30 Sunday, 20 December, 2015 11:30 20 December, 2015 11:30 AM 20 December, 2015 11:30 AM 20 December, 2015 11:30 20 December, 2015 11:30 ======F ======== Sunday, December 20, 2015 11:30:50 AM Sunday, December 20, 2015 11:30:50 AM Sunday, December 20, 2015 11:30:50 Sunday, December 20, 2015 11:30:50 December 20, 2015 11:30:50 AM December 20, 2015 11:30:50 AM December 20, 2015 11:30:50 December 20, 2015 11:30:50 Sunday, 20 December, 2015 11:30:50 AM Sunday, 20 December, 2015 11:30:50 AM Sunday, 20 December, 2015 11:30:50 Sunday, 20 December, 2015 11:30:50 20 December, 2015 11:30:50 AM 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 20 December, 2015 11:30:50 AM 20 December, 2015 11:30:50 20 December, 2015 11:30:50 ======g ======== 12/20/2015 11:30 AM 12/20/2015 11:30 AM 12/20/2015 11:30 12/20/2015 11:30 12/20/15 11:30 AM 12/20/15 11:30 AM 12/20/15 11:30 12/20/15 11:30 12/20/15 11:30 AM 12/20/15 11:30 AM 12/20/15 11:30 12/20/15 11:30 12/20/2015 11:30 AM 12/20/2015 11:30 AM 12/20/2015 11:30 12/20/2015 11:30 15/12/20 11:30 AM 15/12/20 11:30 AM 15/12/20 11:30 15/12/20 11:30 2015-12-20 11:30 AM 2015-12-20 11:30 AM 2015-12-20 11:30 2015-12-20 11:30 20-Dec-15 11:30 AM 20-Dec-15 11:30 AM 20-Dec-15 11:30 20-Dec-15 11:30 ======G ======== 12/20/2015 11:30:50 AM 12/20/2015 11:30:50 AM 12/20/2015 11:30:50 12/20/2015 11:30:50 12/20/15 11:30:50 AM 12/20/15 11:30:50 AM 12/20/15 11:30:50 12/20/15 11:30:50 12/20/15 11:30:50 AM 12/20/15 11:30:50 AM 12/20/15 11:30:50 12/20/15 11:30:50 12/20/2015 11:30:50 AM 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 12/20/2015 11:30:50 AM 12/20/2015 11:30:50 12/20/2015 11:30:50 15/12/20 11:30:50 AM 15/12/20 11:30:50 AM 15/12/20 11:30:50 15/12/20 11:30:50 2015-12-20 11:30:50 AM 2015-12-20 11:30:50 AM 2015-12-20 11:30:50 2015-12-20 11:30:50 20-Dec-15 11:30:50 AM 20-Dec-15 11:30:50 AM 20-Dec-15 11:30:50 20-Dec-15 11:30:50 ======M ======== December 20 ======m ======== December 20 ======O ======== 2015-12-20T11:30:50.0000000 ======o ======== 2015-12-20T11:30:50.0000000 ======R ======== Sun, 20 Dec 2015 11:30:50 GMT ======r ======== Sun, 20 Dec 2015 11:30:50 GMT ======s ======== 2015-12-20T11:30:50 ======t ======== 11:30 AM 11:30 AM 11:30 11:30 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 ======T ======== 11:30:50 AM 11:30:50 AM 11:30:50 11:30:50 ======u ======== 2015-12-20 11:30:50Z ======U ======== Sunday, December 20, 2015 4:30:50 AM Sunday, December 20, 2015 04:30:50 AM Sunday, December 20, 2015 4:30:50 Sunday, December 20, 2015 04:30:50 December 20, 2015 4:30:50 AM December 20, 2015 04:30:50 AM December 20, 2015 4:30:50 December 20, 2015 04:30:50 Sunday, 20 December, 2015 4:30:50 AM Sunday, 20 December, 2015 04:30:50 AM Sunday, 20 December, 2015 4:30:50 Sunday, 20 December, 2015 04:30:50 20 December, 2015 4:30:50 AM 20 December, 2015 04:30:50 AM 20 December, 2015 4:30:50 20 December, 2015 04:30:50 ======Y ======== December, 2015 ======y ======== December, 2015 7- Tùy biến định dạng DateTime [...]...lớn nhiều class, c ch tổ ch c c c file như vậy gây khó khăn cho bạn Bạn c thể tạo ra c c thư m c kh c nhau để chứa c c file class, quy t c do bạn quyết định, tuy nhiên tốt nhất bạn tạo ra c c thư m c có tên là tên c a namespace Hãy h c tập c ch tổ ch c của Java 5- Chú ý quan trọng với một chương trình C# Trong một ứng dụng C# bạn c n khai báo rõ ràng một class c phương th c Main(string[])... "O7planning" Nhấn phải chuột vào thư m c "CSharp" chọn: • Add/Class Chọn kiểu item là Class, và nhập tên class Class đã đư c tạo ra, nó nằm trong không gian tên "HelloCSharp.O7planning.CSharp" Bạn c thể đổi tên cho namespace thành"O7planning.CSharp" Đổi tên namespace thành "O7planning.CSharp" Bạn c thể thay đổi nội dung c a class: MyClass.cs ? 1 using System; 2 using System.Collections.Generic; 3 using System.Linq;... Nhấn phải chuột vào project HelloCSharp, chọn Properties: Chọn "Startup object" là một class c phương th c Main(string[]) và Save lại 6- Thêm mới class Bây giờ tôi thêm mới một class MyClass với không gian tên O7planning.CSharp Trên "Solution Explorer" nhấn phải chuột vào project chọn: • Add/New Folder Đặt tên cho thư m c là O7planning Tiếp t c tạo một thư m c "CSharp" là con c a thư m c "O7planning"... một kiểu dữ liệu c thể, trong đó x c định kích thư c và phạm vi giá trị c thể đư c lưu trữ trong bộ nhớ, và tập hợp c c toán tử c thể áp dụng cho biến Biến c thể thay đổi giá trị trong quá trình tồn tại c a nó trong chương trình C c biến c giá trị c định đư c gọi là c c hằng số Sử dụng từ khóa const để khai báo một biến là hằng số Khai báo một biến: ? 1 // Khai báo một biến 2 ... CSS Visual Studio 2013 chia nhiều phiên thương mại: • Visual Studio Ultimate 2013 • Visual Studio Premium 2013 • Visual Studio Professional 2013 • Visual Studio Test Professional 2013 • Visual Studio. .. Server 2013 Phiên đầy đủ Visual Studio 2013 Ultimate, với gói lập trình đầy đủ nhất, hỗ trợ tốt nhất, dung lượng vào khoảng 7.2GB 2- Cài đặt cấu hình Visual Studio 2013 1- Giới thiệu Đây tài liệu. .. với C# cần gì? Để lập trình với C# bạn cần cài đặt Visual Studio Cho tới thời điểm tháng 4-2015 phiên Visual Studio Microsoft Visual Studio 2015 dạng thử nghiệm không thức Phiên trước gần Visual