※以下內容皆是新手撰寫,內容可能不完全正確
“Hell hath no fury like a woman scorned.”
假文青一下(遭毆)今天要講的東西是C#裡頭的 字串(strings) ,一般是直接用string關鍵字(string關鍵字是System.String類別的簡寫)宣告字串變數。之前很多練習裡面都有用到string,特別是Console.WriteLine( );這個方法中常出現。
用下列任一方式即可 做出字串物件 :
以下是幾個小練習:
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) : Chars 和 Length 。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/