Dấu nháy kép trong C++
Bộ ba trích dẫn của Python được giải cứu bằng cách cho phép các chuỗi trải dài trên nhiều dòng, bao gồm NEWLINEs, TAB nguyên văn và bất kỳ ký tự đặc biệt nào khác Show
Cú pháp của dấu ngoặc kép bao gồm ba dấu nháy đơn hoặc kép liên tiếp Ví dụBản thử trực tiếp #!/usr/bin/python para_str = """this is a long string that is made up of several lines and non-printable characters such as TAB ( \t ) and they will show up that way when displayed. NEWLINEs within the string, whether explicitly given like this within the brackets [ \n ], or just a NEWLINE within the variable assignment will also show up. """ print para_str đầu raKhi đoạn mã trên được thực thi, nó tạo ra kết quả sau Lưu ý cách mọi ký tự đặc biệt đã được chuyển đổi sang dạng in của nó, ngay xuống NEWLINE cuối cùng ở cuối chuỗi giữa "up. " và đóng ba dấu ngoặc kép. Cũng lưu ý rằng NEWLINE xảy ra với dấu xuống dòng rõ ràng ở cuối dòng hoặc mã thoát của nó (\n) − this is a long string that is made up of several lines and non-printable characters such as TAB ( ) and they will show up that way when displayed. NEWLINEs within the string, whether explicitly given like this within the brackets [ ], or just a NEWLINE within the variable assignment will also show up. Các chuỗi thô hoàn toàn không coi dấu gạch chéo ngược là một ký tự đặc biệt. Mỗi ký tự bạn đặt vào một chuỗi thô sẽ giữ nguyên cách bạn đã viết nó - Phiên bản mới nhất của C#, 9. 0, được phát hành chính thức với. NET 5 vào tháng 11 năm 2020. Những ngày này đã có tin đồn về các tính năng của phiên bản tương lai, C# 10. ✅ Một trong những lợi thế lớn nhất của phần mềm nguồn mở là có thể thấy dự án phát triển như thế nào theo thời gian khi ngày tháng trôi qua. Với điều này, chúng tôi muốn đề cập đến cùng một C#, vì chúng tôi có thể theo dõi tiến trình của nó trên GitHub và xem tin tức chính của nó Hãy bắt đầu với những tính năng quan trọng nhất của C# 9. 0 🤗 🔼 Trình khởi tạo mô-đunTrong phiên bản C#9 mới nhất này. 0, thuộc tính [ModuleInitializer] được sử dụng để chỉ định một phương thức mà chúng ta có thể gọi trước bất kỳ mã nào trong mô-đun, phương thức đích phải là tĩnh, không có bất kỳ loại tham số nào và trả về giá trị rỗng
🔼 Tiện ích GetEnumeratorCâu lệnh foreach thường hoạt động trên một biến loại IEnumerator khi nó chứa định nghĩa về bất kỳ tiện ích mở rộng công khai nào cho GetEnumerator Đây là cách chúng ta có thể thấy nó trong ví dụ này 👇
🔼 Các loại trả về hiệp biếnTrong C#9. 0, kiểu trả về của các phương thức ghi đè thường cụ thể hơn nhiều so với khai báo trong kiểu cơ sở 👇
Phương thức GetTemperature() có kiểu trả về là Nhiệt độ, lớp dẫn xuất là Spain ghi đè phương thức này và trả về một kiểu cụ thể là Celsius Đó là một tính năng làm cho mã của chúng tôi linh hoạt hơn. ✅ 🔼 Trình truy cập khởi tạoTrình truy cập init làm cho các đối tượng bất biến dễ dàng hơn để tạo và sử dụng 👇, Có thể bạn quan tâm
Trình truy cập init có thể được sử dụng với Cấu trúc, Thanh ghi và Lớp. Trình truy cập init có thể được sử dụng với Lớp, Cấu trúc và Thanh ghi 👇,
🔼 Kỷ lụcBây giờ chúng tôi có một loại tham chiếu mới được gọi là bản ghi mang lại cho chúng tôi giá trị bằng nhau. Để hiểu rõ hơn, chúng ta có ví dụ này 👇,
Như chúng ta có thể thấy, bản ghi điểm là bất biến, bạn có thể đơn giản hóa rất nhiều cú pháp bằng cách sử dụng một bộ truy cập init vì các thuộc tính của nó là chỉ đọc 🔼 Thông số loại bỏ LambdaC# 9 tiếp theo. 0 cải tiến là có thể sử dụng loại bỏ (_) làm tham số đầu vào của biểu thức lambda trong trường hợp tham số đó không được sử dụng ________số 8Đây là một tính năng cũng cho phép chúng tôi đọc mã theo cách sạch hơn và đẹp hơn 🔼 Target-Typed mớiMột tính năng rất quan trọng khác trong phiên bản C# mới nhất này là khả năng loại bỏ loại biểu thức mới khi loại đối tượng được biết rõ ràng Hãy xem một ví dụ nhanh và đơn giản 👇
Đây là một tính năng rất hữu ích vì nó cho phép bạn đọc mã một cách rõ ràng mà không cần phải sao chép loại this is a long string that is made up of several lines and non-printable characters such as TAB ( ) and they will show up that way when displayed. NEWLINEs within the string, whether explicitly given like this within the brackets [ ], or just a NEWLINE within the variable assignment will also show up.0 🔼 Tuyên bố cấp cao nhấtTrong C#9. 0, có thể viết chương trình cấp cao nhất sau khi sử dụng khai báo Ở đây chúng ta có thể xem ví dụ 👇 this is a long string that is made up of several lines and non-printable characters such as TAB ( ) and they will show up that way when displayed. NEWLINEs within the string, whether explicitly given like this within the brackets [ ], or just a NEWLINE within the variable assignment will also show up.1 Với các khai báo cấp cao nhất, bạn sẽ không cần khai báo bất kỳ khoảng trắng nào giữa các tên, phương thức chính hoặc chương trình lớp. Tính năng mới này có thể rất hữu ích cho các lập trình viên mới bắt đầu, vì trình biên dịch sẽ làm tất cả những điều này cho bạn 0Xem các tính năng mới trong C# 9. 0, giúp lập trình đơn giản và trực quan hơn nhiều ✅ Kỳ vọng C# 10Những gì chúng ta có thể mong đợi trong phiên bản tương lai? Được rồi, hãy nói về phiên bản tương lai 👇
Lưu ý rằng các tính năng sắp ra mắt vẫn còn gây tranh cãi và không chắc chắn sẽ xuất hiện trong C# 10 Hãy nhớ rằng chúng không chỉ đơn giản là những ý tưởng hay đóng góp từ cộng đồng. Những tính năng mà tôi sắp đề cập này đang được các nhà phát triển của nó xáo trộn. Và mặc dù chúng không được triển khai trong phiên bản tiếp theo, nhưng ngày nay chúng đang được tinh chỉnh để chúng xuất hiện trong các phiên bản C# trong tương lai Hãy bắt đầu 👍, 🔼 Không gian tên cấp tệpKhi chúng tôi bắt đầu lập trình bằng C#, chúng tôi đã tạo ứng dụng "Xin chào thế giới". Biết điều này, chúng ta cũng biết rằng C# sử dụng cấu trúc khối cho các không gian tên 1Điều tốt nhất về điều này là các không gian tên có thể được phủ lên rất dễ dàng, đơn giản bằng cách lồng các khối. Theo cách tương tự, một tệp có thể chứa các loại trong bất kỳ tổ hợp không gian tên nào và nhiều tệp có thể chia sẻ cùng một không gian tên giữa chúng Nếu chúng ta muốn gạch bỏ phần tiêu cực một chút, hệ thống này sẽ thêm một chút thụt vào nếu chúng ta so sánh nó với các ngôn ngữ ngoặc như JavaScript hoặc Java Câu hỏi chúng tôi tự hỏi mình vào thời điểm này là Có thể giữ chức năng đó, nhưng đồng thời giảm thụt đầu dòng dư thừa không? Có ✅ Làm thế nào là nó có thể? Nó chỉ đơn giản mở ra rằng việc nhập các không gian tên với phạm vi tệp, điều này sẽ cho phép thiết lập một không gian tên mặc định sẽ được áp dụng tự động cho toàn bộ tệp mà không cần thụt đầu dòng 2Thông thường chỉ có một không gian tên trong phạm vi tệp cho mỗi tệp, vì vậy sẽ không có vấn đề gì. Tương tự như vậy, hầu hết các tệp mã C# không bao gồm nhiều hơn một không gian tên Ví dụ: nếu chúng tôi thêm một khối không gian tên vào một tệp sử dụng không gian tên trong phạm vi tệp, một không gian tên lồng nhau được tạo đơn giản Hãy xem một ví dụ nhanh 👇, 3Rõ ràng rằng nó không phải là một tính năng quá lớn, nhưng tốt hơn hết là càng có nhiều cải tiến thì nhiệm vụ lập trình sẽ càng dễ dàng và trực quan hơn 🔼 Các nhà xây dựng chínhTrong các phiên bản C# được phát hành mới nhất, chủ đề về mã soạn sẵn đã được giảm đáng kể với các tính năng như thuộc tính tự động Cải tiến chính của điều này không chỉ đơn giản là giảm số lượng mã được viết mà là giảm số lượng mã phải đọc. Nó làm cho việc điều hướng các cơ sở mã dễ dàng hơn và giảm thiểu những nơi phổ biến nhất có thể xảy ra lỗi Các hàm tạo chính là một triển khai rất tốt, một lần nữa sẽ làm giảm số lượng mã được viết. Chúng ta có thể thấy nó với ví dụ đơn giản này có một lớp có hàm tạo và hai thuộc tính chỉ đọc 4Điều mà số liệu thống kê cho chúng ta biết là 70% các lớp của nó có các hàm tạo và hơn 90% trong số chúng chỉ đơn giản là không làm gì khác hơn là sao chép các tham số vào các thuộc tính Nếu bạn chưa viết bất kỳ loại mã xây dựng nào, đừng lo lắng vì chúng ta vẫn có thể tạo và sử dụng lớp theo cách tương tự 5Bằng cách sử dụng hàm tạo chính, xác thực thuộc tính không bị loại trừ. Theo cách tương tự, các quy tắc của nó có thể được thực thi trong một trình thiết lập thuộc tính Hãy xem một ví dụ 👇, 6Các chi tiết khác cũng có thể thực hiện được (gọi hàm tạo cơ sở trong lớp dẫn xuất, thêm hàm tạo). Nhược điểm chính của tất cả những điều này là các hàm tạo chính có thể xung đột với các thanh ghi vị trí 🔼 Chuỗi ký tự thôChúng ta đã biết rằng các chuỗi thông thường mà C# có, có xu hướng khá lộn xộn vì chúng cần có dấu ngoặc kép (''), dòng mới (\ n) và dấu gạch chéo ngược (). Những gì C# cung cấp trước vấn đề nhỏ này là việc sử dụng các ký tự đặc biệt Ví dụ: chúng ta có thể thêm tiền tố vào một chuỗi bằng @ và có thể tự do thêm tất cả các chi tiết này mà không gặp vấn đề gì 👇, 7Điều mà chuỗi ký tự chuỗi thô cho phép là tạo các đường dẫn mới để tránh các sự cố thoát. Sử dụng dấu phân cách của một loạt dấu ngoặc kép, theo sau là dấu ngắt dòng để bắt đầu và dấu ngắt dòng theo sau cùng một số dấu ngoặc kép để đóng Để hiểu đơn giản hơn, tôi để lại cho bạn ví dụ này bên dưới 👇, 8Nếu lo ngại của bạn là có khả năng có một chuỗi ba trích dẫn trong chuỗi, bạn chỉ cần mở rộng dấu phân cách để bạn có thể sử dụng tất cả các trích dẫn bạn muốn, miễn là phần đầu và phần cuối được tôn trọng 9Cũng giống như chuỗi @, dòng mới và khoảng trắng được giữ nguyên trong chuỗi thô. Điều xảy ra là khoảng trắng chung, nghĩa là lượng được sử dụng để chảy máu, bị cắt Hãy xem đơn giản hơn với một ví dụ 👇, 0Đối với điều này 👇, 1Với điều này, tôi muốn giải thích với bạn rằng các chuỗi thô không nhằm mục đích thay thế các chuỗi @ mà bạn đang sử dụng ngay bây giờ Thay vào đó, chúng được chuẩn bị cho những thời điểm cụ thể khi bạn cần một khối được đánh dấu hoặc mã tùy ý và ngược lại, bạn cần một phương pháp mã hóa được đảm bảo an toàn 🟢 Kết luậnĐể kết thúc bài viết này, Dotnetsafer kết luận rằng C# vẫn còn nhiều năm phía trước và nó vẫn còn nhiều thứ cần bổ sung để công việc lập trình trở nên dễ dàng và tối ưu hơn 3 dấu ngoặc kép có nghĩa là gì?Dấu ngoặc kép ba lần là một cách hay để có thể bao gồm các loại dấu ngoặc kép khác trong chuỗi của bạn mà không phải sử dụng các ký tự thoát . Ví dụ. print("He said \"my name's John\"") Ví dụ đó yêu cầu ký tự thoát \" để sử dụng dấu ngoặc kép.
việc sử dụng dấu ngoặc kép là gì?Bộ ba trích dẫn của Python được giải cứu bằng cách cho phép các chuỗi trải dài trên nhiều dòng, bao gồm NEWLINEs, TAB nguyên văn và bất kỳ ký tự đặc biệt nào khác. Cú pháp của dấu ngoặc kép bao gồm ba dấu nháy đơn hoặc kép liên tiếp
Chuỗi trích dẫn ba là gì?Đăng vào ngày 30 tháng 1 năm 2021 bởi John. Có một số cách để trích dẫn chuỗi trong Python. Dấu ngoặc kép để chuỗi trải rộng trên nhiều dòng . Ngắt dòng trong tệp nguồn của bạn trở thành ký tự ngắt dòng trong chuỗi của bạn. Chuỗi trích dẫn ba lần trong Python hoạt động giống như “here doc” trong các ngôn ngữ khác.
Làm cách nào để đặt dấu ngoặc kép trong C?Để biểu thị dấu ngoặc kép trong một chuỗi ký tự, hãy sử dụng chuỗi thoát \" . Dấu nháy đơn (') có thể được biểu diễn mà không có chuỗi thoát. Dấu gạch chéo ngược (\) phải được theo sau bởi dấu gạch chéo ngược thứ hai (\\) khi nó xuất hiện trong một chuỗi. |