私はC#でプログラミングするのが初めてで、今は自分のプロジェクトについて質問があります。 文字列の最初の桁を取得してから、それをモールス符号に変換する必要があります。ここでc#文字列の最初の数字を取得してモールス符号に変換する必要があります
は例です:
Hello123 --> I need "1"
Bye45 --> I need "4"
は、どのように私はこれを得るのですか?ありがとうございます。
私はC#でプログラミングするのが初めてで、今は自分のプロジェクトについて質問があります。 文字列の最初の桁を取得してから、それをモールス符号に変換する必要があります。ここでc#文字列の最初の数字を取得してモールス符号に変換する必要があります
は例です:
Hello123 --> I need "1"
Bye45 --> I need "4"
は、どのように私はこれを得るのですか?ありがとうございます。
から
である:
チャーfirstDigit = this.Message.FirstOrDefault(C => char.IsDigit(c)参照)。
次に、数字をモールス符号に変換するための辞書を作成します。
class Program
{
static void Main(string[] args)
{
const string text = "abcde321x zz";
var morse = new Morse(text);
Console.WriteLine(morse.Code);
}
}
class Morse
{
private static Dictionary<char, string> Codes = new Dictionary<char, string>()
{
{'1', ".----"}, {'2', "..---"}, {'3', "...--"}, {'4', "....-"},
{'5', "....."}, {'6', "-...."}, {'7', "--..."}, {'8', "---.."},
{'9', "----."}, {'0', "-----"}
};
private string Message;
public string Code
{
get
{
char firstDigit = this.Message.FirstOrDefault(c => char.IsDigit(c));
return Codes.ContainsKey(firstDigit) ? Codes[firstDigit] : string.Empty;
}
}
public Morse(string message)
{
this.Message = message;
}
}
出力は次のとおりです。
...--
\d+
は整数の正規表現です。だから、
//System.Text.RegularExpressions.Regex
resultString = Regex.Match(subjectString, @"\d+").Value;
returns a string containing the first occurrence of a number in subjectString.
Int32.Parse(resultString)
その後、あなたに番号を与えます。 LINQの、最初の文字を使用しFind and extract a number from a string
SO上で助けを求める、あなたは問題を解決するために、独自の努力を示さなければなりません。あなたの宿題を質問に投げ捨て、助けを期待しているのは、私たちがここでどのように手伝っているかではありません。 – Maverik