DOBON.NET DOBON.NETプログラミング掲示板過去ログ

変数の値によるファイルの読み込み

環境/言語:[OS : Windows XP Home Edition / 言語 : C#]
分類:[.NET]

【解決したい問題】

はじめまして。
私はC#初心者です
ファイルの読み込み方について質問させていただきます
debugフォルダと同じ階層にbitmapフォルダというものを作り、そこから画像ファイルを読み込もうとしています。

変数aが0の時は「back0.jpg」を読み込む
変数aが1の時は「back1.jpg」を読み込む
変数aが…

ということをしたいのですが、私が知っている画像ファイルの読み込み方といえば
Image.FromFile(@"..\bitmap\back0.jpg");
というような方法しか知りません。自分なりに考えて
Image.FromFile(@"..\bitmap\("back" + a + ".jpg")");
などと記述したのですが、もちろんエラーでした…

右も左もわからないようなC#初心者ですがご教授のほどお願いします。
長文すいませんでした。
■No14532に返信(ゆうさんの記事)
> Image.FromFile(@"..\bitmap\("back" + a + ".jpg")");
> などと記述したのですが、もちろんエラーでした…

CLR の基本であり主役である「型」を意識しましょう。
a は int 型か何かでしょうか?

string に結合するものは string でなければなりません。
ではどうすれば良いでしょう?

# ワケの判らない「括弧」は必要ありません。

> 右も左もわからないようなC#初心者ですがご教授のほどお願いします。

初心者であることは全然悪いことではないです。
誰でも初めは初心者ですからね。


_________________________________________________________________________
じゃんぬ Microsoft MVP for Visual Developer - C#
  http://jeanne.wankuma.com/
  http://blogs.wankuma.com/jeanne/
2006/01/15(Sun) 14:21:50 編集(投稿者)

> CLR の基本であり主役である「型」を意識しましょう。
> a は int 型か何かでしょうか?
>
> string に結合するものは string でなければなりません。
> ではどうすれば良いでしょう?
>
> # ワケの判らない「括弧」は必要ありません。
>

早いレスありがとうございます。
string型変数を使ってもファイル名の指定ができることを初めて知りました。
質問の件ですが、

string ff = "back";

ff = ff + a + ".jpg";
BackgroundImage = Image.FromFile(@"..\bitmap\" + ff);

で出来るようになりました。
と言ってもこういう書き方が大正解なのか不安です(^^;

何はともあれ、どうも有難うございました!!

> 初心者であることは全然悪いことではないです。
> 誰でも初めは初心者ですからね。

そうおっしゃっていただけると有難いです・・・

>_________________________________________________________________________
> じゃんぬ Microsoft MVP for Visual Developer - C#
>   http://jeanne.wankuma.com/
>   http://blogs.wankuma.com/jeanne/

参考にさせていただきます!!
解決済み!
■No14537に返信(ゆうさんの記事)
> string型変数を使ってもファイル名の指定ができることを初めて知りました。
> 質問の件ですが、

いえ、むしろ「string 型でないとできない」の方が近いです。

> と言ってもこういう書き方が大正解なのか不安です(^^;

正解は System.IO.Path.Combine メソッドによるファイル結合ですね。

ファイルパスを結合する
http://jeanne.wankuma.com/tips/path/combine.html

長いパスを作る場合などは、ちょっとしたクラスを作っておくと便利だったりします。

Wankuma.IO.PathBuilderクラス
http://naka.wankuma.com/site/library/dotnet1.1/Wankuma.IO.PathBuilder1s.htm


_________________________________________________________________________
じゃんぬ Microsoft MVP for Visual Developer - C#
  http://jeanne.wankuma.com/
  http://blogs.wankuma.com/jeanne/
解決済み!
2006/01/15(Sun) 21:59:38 編集(投稿者)

> 正解は System.IO.Path.Combine メソッドによるファイル結合ですね。
>
> ファイルパスを結合する
> http://jeanne.wankuma.com/tips/path/combine.html

System.IO.Path.Combineなんて初めて知りました…
知らないことだらけですね(。_。;)
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板