วันพุธที่ 17 พฤศจิกายน พ.ศ. 2553

String

     เนื้อหาของบทความที่เกี่ยวข้องกับภาษา C# นี้ มาจากความตั้งใจของผมที่ต้องการถ่ายทอดทักษะพร้อมกับเรียนรู้ภาษา C# ร่วมกับเพื่อนๆกลุ่มหนึ่ง พวกเขาเป็นแรงพลักดันใหผมเขียนมันต่อไป หากไม่มีพวกเขามันคงเริ่มและจบอย่างรวดเร็ว

     เป็นห่วงเวลาหัวเลี้ยวหัวตอสำหรับผม สิ่งที่ผมรู้ขณะนี้จำเป็นต้องใช้ต่อในวันพรุ่ง เมื่อนึกย้อยกลับไปในอดีตไม่นานมานี้... ผมพลานเวลาให้หมดไปอย่างฟุ้มเฟือยและเปล่าประโยชน์ โดยปราศจากสาระที่ควรได้รับ ผมถามใจตัวเองว่าความสุขของผมวันนี้ควรเป็นของใคร... คงกล่าวถึงใครอื่นเสียไม่ได้ ถ้าไม่ใช่ผู้ที่มอบกายเนื้อให้ผม มอบจิตใจและชีวิตให้ผม ฉะนั้นผมขอโทษครับพ่อ ขอโทษครับแม่ สำหรับสิ่งที่ผ่านมา...

String
หนึ่งในไทป์ที่สำคัญคือสตริง (String) มันประกอบด้วยตัวอักขระจำนวนหนึ่งซึ่งเรียงติดต่อเนื่องกันในหน่วยความจำ ค่าคงที่ของมันเขียนภายใต้เครื่องหมาย " และ " (double quote) เช่น "Hello World", "I Love You" เป็นต้น

ดังนั้นคลาสมูลฐานอย่าง System.Object จึงมีเมธอด ToString เพื่อแปลงไทป์อื่นใดๆให้อยู่ในรูปสตริง

การใช้งานสตริง
เราสามารถใช้งานสตริงในลักษณะเดียวกับไทป์พื้นฐาน (primitive types) อื่นๆ เช่น int, float หรือ double

ภายหลังให้ค่าคงที่สตริงแล้ว ค่าคงที่สตริงนั้นจะไม่สามารถเปลี่ยนแปลงได้อีก มันจึงเป็นไทป์แบบ immutable ผลลัพธ์เมื่อพยายามเปลี่ยนแปลงค่าคงที่สตริงใดๆ จะได้ค่าคงที่สตริงใหม่เสมอ

สามารถใช้เครื่องหมาย + เมื่อต้องการต่อค่าคงที่สตริงเข้าด้วยกัน (และได้ค่าคงที่สตริงสายใหม่)

ภายในสตริงอาจประกอบด้วย escape sequence หรือ string escape เช่น \t หรือ \n หรือ \\ เป็นต้น ทว่าเมื่อนำหน้าค่าคงที่สตริงเหล่านั้นด้วยเครื่องหมาย @ (เรียกว่า Commercial At) มันจะตัดความสามารถของเครื่องหมาย \ ออกทันที เช่น
     String str1 = "1\n2"; Console.WriteLine(str1);
     ผลลัพธ์คือ
     1
     2

     String str2 = @"1\n2"; Console.WriteLine(str2);
     ผลลัพธ์คือ
     1\n2

ค้นหาอักขระในค่าคงที่สตริง
ค่าคงที่สตริงหรือค่าคงที่ของสตริง ต่อไปผมจะเรียกว่า สตริง เฉยๆนะครับ (มันพิมพ์ยาว)

คลาสสตริงมาจาก System.String มันประกอบด้วยเมธอด (ถ้างงเรื่องคลาสและเมธอดให้อ่านๆไปก่อน จะอธิบายในโอกาสต่อไปครับ) จำนวนหนึ่ง หนึ่งในนั้นคือ IndexOf

P11_String_IndexOf
- สร้างโปรเจ็กค์ใหม่เพิ่มเข้าไปยังโซลูชัน CsharpTutorialForFriends เหมือนเคย
- ตั้งชื่อมันว่า P11_String_IndexOf โดยโค้ดเพิ่มดังนี้
***หมายเหตุ ถ้ามองไม่เห็นให้คลิกที่รูปเพื่อขยายขนาดภาพ

- ผลลัพธ์

เมธอดอื่นๆของสตริง
- Insert สำหรับแทรกสตริง
- Replace สำหรับแทนที่สตริงยังตำแหน่งที่ต้องการ
- msdn.microsoft.com สำหรับทุกอย่างที่เกี่ยวข้องกับคลาสสตริง

กำหนดรูปแบบการแสดงผลสตริง
- Standard Numeric Format Strings
- Standard Date and Time Format Strings

แบบฝึกหัด
- จงเขียนโปรแกรมรับค่าสตริงทางแป้นพิมพ์ แล้วให้แสดงผลออกมาเป็นจำนวนของตัวอัษขระทั้งหมดของสายสตริงนั้น
- จงเขียนโปรแกรมแปลงรหัสผ่าน โดยรับรหัสผ่านเป็นสตริงทางแป้นพิมพ์ แล้วนำแต่ละอักขระในสตริงแปลงเป็นจำนวนเต็ม นำไปทำนิพจน์ทางคณิตศาสตร์อย่างไรก็ได้ แล้วแสดงผลออกทางจอภาพ
- จงเขียนโปรแกรมถอดรหัสผ่าน โดยรับรหัสที่ถูกแปลงแล้วทางแป้นพิมพ์ นำมาแปลงกลับเป็นรหัสผ่านที่แท้จริงออกทางจอภาพ

4 ความคิดเห็น:

  1. Good information. Lucky me I discovered your website by accident (stumbleupon).
    I've saved as a favorite for later!

    Also visit my web page - anti cellulite treatment

    ตอบลบ
  2. ไม่ระบุชื่อ12 ธันวาคม 2558 เวลา 19:50

    ขอบคุณครับ ชอบการเขียน ให้ความรู้แบบที่ไม่ค่อยได้เจอจากหนังสือ ทั่วไป ดีใจแทนคนไทยที่มาหาความรู้ เรื่องการเขียนโปรแกรม เป็นกำลังใจให้เขียนต่อไปนะครับ

    ตอบลบ