アプリ版:「スタンプのみでお礼する」機能のリリースについて

string[] hoge = { "0-9", "a-z", "あ-ん" };
for (int i = 0; i < hoge.Length; i++) Console.WriteLine(hoge[i]);
出力
0123456789abcde...xyzあいうえお...わおん


このように配列を宣言することはできませんか?
1文字ずつ
string[] hoge = { "0", "1", ..."a", "b" ..."あ", "い", ... }};
と書くのはソースが汚くなってしまう気がして…

A 回答 (3件)

ちなみにですが, その配列をこのあとどう使っていくんでしょうか?

この回答への補足

自作のパスワード生産ツールのようなものを作ろうかと思っています。

補足日時:2012/05/17 07:50
    • good
    • 0

foreach (var c in Enumerable.Range(97, 26)) {


Console.WriteLine((char)c);
}
これでアルファベットが出ます。
あとはASCII文字コードを見てみてください。
もっと良い方法があるかもしれませんが。
    • good
    • 0

何をしたくて質問しているのか,想像できませんが,


1文字ずつ取り出したのなら,手っ取り早く,以下のように
stringで,使用したい全文字をまとめて書いてあげればいいし.

string hoge = "0123456789";
for (int i = 0; i < hoge.Length; i++) Console.Write(hoge[i]);


文字種をチェックしたいだけなら,
Charクラスのメソッドに数値チェックや英字チェックなどあるし,
または,正規表現でチェックすれば良いと思いますけど.

この回答への補足

string[] keyword = { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "あ", "い", "う", "え", "お", "か", "き", "く", "け", "こ", "さ", "し", "す", "せ", "そ", "た", "ち", "つ", "て", "と", "な", "に", "ぬ", "ね", "の", "は", "ひ", "ふ", "へ", "ほ", "ま", "み", "む", "め", "も", "や", "ゆ", "よ", "ら", "り", "る", "れ", "ろ", "わ", "を", "ん"};

こうすれば0~9 a~z あ~んの文字が入った配列ができますよね?
これをもっと短く書けないかという質問です。

正規表現であれば
0-9a-zなんて書き方できますので、
それに似たような書き方がC#にも存在するのか気になりました。

よって、調べたのですが自力で見つけられなかったため質問しました。

補足日時:2012/05/14 16:17
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!