iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 19
0
自我挑戰組

初心者學C#系列 第 19

Day 19:C#的字串 ♪♪♪ ヽ( ᐖゞ)

  • 分享至 

  • xImage
  •  

※以下內容皆是新手撰寫,內容可能不完全正確

“Hell hath no fury like a woman scorned.”
假文青一下(遭毆)今天要講的東西是C#裡頭的 字串(strings) ,一般是直接用string關鍵字(string關鍵字是System.String類別的簡寫)宣告字串變數。之前很多練習裡面都有用到string,特別是Console.WriteLine( );這個方法中常出現。

用下列任一方式即可 做出字串物件

  • 給string變數字串文字(string literal)
  • 用字串類別建構器
  • 使用字串序連運算子(string concatenation operator(這字我壓根沒看過))
  • 找一個會傳回字串的財產或方法
  • 呼叫個格式化方法將一個值或物件傳換成字串

以下是幾個小練習:

using System;
namespace CubeApplication
{
    
    class Stuff
    {
        static void Main(string[] args)
        {
            string a = "Yee.";
            string b = "Dinosaur.";
            string x = a + b; //把兩個字串接在一起
            Console.WriteLine(x); 

            char[] c = { 'P', 'i', 'e'};
            string[] d = { "I", "hate", "Mondays" };
            string y = String.Join(" ", d); //用這個接字串的方法一定要在前面先雙引號,不然會error
            Console.WriteLine(y);
            string e = new string(c);
            Console.WriteLine("This is pie: {0}", e); //把上面字母接起來的方式
        }
    }
}

執行上面這些東東會出現以下:

Yee.Dinosaur.
I hate Mondays
This is pie: Pie

String類別有 兩個財產(properties)CharsLength 。Chars在C#裡面是個索引工具,可以挑出某string物件中特定位置的某char物件。Length則用於判斷某string物件中有多少個字母(characters)。
以下表現出Chars的特性:

using System; 
class Geeks { 
public static void Main() 
{ 
    string yee = "Yeeeeeee"; 
    for (int a = 0; a <= yee.Length - 1; a++ ) 
    Console.Write("{0} ", yee[a]); //這些會把變數yee中的8個字母一一輸出
} 
}

接著是Length的例子。Length除了”abcdefg”算字數以外,null字母”/0”也會讓Length輸出的長度加一。下面這串會輸出24:

string o = “idontlikemathematics/0/0/0/0”;
Console.WriteLine(o.Length);

String類別的方法(Methods of the String Class)
String類別的方法自然是用來輔助字串物件的使用,由於String類別的方法實在太多,就不浪費空間一一列出來了,講一個比較重要的當參考,完整的方法和字串類別建構器可以用這個網頁查:
https://msdn.microsoft.com/library

以下是把某字串裡面的字抓出來的方法,用的是Substring( ),例子中抓的是第九個字元(或空格)之後的字串輸出,不包含第九個字元或空格,所以會輸出”bad at studying”:

using System;
namespace CubeApplication
{
    
    class Stuff
    {
        static void Main(string[] args)
        {
                string a = "I'm very bad at studyiing."; 
                string b = a.Substring(9); //包括字母和空格,抓第九個字元或空格之後的東西輸出
                Console.WriteLine(b);
            }
    }
}

字串常常用到,不過比較少用的那些方法我估計不用硬背,需要的時候再查。
下一篇要講的是C#的Structures~(有種上英文課的感覺呢

參考資料:
(a) Tutorialspoint; C# - Strings
https://www.tutorialspoint.com/csharp/csharp_strings.htm
(b) GeeksforGeeks; C# | String Properties
https://www.geeksforgeeks.org/c-sharp-string-properties/


上一篇
Day 18:C#的陣列(下)ᕕ( ᐕ )ᕗ
下一篇
Day 20:C#的結構,幫BL文做分類 ง ( ⌓̈ )ง
系列文
初心者學C#30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言