2

「ABC」と入力してボタンを押すと、Aのサウンドファイルが再生され、次にBのサウンドファイルが再生されるアルファベットプログラムを作成しています。

現在、私はキューを使用して、そのようなサウンドファイルにリンクするすべてのURIを保存しています

switch (word)
{
    case "A": 
        uriQueue.Enqueue(new Uri("Assets/A.wav", UriKind.Relative));
        break;
    case "B":
        uriQueue.Enqueue(new Uri("Assets/B.wav", UriKind.Relative));
        break;
    case "C":
...

非常に長いswitchステートメントを使用し、それぞれの場合に手動で入力する以外に、多数のサウンドファイルでこれを行うためのより良い方法はありますか?

4

1 に答える 1

7

ファイル名と常に一致することが保証されている場合は、ブロックword全体を削除して、次のようswitchに置き換えることができます。

uriQueue.Enqueue(new Uri("Assets/" + word + ".wav", UriKind.Relative));

それ以外の場合は、

Dictionary<string,string> d;

キーとして文字を入力し、値としてパスを入力してから、

uriQueue.Enqueue(new Uri(d[word], UriKind.Relative));
于 2013-01-27T02:17:24.033 に答える