C♯相談室 Part5
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん♯
NGNG∧_∧____
/(#゚ー゚) ./\
/| ̄∪∪ ̄|\/ C#,.NET関連の話題はこちらでどうぞ。
|____|/
,,,,∪∪,,, ,,
過去スレ・関連リンクは>>2-10あたり
0153デフォルトの名無しさん
NGNG144の例は明らかに参照型だからジャン。
あれはただの代入だよ。
0154デフォルトの名無しさん
NGNGDelphiのMemoのLinesプロパティはAddしたときに自動的にstring配列を拡張してくれるので、
それに近いものをさがしているのでした。
現在のLinesより一つ大きいstring[]を確保して、そこにLinesをコピーして、そのあと参照先を変えるってのが
正攻法なんでしょうか?
0155デフォルトの名無しさん
NGNG0156デフォルトの名無しさん
NGNGへ?
string s; s = "age";
は
string s = new String("age");
ってな意味だよ。代入じゃありませんよ。もちろんnew Stringはコンパイルできませんけどね。
immutableの意味がわかってませんね?
0157デフォルトの名無しさん
NGNGtextBox1.AppendText("\r\nほげほげ");
こういう感じでいいんじゃないの?
0158デフォルトの名無しさん
NGNGDirectoryInfo dir = new DirectoryInfo(@"\\Server-1\test");
この引数の頭についてる@はなんですか?
0159さっき誤爆しちまったかも・・・
NGNG(´ー`)。o○(あんたほんとにimmutableわかってる?)
0160デフォルトの名無しさん
NGNGあー、わかってるよ。一度作ったら中身が不変だってことだ。
だから、一見中身が変えられているような次のコード
string s = "age"; s = "sage";
は実は新しいstring(sage)を作って、sの参照先を変えているだけだってことだ。
これは型が参照型かどうかとは関係ない。不変の値型だってつくれるぜ。意味ないけど。
それじゃ応用問題だ。stringが不変であるメリットは何だ?ヒントはすでに
おれが言った。
0161デフォルトの名無しさん
NGNG0162デフォルトの名無しさん
NGNG・・・アフォ?
s = "sage";がsの参照先を変えるのはsが参照型だからだぞ?
> それじゃ応用問題だ。stringが不変であるメリットは何だ?
はぁ?何で俺がそんな事に答えにゃならんのよ。┐(´ー`)┌
あえて言うならそれはメリットがあるからじゃなくて必要条件だったからなんだがな。
0163デフォルトの名無しさん
NGNG@がないと
DirectoryInfo dir = new DirectoryInfo(@"\\\\Server-1\\test");
と書かなきゃいけないから。
0164デフォルトの名無しさん
NGNG@消し忘れ。
0165デフォルトの名無しさん
NGNGあ、しまった。ごめんなさい。
0166デフォルトの名無しさん
NGNGソーリューションって言う概念や単位?がいまいちわからんです
0167デフォルトの名無しさん
NGNGそう思う?ならどうしてstringは不変でStringBuilderなんちゅうクラスを作ったんだろ。
Javaにも同じ関係があるよね。おっと、たとえばパフォーマンスなんてのは
開発者のメリットじゃないって言いたい?
>>162
>s = "sage";がsの参照先を変えるのはsが参照型だからだぞ?
お前は参照型のオブジェクトとオブジェクトへの参照の区別がついてないな。
やり直し。
>あえて言うならそれはメリットがあるからじゃなくて必要条件だったからなんだがな。
なんで必要条件なんだよ。string(もどき)が不変じゃない言語なんていくらでもあるぞ。
開発するならこういうこと知っておいたほうがいいと思うんだけどなぁ。
しょせん小手先テクニックの魅力には勝てないか、こういう話題は。
0168デフォルトの名無しさん
NGNG0169デフォルトの名無しさん
NGNGプロジェクトってのが、実行単位というか、出力単位というか、
1つのEXEやDLL,Webサービスのことで。
ソリューションってのはそれをひとまとめにしたものかなぁ。
製品が複数のEXEやDLLからなってることもあるでしょ。
この製品がソリューションで、
EXEやDLLがプロジェクト。
0170デフォルトの名無しさん
NGNGなるほど、ありがと
0171koubou�V
NGNG0172デフォルトの名無しさん
NGNG0173koubou�V
NGNGしかしなぜシャープでないのにシーシャープ
#もシャープ(♯)なのか・・・・・(意味不明
0174デフォルトの名無しさん
NGNG気づかなかったYO!
#と♯って別物だったんだ・・・
0175koubou�V
NGNGすいません。文読む前にヘンなこと言っちゃいました。
ほんとすいません。
どうもありがとうございます。
0176デフォルトの名無しさん
NGNG0177koubou�V
NGNG0178デフォルトの名無しさん
NGNG望む動作になりました。どうもです。
TextBoxのLinesプロパティがただのstring[]なのは理由があるんですかね?
自分の愚考ではVectorとか(Delphiの)TStringListみたいにしておいたほうが便利な気がするんですけど。
0179デフォルトの名無しさん
NGNG0180デフォルトの名無しさん
NGNGごめん。Del経験者だとついDelのクラス名から機能を推測したりするのよ。
ヘジさんがかかわってるだけあって? かなりVCLに似てるもんで。
どっちが優れているとかは考えてもしょうがないんで、他意はないです。
0181デフォルトの名無しさん
NGNG(,,(,,i,,,i,,,,,,,,i,,,,i,,),,)
) (
( #゚ー゚) < いっちゃえ!
0182デフォルトの名無しさん
NGNGヘタレプログラマーの俺も、ついにC#使いに。
よろすく。
0183デフォルトの名無しさん
NGNG0184デフォルトの名無しさん
NGNGしないんですが・・・
try
{
testdir.CreateSubdirectory("Test");
testdir.CreateSubdirectory("Test2");
}
catch(IOException e)
{
Console.WriteLine(e.Message);
}
としててTestもTest2も存在してるんですけど
0185デフォルトの名無しさん
NGNGC# ムズい…
0186184
NGNGダレカタスケテー
0187184
NGNGディレクトリ名を長くしたところPathTooLongException は catch できました
他のはやっぱり拾わないですね
ドキュメントの例外のところにIOExceptionやArgumentExceptionも
記載されてるので拾うと思ったのですが
0188デフォルトの名無しさん
NGNG開こうとすると「インストールします」とかいってででくる。
そんでできない。
全インストールしたんだけど??。
0189デフォルトの名無しさん
NGNG0190デフォルトの名無しさん
NGNG0191デフォルトの名無しさん
NGNGオフィス入れてる?
0192184
NGNG未だに俺はエラーチャッチできないし
と言うかスローされて無いっぽい・・・どうするべ
>>188
トピックの階層はどこですかね
0193デフォルトの名無しさん
NGNG解説
path の一部が無効でない限り、path に指定したすべての
ディレクトリが作成されます。path パラメータでは、ファイル
パスではなく、ディレクトリ パスを指定します。
既存のサブディレクトリがある場合は、このメソッドは何も実行しません。
DirectoryInfo di = new DirectoryInfo("TempDir");
if (di.Exists == false)
di.Create();
これでいいんじゃないか?
0194188
NGNG以下全部です。
0195188
NGNG0196デフォルトの名無しさん
NGNGちなみに存在しないDirectoryInfoのオブジェクトに対して
CreateSubdirectoryを読んだときにだけIOExceptionを投げるみたい。
0197184
NGNGどもすまんです
つまりDirectoryInfo自体が無効でないとIOExceptionやArgumentException
を投げないと言うことですかね?
とすると単純にディレクトリの存在をIOExceptionで確認することはできないわけですね
ArgumentExceptionはどうしよう
0198デフォルトの名無しさん
NGNGC++++ってこと?
0199デフォルトの名無しさん
NGNG0200デフォルトの名無しさん
NGNGいろいろ試してみたけど、
・DirectoryInfoのコンストラクタやCreateSubdirectoryメソッドに対して
ファイルシステムと矛盾するようなディレクトリ名の指定
ArgumentException
・指定したディレクトリに対して同名のファイルがある場合
IOException
こんな感じかな?
おとといから.netを始めたばっかだから間違ってるかもしれないけど
0201デフォルトの名無しさん
NGNG存在チェックなら、DirectoryInfoのExistsがあるのだからいいんじゃない?
0202デフォルトの名無しさん
NGNGドキュメントにも
既存のサブディレクトリがある場合は、このメソッドは何も実行しません。
とあるのでスローもしないのだと思うが
例外の欄に
IOException
path に指定された名前のファイルまたはディレクトリが既に存在しています
とある理由がわからない
ま、判定にはCreateSubdirectoryは使うなという事なのかもしれんが
ArgumentExceptionに関しては実際無効な名前でテストしてみると(/を入れてみた)
ディレクトリは作成されないがスローもされずに最後まで走る
おれもC#初心者なんだけどね
分けわからんですな
もう少しこの辺をいろいろ試してみる
0203デフォルトの名無しさん
NGNG作ろうとしているサブディレクトリと同名のファイルが既に存在する場合は、
例外がスローされるね。
0204デフォルトの名無しさん
NGNGだね これはこれで実際同ディレクトリ内に作成不可なので
スローされていいわけですな
ということはドキュメントの
path に指定された名前のファイルまたはディレクトリが既に存在しています
と言う部分はCreateSubdirectoryに関しては
path に指定された名前のファイルが既に存在しています
と解釈すればいいと言うことかな
0205デフォルトの名無しさん
NGNGしかしドキュメントは更に謎
path によって指定されたディレクトリが、読み取り専用であるか、空ではありません。
だってさ
ためしに指定するパスのディレクトリを存在させて読取専用属性をつけてみた
IOExceptionどころかどの例外もスローされずにコードが走りました
対象のディレクトリはそのまま
0206デフォルトの名無しさん
NGNG0207デフォルトの名無しさん
NGNG0208デフォルトの名無しさん
NGNGC# または C++ の場合:
Directory::CreateDirectory("Public\\Html");
だってさ
0209デフォルトの名無しさん
NGNG0210デフォルトの名無しさん
NGNG0211デフォルトの名無しさん
NGNGhttp://msdn.microsoft.com/library/?url=/library/en-us/cpref/html/frlrfSystemIODirectoryInfoClassCreateSubdirectoryTopic.asp?frame=true
0212デフォルトの名無しさん
NGNG原文もそのままっぽいね
0213デフォルトの名無しさん
NGNG0214デフォルトの名無しさん
NGNGDirectory::CreateDirectory("Public\\Html");
こういう間違いって見てマジ萎える
0215デフォルトの名無しさん
NGNG0216デフォルトの名無しさん
NGNGウインドウ開いてもすぐに終了しちゃうんですが
0217デフォルトの名無しさん
NGNG激しくガイシュツだが。
[STAThread]
static void Main() {
Application.Run(new Form1());
}
0218デフォルトの名無しさん
NGNG↑これ、何でしょうか?
.NET SDKのドキュメントのどのセクションを読めばいいのか教えてもらえませんか?
assemblyで検索するとVB.NETのドキュメントしか出てこないので・・・
0219駆け出し初心者
NGNG>>202
気になったので試してみました
論点はズレてるかもしれんが...
using System;
using System.IO;
namespace test{
class test{
static void Main(string [] args)
{
DirectoryInfo testdir = new DirectoryInfo(".");
try
{
testdir.CreateSubdirectory(args[0]);
}
catch(Exception e)
{
Console.WriteLine(e.ToString());
}
}
}
}
上のソースをコンパイル後の名前をaとして
C:\>a A/ エラーにらずカレントディレクトリに"C:\A"ディレクトリが作成される。
C:\>a B/B エラーにらずカレントディレクトリに"C:\B\B"ディレクトリが作成される。
結果を見てみるとUNIXのディレクトリ表記と同じにみえる
結論、.NETはUNIXも当然守備範囲に入れている?
同じく"\"も試してみたが同じ様にサブディレクトリが自動的に作成される。
考えようによっては、楽チンかも
0220デフォルトの名無しさん
NGNGアセンブリに適用する属性。「属性」とかで引いてみるべし。
0221デフォルトの名無しさん
NGNGありが�d調べてみます
0222デフォルトの名無しさん
NGNGaのb乗ですが
5の1.5乗っていうのはどういう計算なんですか?
0223デフォルトの名無しさん
NGNGぁ?
非自然数の階乗の計算方法がわからないのか?
0224デフォルトの名無しさん
NGNG0225デフォルトの名無しさん
NGNG中学生からやり直せ
0226デフォルトの名無しさん
NGNG0227デフォルトの名無しさん
NGNG中学生からやり直せ
0228デフォルトの名無しさん
NGNG(*゚ー゚)< マターリシマショ。
UU  ̄ U U\__
0229デフォルトの名無しさん
NGNG?
0230デフォルトの名無しさん
NGNG累乗
0231202
NGNGヒント有難う
というか俺がボケあがってますね
テストに/を使うのがバカでした
/が単純にディレクトリ名に使えないと思いついて試したんです、、、(恥
再度 < や > などで試すとちゃんと ArgumentException がスローされました
これでほぼ問題解決です
0232デフォルトの名無しさん
NGNGC#のコンパイラは
C言語もできますか?
0233デフォルトの名無しさん
NGNG何ですか〜?
0234デフォルトの名無しさん
NGNG多分Visual C#のコンパイラでCのソースもコンパイルできるかどうか聞いているんだと思う。
0235デフォルトの名無しさん
NGNGなるほど〜
>>232
できませんよ〜CとC#の関係はCとC++の関係とは違いま〜す
似てるようだけど〜全然別の言語だと思ってくださ〜い
0236デフォルトの名無しさん
NGNG累乗も階上もならうの高校だぞ。
>>222
http://www.google.com/search?hl=ja&lr=lang_ja&q=指数関数
0237デフォルトの名無しさん
NGNG0238デフォルトの名無しさん
NGNG0239237
NGNG0240デフォルトの名無しさん
NGNG0241237
NGNG0242デフォルトの名無しさん
NGNG0243デフォルトの名無しさん
NGNG0245デフォルトの名無しさん
NGNG0246デフォルトの名無しさん
NGNG0249デフォルトの名無しさん
NGNG0250デフォルトの名無しさん
NGNG今日、アカデミック買ってきてやったよ。
秋葉のソフマップ1号館では22800円だたよ。
0251デフォルトの名無しさん
NGNG0252デフォルトの名無しさん
NGNG全部CDで送られてくるの?それとも自分でダウンロードしなくちゃ
いけないの?
■ このスレッドは過去ログ倉庫に格納されています