C♯相談室 Part5
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん♯
NGNG∧_∧____
/(#゚ー゚) ./\
/| ̄∪∪ ̄|\/ C#,.NET関連の話題はこちらでどうぞ。
|____|/
,,,,∪∪,,, ,,
過去スレ・関連リンクは>>2-10あたり
0002名無しさん♯
NGNGC♯相談室 Part4
http://pc.2ch.net/test/read.cgi/tech/1016597767/
C♯相談室 Part3
http://pc.2ch.net/test/read.cgi/tech/1009473982/ (現在dat落ち)
C♯相談室 Part2
http://pc.2ch.net/test/read.cgi/tech/1002468050/ (現在dat落ち)
C#相談室
http://pc.2ch.net/tech/kako/977/977112364.html
ソース置き場.NET
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1003826049
0003デフォルトの名無しさん
NGNGVisualStudio.Net SP4/*.NETなんて、好きだー!!*/
http://pc.2ch.net/test/read.cgi/tech/1017674939/
お前ら頃し合いしてください
http://pc.2ch.net/test/read.cgi/tech/1013093589/
0004デフォルトの名無しさん
NGNGhttp://www.microsoft.com/japan/msdn/default.asp
Insider.NET
http://www.atmarkit.co.jp/fdotnet/
0005デフォルトの名無しさん
NGNG0006デフォルトの名無しさん
NGNGC#品切れだったので入荷するまで
とりあえずSDKを使ってみようと思ったけど、
これからプログラミングを始める者なのでよくわからない。
0007デフォルトの名無しさん
NGNG<VSMacros>ってなんだい?
消してもまたはえてくるけど。
0008デフォルトの名無しさん
NGNG○C#Standard 統合開発環境
エディタ・テンプレートなどなど。当然便利な機能あり
この環境からは言語自体はC#しか使えない(下に説明するSDKも入っている)
びぢゅあーるな環境でウィンドウズあっぷりけーしょんなどを開発できる。
クラスライブラリ・自前コンポーネント作成用の環境はない(単体C#の機能制限)。
入門者向けテキスト等も同梱。金かかる。
○SDK 統合じゃない開発環境
C#に限らずなんでもできるがコマンドラインから操作せねばならん
ものが多いなどめんどい。
実はびぢゅあーるな感じでの
ウィンドウズあっぷりけーしょん開発ツールも入ってる。
クラスライブラリ・自前コンポーネントはきっと作れる(謎
金かからん。
金あるひとは上、ない人(品切れで買えない人)は下かと。
0009デフォルトの名無しさん
NGNG文字通りマクロの保存場所。
VS.NETはOfficeみたいにマクロを使えるよ。しかもコードはVB.NET。
0010デフォルトの名無しさん
NGNGマクロか、そっかそのまんまだね。研究してみる。サンキュー。
0011名無しの高校教師でごわす
NGNG実はC#とC++のスタンダード版を買ってしまった高校教師です。
アカデミック版を買えるのですが、例のアクティべーションとかいうものの
正体がわからないので躊躇して買わなかったのです。買うべきでしょうか
クラスライブラリが作れないとは痛かったです。でも、すでに膨大なクラス
が用意されているので必要はないかなとも思うのですが。。。
アクティべーション自身を詳しく(裏事情も含めて)教えてください。
私はしょっちゅう環境を全部消してはまた再インストールするのです。MSから
つけねらわれるのでしょうか?
0012デフォルトの名無しさん
NGNGこっちで聞いた方がいいんじゃない?
http://pc.2ch.net/test/read.cgi/tech/1017674939/l50
0013名無しの高校教師でごわす
NGNGいや、ここで聞きたいのです。
0014デフォルトの名無しさん
NGNG0015デフォルトの名無しさん
NGNGせっかく学生なんだから特権使ってVS.NET買えばいいのに、
おれだったらそうするね。
おれは、貧乏なC#Stdユーザーだけどな。
0016名無しの高校教師でごわす
NGNGいうことが分かりました。お金がない人はVC++を買う必要はまったく
ありません。
0017名無しの高校教師でごわす
NGNGアドバイスありがとうございます。
私は貧乏な「40歳」の高校教師です。学生ではありません。
統合開発環境はなんだかごちゃごちゃしていてまだ勝手がわかりません。
とりあえず、csc.exeで一通りC#の言語体系を眺めてみている最中です。
00188を一生懸命書いたやつ
NGNGこれからプログラミング始めるって書いてあるっしょ、
ならライブラリなんぞ作るのは当分さきじゃんかよ〜ぐわー
次のバージョンのときVS買ってもいいだろ〜あ〜?
0019デフォルトの名無しさん
NGNG同意。
初期のソースなんて汚くてあとで使いまわしするのに耐えないことが多いんだし。
0020デフォルトの名無しさん
NGNG0021デフォルトの名無しさん
NGNG0022学習がはかどらない男
NGNGもしくは
どんな感じで勉強してる?
ねぇ。
>>21
C#のカンファレンスはないのん?
0023デフォルトの名無しさん
NGNGアリを眺めてる
0024デフォルトの名無しさん
NGNG失せろ!バカ教師!
0025学習がはかどらない男
NGNGレベル高いのぅ。。。
0026開発もはかどらない男
NGNGアリは肉食動物なの?
0027デフォルトの名無しさん
NGNG新手の荒しだな。放置しよ。俺もな。スマソ。
0028独り言すらはかどらない男
NGNG0029デフォルトの名無しさん
NGNGしっつもーん。
//////////////////////////////
switch(なんとかかんとか)
{
case 1:
int hogehoge;
....
break;
case 2:
hogehoge = 765;
....
////////////////////////////////
この場合のhogehogeはcase 1:で定義されてるけど、
case 2:などなど、switchスコープ内なら使いまわせるんだよね?
(C++とかでもできたっけ?)
0030デフォルトの名無しさん
NGNG気持ち悪い感じだけど、できるね。
C++だと出来ないよね。
0031デフォルトの名無しさん
NGNG即お返事サンキュー
WinTalkって、SDKだかのサンプルにでてきたのん。
今読んでるとこ。
気持ち悪いか、そういわれればそうですねぇ。
C#って愉快。
0032デフォルトの名無しさん
NGNGもーおそいだろうけど。学生・教員ならアカデミックパック買うよりもアカデミックオープンライセンスで買うほうがよい。
アクティベーションなくなるし、若干安いし。
その代わり初回に5ライセンス分(別のソフトとあわせてでもいいが)買わなきゃいけないのが難点だが、
一緒に買う仲間を募ればどうにかなるし。
0033デフォルトの名無しさん
NGNGたとえば、enumの値がOR出来るように割り当ててくれるわけでもないようだし・・。
0034デフォルトの名無しさん
NGNGReadとかで読んで、改行をサーチしないとダメですか?
0035デフォルトの名無しさん
NGNGReadLine
0037デフォルトの名無しさん
NGNGこれはどういう意味なんでしょうか。
例で示してもらえると助かります。
0038デフォルトの名無しさん
NGNG型の取り扱いが違うということでは。
Console.WriteLine( 'k'.GetType() );
Console.WriteLine( "k".GetType() );
0039名無しの高校教師でごわす
NGNGありがとうございました。店頭には見あたらなかったので
店員と相談します。
0040デフォルトの名無しさん
NGNG以後、利用させていただきます。
0041中日ファン@横浜さんが好きモード ◆DRAG8zBg
NGNG自分で調べた方が早く、結局は楽に、身に付きますよ
0042デフォルトの名無しさん
NGNG0043デフォルトの名無しさん
NGNG>>38さんも答えてるけど、
'k'は文字で、"k"はたまたま一文字な文字列。
ちなみに独習C#ですな?私も昨日読み始めた。
004440
NGNG閉鎖的な環境の中で一人黙々とやっていくものなのですね。
以後、引きこもります。
0045pと
NGNG質問ですが、C#の「#」って、本当は「C」の右肩に上付きでつけるもの
だと聞きました。本当ですか?
0046デフォルトの名無しさん
NGNGあなたに興味があります。
#についてあなたと一緒に語り明かしたいです。
0047デフォルトの名無しさん
NGNGあれほど大人しくしてろと言ったのですが、勝手に漏れのパソコン使いやがって、
しかも、こんな糞レスさせてしまって申し訳ございません。
これから外出するときは、縄で縛って天井に吊るしておきます。
0048デフォルトの名無しさん
NGNG0049pと
NGNG今、先生の目を盗んで授業中に書き込んでいます。今、英文Eメールの
作文練習時間です。田舎(福島)だけど、オーストラリアに姉妹校?があるのです。
パソコン教室に20台のパソコンがありますが、全然台数が足りません。
部活はもち!物理電算部です。白々しいけど将来の夢はIBMかマイクロソフトの
バリバリのOLを希望しています。ちなみに応援団もかけ持ちで入団しています。
すみません。自己紹介してしまいました。
C#好きです。がんばってください。さようなら。 近藤実華
0050デフォルトの名無しさん
NGNG0051デフォルトの名無しさん
NGNGワロタ
0052デフォルトの名無しさん
NGNG病院から抜け出したのを今取り押さえたところです。
彼女は幼いころに両親にひどい仕打ちを受けたのです。
父からは毎日のようにレイプされ、母からも暴行を繰り返されてきました。
入院してからは、日に日に良くなっていき、だいぶ精神状態も落ち着いてきたようなので
外出を許した途端逃げ出してしまいました。
私の担当不行き届きです。皆様にはご迷惑をお掛けしまして誠に申し訳ございません。
以後、浣腸してベッドに縛りつけておきます。
0053デフォルトの名無しさん
NGNG0054同じ女子高生として我慢できません
NGNG答え: 違います。文字の大きさは「C」といっしょです。
たぶん音楽記号的な発想からきたとのだと思いますが、これは元々はC++のジョークみたいな
発想で「さらに1つ追加」という考えから++++が変形してできました。
005554
NGNG私は部活は文芸部ですが、創作はパソコンで執筆するように決められています。
うちはパソコン部とか物理電算部はありません。でも何故かパソコンの
台数は100台近くあります。それなのにインターネット出来ないので、
ネット上での活動は個人のパソコンを使っています。
がんばってください。
0056デフォルトの名無しさん
NGNGhttp://www.microsoft.com/japan/msdn/vcsharp/
0057デフォルトの名無しさん
NGNG例えば1とか打った場合、3回ループされます。
CRとLFのぶんも回してるっぽいんですが、forの判定条件にRead()と書いただけで
内部ポインタ(?)みたいなものを進めてくれるんでしょうか。
for(int i = 0; (char)Console.Read() != 's'; i++)
Console.WriteLine("Pass #" + i);
0058中日ファン@今日はお休みモード ◆DRAG8zBg
NGNG1 s Enter(CR LF) と入力すると1回
1 s 2 Enter でも1回
1 Enter だと3回で入力待ちのまま
Consolw.Read()は
「入力ストリームの次の文字。または次の文字がない場合は -1。」
を(1文字ずつ)戻すから動作として正常なんだと思います
0059中日ファン@今日はお休みモード ◆DRAG8zBg
NGNG○Console
0060デフォルトの名無しさん
NGNGhttp://www.superin.formativ.net/mono/getstart.htm
0061デフォルトの名無しさん
NGNGhttp://www.icsharpcode.net/OpenSource/SD/Download/default.asp
0062デフォルトの名無しさん
NGNG0063デフォルトの名無しさん
NGNGhttp://go-mono.com/
0064デフォルトの名無しさん
NGNGC#の#は、音階のド(C)の一つ上(1オクターブは12段階)のド#と
言う意味でC#なんだと思うよ。
そういう意味では、C++と似た感じでパロディだね。
0065デフォルトの名無しさん
NGNGおいらは、C++の「++」を近づけて「#」になったと聞いたけどな。
この説はここではでないね。
0066中日ファン@通常モード ◆DRAG8zBg
NGNG吉爺が「気づくのに0.2秒も掛かってしまった」とか書いてたやつだね
俺もそう思ってた
0067デフォルトの名無しさん
NGNGC#が出たての頃、M$のデモでそういうの見せてたよ。
会場に(うゎ、くだらねー!・・・)って空気流れたけど。
0068デフォルトの名無しさん
NGNGそのとあるファイルは、Webアプリのあるマシンではなく、クライアントのファイルシステムにあるファイルです。
0069デフォルトの名無しさん
NGNGそのまんまやん。aspxで受け取ったbyte[]をasmxに渡せばええのんとちゃう?
0070デフォルトの名無しさん
NGNGbase64に変換して渡してみたら?
Convert.ToBase64String、Convert.FromBase64String参照。
007170
NGNG0072デフォルトの名無しさん
NGNG質問の仕方が悪かったですね。Webフォームで、<INPUT type="file">みたいなものを置いて、それをWebサービスに渡したいのですが、textboxでは「参照」ボタンを表示できないし・・・。
0073デフォルトの名無しさん
NGNGだから、Webフォームに<input type="file" runat="server">をおいて、
あがってきたFileStreamをbyte[]にして、SOAPでasmx呼び出せばいいんじゃないの?
WebサービスにはUIなんかないぜ、サービスなんだからさ。UIは各自が勝手に作るもの。
0074デフォルトの名無しさん
NGNGそれともJavaのSwingに似ているとかあります?
0075デフォルトの名無しさん
NGNGVBに似ています。
0076デフォルトの名無しさん
NGNGVJ++にソクーリです
0077中日ファン@もうすぐ連休モード ◆DRAG8zBg
NGNGベースクラスの変数に格納して多態のつもりで呼び出しても
ベースクラスの方のメソッドが呼び出される
(同じケースでoverrideの場合は当然サブクラスの方が呼び出される)
これは仕様なんでしょうか
0078デフォルトの名無しさん
NGNG仕様。
0079デフォルトの名無しさん
NGNG仕様っていうかまさにそれをやるのがnewの目的なんだけど?
0080中日ファン@もうすぐ連休モード ◆DRAG8zBg
NGNG多態には使うなということですか・・・
「ベースクラスのメソッドを隠蔽するため」
だと思ってたのに、隠蔽されるどころかしゃしゃり出てくるので
なんとも違和感があるのですが・・・
パラメータが同じなら素直にoverrideなんでしょうね
0081中日ファン@もうすぐ連休モード ◆DRAG8zBg
NGNGベースクラスの変数に格納するなということですか
008278
NGNGこれが仕様です。
0083デフォルトの名無しさん
NGNGでもさ、別にnewつけたからってvirtualはvirtualなんだけど。だからあなたがいう
その「仕様」はnewには当てはまってないよね。newのメソッドをそのさらに派生型で
overrideできるんだし。
newはさ、同じ名前の新しいvirtualメソッドをもう1つ作れるようにする機能なんだよね。
継承関係をいったん断ち切って、自分が新しい基底型(そのメソッドに限ってだけど)に
なるのがnewの機能。だから、どの型の変数を使っているかによってvtblが変わるって
ことだよね。
0084中日ファン@もうすぐ連休モード ◆DRAG8zBg
NGNGレスありがとうございます
あるメソッドが 親(abstruct)-子(override)-孫(new) の場合
親の変数で孫を作成すると
コンパイルの段階で親に近い、子のメソッドが呼び出されるのでしょうね
0085中日ファン@もうすぐ連休モード ◆DRAG8zBg
NGNG>どの型の変数を使っているかによってvtblが変わるってことだよね。
はっきりと分かりました、ありがとうございます
008678
NGNGC#標準リファレンスのP313からP319あたりまでしっかり読んでごらん。詳しく書いてあるから。
0087デフォルトの名無しさん
NGNGその本は持ってないのでなんて書いてあるのかわかりませんが、
newをつけると非仮想メソッドになるので、コンパイル時に型が決定するって書いてあるんですか???
それならその説明が*間違い*です。鵜呑みにするのはやめましょう。今出ている大抵の.NET本には
1つや2つ間違いがあるものです。
私は、newをつけてもvirtualはvirtualなのだから、82に書いてある
>非仮想メソッドの呼び出しでは、インスタンスの<b>コンパイル時の型</b>によって決まります。
っていうのは今回の中日ファンさんの例には当てはまっていないと主張しているのですよ。
実際overrideとnewの2つのメソッドを基底型の変数から呼び出すコードを書いて、
生成されたILをしっかり眺めてごらん、正しく書いてあるから。
(あー、またクソ本が一冊世の中に出回ったってことなのかしら。。。)
008878
NGNGusing System;
class A {
public virtual void F()
{
Console.WriteLine("A.F");
}
}
class B : A {
public new void F()
{
Console.WriteLine("B.F");
}
static void Main()
{
A a = new B();
a.F();
}
}
の実行結果は
A.F
と理解して私は書いているのだけど。つまり、Bのインスタンスで、A.Fが呼び出されているのですが、なんか私は勘違いしているのでしょうか?
aのコンパイル時の型はAで間違いないと思いますが。
ちなみにB.Fがoverrideだったら、あなたのおっしゃるとおりB.Fですよ。
0089中日ファン@もうすぐ連休モード ◆DRAG8zBg
NGNGusing System;
public abstract class Shape{
private string petName;
public Shape(string name){petName = name;}
public abstract void Draw();
public string PetName{get { return petName; } set { petName = value; }}
}
public class Ring : Shape{
public Ring(string name) : base(name){}
public override void Draw()
{Console.WriteLine("Drawing Ring named {0}", PetName);}
}
public class Ellipse : Ring{
public Ellipse(string name) : base(name){}
public override void Draw()
{Console.WriteLine("Drawing Ellipse named {0}", PetName);}
}
public class Circle : Ellipse{
public Circle(string name) : base(name){}
public new virtual void Draw()
{Console.WriteLine("New Drawing Circle named {0}", PetName);}
}
public class ShapesApp{
public static int Main(string[] args){
Shape[] shapes = {new Ring("Rinda"), new Ellipse("Elly"), new Circle("Cindy")};
foreach(Shape s in shapes){s.Draw();}
Circle c = new Circle("Cuty");
c.Draw();
return 0;
}
}
0090デフォルトの名無しさん
NGNG実行結果はそのとおりです。
でもその実行結果が得られる理由は、あなたが82に書いたこととは何の関係もないと言っています。
で、もしもその本とやらに、この理由が82にあなたが書いたようなこととして説明されているのなら、
それはクソ本だとも言っています。でも、たぶん本にそう書いてあるわけじゃなくてあなたが勘違い
しているだけなんだろうな、とも思います。
009178
NGNGはいはい、もうなんとでも言ってください。ぜーんぶ、あなたのおっしゃるとおりですよ。
0092デフォルトの名無しさん
NGNGなんかキレたようだけどさ、本当に俺が言うとおりなんだからしょうがないよな、この場合。
もっとがんばって勉強しような、お互い。あと、本に書いてあることは鵜呑みにしない方がいいぞ。
0093デフォルトの名無しさん
NGNG0094デフォルトの名無しさん
NGNGdo
{
ch = (char)Console.Read();
Console.Write(">>" + ch + "<<");
Console.Write("debug");
} while(ch != 'q');
0095デフォルトの名無しさん
NGNGsscliのソースを読めばわかる
0096中日ファン@もうすぐ連休モード ◆DRAG8zBg
NGNGusing System;
class TestApp
{
public static void Main()
{
char ch;
do
{
ch = (char)Console.Read();
Console.WriteLine("Read {0:X2} ", (byte)ch);
} while(ch != 'q');
}
}
↑自分はこれで納得しましたけど・・・
0097デフォルトの名無しさん
NGNG> newはさ、同じ名前の新しいvirtualメソッドをもう1つ作れるようにする機能なんだよね。
サンクス!
漏れの持ってる糞本「C#入門」はC#入門というよりプログラミング入門というべき低レベル本(簡単なクラスを作って満足して終わる)で(interfaceなんてキーワード自体1回も出てきません(;´Д`))、C#固有の文法にはほとんど触れてないんだよねぇ。
(今まで買ったプログラム言語の本の中では最低ランクに位置づけさせてもらったよ。)
newとか(特にnewという名前の理由)よくわかってなかったんだけどこの一言で氷解した。
0098中日ファン@延長になると弱いぞモード ◆DRAG8zBg
NGNG↑戻り値と解説を読むと理解できるかと・・・
0099デフォルトの名無しさん
NGNGConsole.Readは1文字だけ入力を受け付けるっていうイメージじゃなくて、
ReadLineでバッファにためて、そのバッファを1文字走査するという感じ。
010094
NGNG色々と試してみたんですが、
Read()は、1文字Enter押したとしても内部的には
キー、CR、LFとストリーム上に残るということなんでしょうか。
(その間、>>96さんの例だとwhile条件を抜けない…?どうもここらへんがよくわかりません)
0101中日ファン@延長になると弱いぞモード ◆DRAG8zBg
NGNG>キー、CR、LFとストリーム上に残るということなんでしょうか。
その通りだと思います
>while条件を抜けない…?
q Enter で抜けるはずですけど・・・
■ このスレッドは過去ログ倉庫に格納されています