0

c# の文字列が char の ASCII コードで始まるかどうかを確認するにはどうすればよいですか? 関数 StartsWith は文字列ではなく文字列のみを受け取ります。文字列が 86 の ascii で始まり、91 の ascii で終わるかどうかを知りたいのですが、どうすればこれを達成できますか?

4

7 に答える 7

6

文字列の char 配列にアクセスすることで、開始と終了を確認できます。

string s = "...";

if ((!String.IsNullOrEmpty(s)) && 
    (s[0] == (char)86) && (s[s.Length-1] == (char)91))
    // doSomething
于 2012-04-16T13:10:22.077 に答える
5

string.Startswith like を使用できます

bool success = yourString.StartsWith(Char.ConvertFromUtf32(86))
               && yourString.EndsWith(Char.ConvertFromUtf32(91));
于 2012-04-16T13:11:18.557 に答える
1

文字にキャストしてから、文字列にキャストします。

((char) 86).ToString()

または、文字列を直接確認します。

mystring[0] == (char) 86

または:

mystring[0] == '\x56' // in hex

あるいは:

mystring.StartsWith("\x56")
于 2012-04-16T13:10:14.487 に答える
1

キャストなしで、文字を ASCII コードと直接比較できます。

if (str.Length != 0 && str[0] == 86 && str[str.Length-1] == 91) ...

もちろん、文字定数は自然な形の方が見栄えがします。

if (str.Length != 0 && str[0] == 'V' && str[str.Length-1] == ']') ...
于 2012-04-16T13:10:46.710 に答える
0
var startChar = char(86).ToString();
var endChar = char(91).ToString();

if (myString.StartsWith(startCar) && myString.EndsWith(endChar))
{
    ....
}

StartWithまたは、文字を受け取る型文字列の/の独自の拡張メソッドを実装することを整理するEndWithには:

public static string StartsWith(this string str, char ch)
{
     return str.StartsWith(ch.ToString());
}

次に、コードは次のようになります。

myString.StartsWith(char(86)) && myString.EndsWith(char(91))
于 2012-04-16T13:11:31.803 に答える
0

文字列内の ASCII 値で文字をチェックすることは、ほとんどの場合、実際の文字値をチェックすることと同じです。しかし、あなたを啓発するために:

string s = "V4-42$TIh[";

if (s[0] == 86 && s[s.Length - 1] == 91) {
    // true
}

特別なことをしたり、関数呼び出しを使用したりする必要はありません。

于 2012-04-16T13:14:13.947 に答える
0

これを使用できますSystem.Convert.ToInt32("Yourstring"[0])。次のように、文字列の文字をその長さまで渡します。

string Yourstring="test";
string asciivalue="";

の長さまで、次の操作を行います。

asciivalue=System.Convert.ToInt32("Yourstring"[i]);

これにより、対応する ASCII 値が出力されます。

于 2012-04-16T13:17:39.220 に答える