C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

ファイル名について


(過去ログ 5 を表示中)

[トピック内 12 記事 (1 - 12 表示)]  << 0 >>

■5259 / inTopicNo.1)  ファイル名について
  
□投稿者/ mo 二等兵(1回)-(2006/08/02(Wed) 19:16:34)

分類:[C#] 


分類:[C#] 

初めて書き込みさせていただきます。プログラミングに携わってまだ2ヶ月の超初心者です。とっても頭が沸騰しているので、どなたか教えて下さい。

やりたいことは、「ファイルとフォルダを作成する」です。
ファイル(excel)は毎日増えていき、月ごとにフォルダにまとめたいと思っています。
ただ、ファイル名は常にその日を表示させ、フォルダはその月をフォルダ名にしたいです。そこで、DAYという変数を使用してファイル名を表示させたいのですが

string filepath = @"C:フォルダ名"+"\"+DAY+".xls";

という表現でいいのかと思っていたら「;がない」というエラーがでます。
(ちなみにDAYは別のところで変数の定義がされています。)
どのようにしたらいいのか教えて下さい。


0
引用返信 編集キー/
■5260 / inTopicNo.2)  Re[1]: ファイル名について
□投稿者/ 名無しぃシャープ 少尉(138回)-(2006/08/02(Wed) 19:23:18)

分類:[C#] 

> "\"

これどういう風に認識されると思う?

0
引用返信 編集キー/
■5261 / inTopicNo.3)  Re[2]: ファイル名について
□投稿者/ mo 二等兵(1回)-(2006/08/02(Wed) 21:24:09)

分類:[C#] 

No5260に返信(名無しぃシャープさんの記事)
>>"\"
>
> これどういう風に認識されると思う?

名無しぃシャープさん、返信ありがとうございます。

初心者ながら、””でくくってあるのは文字列って思ってますが、
ファイルパスって、フルパスなら@"C:\aaa\bbb.xls";ですよね???

うーん、
string filepath = @"C:フォルダ名"+"\"+DAY+".xls"";ってすればいいんでしょうか???


0
引用返信 編集キー/
■5262 / inTopicNo.4)  Re[3]: ファイル名について
□投稿者/ も 一等兵(22回)-(2006/08/02(Wed) 21:46:38)

分類:[C#] 

とりあえずC#の文字列 リテラル について調べてみて、という意味だと思います

0
引用返信 編集キー/
■5265 / inTopicNo.5)  Re[3]: ファイル名について
□投稿者/ はいこーん 曹長(86回)-(2006/08/02(Wed) 23:15:14)

分類:[C#] 

No5261に返信(moさんの記事)
> 名無しぃシャープさん、返信ありがとうございます。
>
> 初心者ながら、””でくくってあるのは文字列って思ってますが、

せっかく、"\"の一文字にしてくれたんですから"\"に注目しましょう。

> ファイルパスって、フルパスなら@"C:\aaa\bbb.xls";ですよね???

↑↑↑↑これは↑↑↑↑理解もしないで逐語的リテラル(@)を使ってるってことですね。

> うーん、
> string filepath = @"C:フォルダ名"+"\"+DAY+".xls"";ってすればいいんでしょうか???

一方だけ逐語的リテラル(@)がついてるわけですね。
明らかにおかしいですよね。(理解できていない・今日見かけたどこかのBlogの記事を思い出しますね)

#ところで、C:フォルダ名ではなく、C:\フォルダ名ですよね。
#\があるものとして回答してます。

0
引用返信 編集キー/
■5272 / inTopicNo.6)  Re[4]: ファイル名について
□投稿者/ eternia 二等兵(7回)-(2006/08/03(Thu) 10:38:06)

分類:[C#] 

「エスケープ文字」もしくははいこーんさんの回答にあるように
「逐語的リテラル」を調べると幸せになれます。

#両方覚えるべきとは思いますが。

0
引用返信 編集キー/
■5273 / inTopicNo.7)  Re[4]: ファイル名について
□投稿者/ ゆうじ 一等兵(35回)-(2006/08/03(Thu) 11:59:57)

分類:[C#] 

> string filepath = @"C:フォルダ名"+"\"+DAY+".xls"";ってすればいいんでしょうか???
直接関係ないかもしれませんが、
全角・半角が入り乱れているのも気持ち悪いですね。
ハンドルネームも「mo」 → 「mo」に変わってるし・・・。


0
引用返信 編集キー/
■5282 / inTopicNo.8)  Re[4]: ファイル名について
□投稿者/ mo 二等兵(2回)-(2006/08/03(Thu) 18:26:28)

分類:[C#] 

No5262に返信(もさんの記事)
> とりあえずC#の文字列 リテラル について調べてみて、という意味だと思います

もさん、返信ありがとうございます。msdnより引用すると、

「逐語的リテラル文字列は、@ 文字、二重引用符、0 個以上の文字、および閉じる二重引用符で構成されています。@"hello" は逐語的リテラル文字列の簡単な例です。逐語的リテラル文字列では、区切り記号の間の文字は、逐語的に解釈されます。」

って、書いてあったんですが、日本語の意味すらわかりません!!「逐語的」って
なんですか!?

わからなすぎでごめんなさい。。。日本語の勉強から出直しですね。。。


0
引用返信 編集キー/
■5283 / inTopicNo.9)  Re[4]: ファイル名について
□投稿者/ mo 二等兵(3回)-(2006/08/03(Thu) 18:41:18)

分類:[C#] 

No5265に返信(はいこーんさんの記事)
> ■No5261に返信(moさんの記事)
はいこーんさん、返信ありがとうございます。

>>ファイルパスって、フルパスなら@"C:\aaa\bbb.xls";ですよね???
>
> ↑↑↑↑これは↑↑↑↑理解もしないで逐語的リテラル(@)を使ってるってことですね。

すみません。。。よくわからずにやってます。。。

> 一方だけ逐語的リテラル(@)がついてるわけですね。
> 明らかにおかしいですよね。(理解できていない・今日見かけたどこかのBlogの記事を思い出しますね)
>
> #ところで、C:フォルダ名ではなく、C:\フォルダ名ですよね。
> #\があるものとして回答してます。

そのとうりです。何度もすみません。。。そしてご指摘ありがとうございます。

> 一方だけ逐語的リテラル(@)がついてる

string filepath = @"C:¥フォルダ名"(←ここまでが逐語的リテラルってことですか?)+"\"+DAY+".xls"";

修正するなら、

string filepath = "C:\\フォルダ名"+"\\"+DAY+".xls";って事でしょうか?

ほんとにわかってなくてすみません。逐語的リテラルって言葉を知っただけでも私にとってはとても大きな前進です。ありがとうございます。




0
引用返信 編集キー/
■5284 / inTopicNo.10)  Re[5]: ファイル名について
□投稿者/ mo 二等兵(4回)-(2006/08/03(Thu) 18:54:17)

分類:[C#] 

No5272に返信(eterniaさんの記事)
> 「エスケープ文字」もしくははいこーんさんの回答にあるように
> 「逐語的リテラル」を調べると幸せになれます。
>
> #両方覚えるべきとは思いますが。

eterniaさん、返信ありがとうございます。返信してくださった方から順に書かせていただいています。そしてmsdnで見つけました。以下引用します。


「@ 記号は、文字列の作成時にエスケープ文字および改行を無視することを指定します。したがって次の 2 つの文字列は同一です。

C# コードのコピーstring p1 = "\\\\My Documents\\My Files\\";
         string p2 = @"\\My Documents\My Files\";」


なんとなく、すこーし幸せになれたような気がします。。。





0
引用返信 編集キー/
■5285 / inTopicNo.11)  Re[5]: ファイル名について
□投稿者/ はいこーん 曹長(87回)-(2006/08/03(Thu) 19:01:00)

分類:[C#] 

No5283に返信(moさんの記事)
> すみません。。。よくわからずにやってます。。。

やめましょう。
それは質問するような段階ではないことを意味します。
自分が書いたコードの意味すらわからない状態で調べられるはずもないでしょう。

> そのとうりです。何度もすみません。。。そしてご指摘ありがとうございます。

s/そのとうり/そのとおり/g
ですね。

> string filepath = @"C:¥フォルダ名"(←ここまでが逐語的リテラルってことですか?)+"\"+DAY+".xls"";

あなたがコンパイラの気持ちになって考えてみてください。
どこからどこまでが逐語的リテラルになるのか、二重引用符なしで判断できますか?
@"A" + "B" + "C"
これで、"A"も"B"も"C"も逐語的リテラルになると思うんですか?

> 修正するなら、
>
> string filepath = "C:\\フォルダ名"+"\\"+DAY+".xls";って事でしょうか?

でたーどんでんがえしー。
ちくごてきりてらるをつかわなくなっちゃったー。
これじゃあこのすれをたてたいみがないぞー。

逐語的リテラルが何のためにあるのかわかっていない証拠です。

「"\"」は、「"\」になります。(終端の引用符がない)
なぜならば、\はエスケープシーケンスを表すからです。(指摘されたのにこれも調べてないんでしょ?)

"\""とすることであなたのイメージに合います。
で、逐語的リテラルを使えば\はエスケープシーケンスと見なされなくなるので、
@"\"と書くことができるわけです。

はっきりいって、逐語的リテラルすら調べてないんでしょ。
http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/csspec/html/vclrfcsharpspec_2_4_4_5.asp

って、なんだ。入れ違いに調べていたのですね。(調べてないと誤解しちゃいますよ)
後半の内容は忘れてください。


0
引用返信 編集キー/
■5286 / inTopicNo.12)  Re[5]: ファイル名について
□投稿者/ mo 二等兵(5回)-(2006/08/03(Thu) 19:05:22)

分類:[C#] 

No5273に返信(ゆうじさんの記事)

ゆうじさん、気持ち悪くてすみません。返信ありがとうございます。

>>string filepath = @"C:フォルダ名"+"\"+DAY+".xls"";ってすればいいんでしょうか???
> 直接関係ないかもしれませんが、
> 全角・半角が入り乱れているのも気持ち悪いですね。
> ハンドルネームも「mo」 → 「mo」に変わってるし・・・。

ただ、ミスタッチしただけですが、気持ち悪いですか、すみません。きっとまだまだ経験が浅いということもあり、そういった感覚も育成されてないので、お気にさわったようです。何度もすみません。
そして、ハンドルネームのご指摘ですが、ほんとに意味なくミスタッチです。超初心者が犯した間違いで、気分を害されたようで、ほんとにすみません。以後気をつけます。ご指摘ありがとうございました。


0
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -