トップページ⇒tech
1001コメント312KB

VC♯.NET統合スレッド

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG
VC♯だけのスレッドです
VB、JAVA厨は要りませんのでご了承
0002デフォルトの名無しさんNGNG
やっぱVisuralC#.NET統合スレッドにすればよかった・・・
0003デフォルトの名無しさんNGNG
Visural?
0004デフォルトの名無しさんNGNG
タイプミス
0005デフォルトの名無しさんNGNG
個人的にはC/C++も要りません
0006デフォルトの名無しさんNGNG
完全なC#のみスレッドにすればよし

でもだれかまたCOBOLって叫ぶんだろうな
0007デフォルトの名無しさんNGNG
.NETライブラリは除いて言語のみを語るべきだな。
0008デフォルトの名無しさんNGNG
>>1
> VB、JAVA厨は要りませんのでご了承

そういう喧嘩腰の煽りはやめといけ
糞スレ扱いになるぞ。
0009デフォルトの名無しさんNGNG
新スレッド立てれるようになったら
VisualC#.NET統合スレッド で新しく作り直します・・・
ちゃんとVB,VC,VC++,VJ,COBOL厨は要りませんってかいてね
0010デフォルトの名無しさんNGNG
>>8
すいましぇん・・・
次立てるときに気をつけます
0011デフォルトの名無しさんNGNG
>>9
> ちゃんとVB,VC,VC++,VJ,COBOL厨は要りませんってかいてね
だからそういうなめたこと書くなって言ってんだろ
0012デフォルトの名無しさんNGNG
>>11
ちょうど謝罪文かいてたっての!
0013デフォルトの名無しさんNGNG
なんか笑える・・・
001412NGNG
っていうかコレ本当の話
0015デフォルトの名無しさんNGNG
素朴な疑問
1 まず俺が悪いこといいました(認めます
2 警告くらった
3 謝罪文書いた(ちょっといいすぎかな
4 また警告くらった

この3と4の間に8分あったんだが
これって謝ってるのに気づいて警告だしたってこと??
ちょっとそいつはひでぇですぜ
0016デフォルトの名無しさんNGNG
素朴な疑問その2
すでにC#の話題から完全にそれてること
0017デフォルトの名無しさんNGNG
>>15
そんなこと、ニュースグループでも頻発することだ。

ニュースグループを見ると
ある質問に対する返答記事が届く。
しばらくするとその返答の元になった質問記事が後から来る。
普通なら質問記事が着てから返事が来るはずが逆になっているのだ。

>>11はリロードしていなかったのだろう。
0018デフォルトの名無しさんNGNG
こっちでいいじゃん。

C♯相談室 Part9
http://pc2.2ch.net/test/read.cgi/tech/1039646808/
0019デフォルトの名無しさんNGNG
やだ
0020デフォルトの名無しさんNGNG
そろそろ正規名称でスレたてよっかな
0021デフォルトの名無しさんNGNG
そのまえにテンプレ作ろうぜ。
0022デフォルトの名無しさんNGNG
賛成
0023計画立案者NGNG
誰かテンプレ作ってください
初スレ立てるので是非勉強を・・・
0024計画立案者NGNG
っていうかどういうスレにするか
計画案作りましょうよ
0025デフォルトの名無しさんNGNG
てゆうかVC#.NET統合スレッドって何を統合すんの?
0026計画立案者NGNG
個人的には言語仕様とかそこら辺を統合しようかとおもってますが
0027デフォルトの名無しさんNGNG
自分で書いて思った疑問
そこら辺ってどこら辺だ??
0028デフォルトの名無しさんNGNG
テンプレート(仮)

C#.NETの言語仕様のみです
VB,VC++等の他言語を利用の人は
ほかの板への移動をお願いします

こんなものですかね?
0029デフォルトの名無しさんNGNG
別にいいけど、ここでC#.NETの言語使用を語ってもどうしようもないよね。
0030計画立案者NGNG
誰か名案ない??
0031デフォルトの名無しさんNGNG
分ける明確な理由がないのにスレ立てたわけ?
そりゃ糞スレっていうんじゃないのか?
0032デフォルトの名無しさんNGNG
>>31
自分でもそう思った
削除依頼でもだしとくか
0033デフォルトの名無しさんNGNG
つうか、その内容ならVいらんにょ。
0034デフォルトの名無しさんNGNG
オフィシャルとかNUnitとか、あとは@ITの記事とか。
まずはそこらへんのリンクからだろ。
0035デフォルトの名無しさんNGNG
Windows.Forms 周りのトピック専門スレッドきぼん
0036デフォルトの名無しさんNGNG
VC#.NET統合開発環境の使い方や便利なTipsとかは?
0037デフォルトの名無しさんNGNG
>>36
それはちょっといいかもしれない。
でも VC#.NET というよりは、VS.NET もしくは
Develop Environment になるのかな。

あと、それに付属されてくるツールの使い方や Tips とか?
0038計画立案者NGNG
まず問題はVがいるかどうかですね
0039計画立案者NGNG
記事について
@ITからのリンクです
結構C#に使えると思われます

【情報】・・・突っ込まないでください!返信しようがありません
ちなみにこの連載 C#入門ですが実はこの記事探す前に
実は書籍を購入してました
もしきになる方は書店で2200円ほどで買うことができます
たぶん緑色だったとおもうんですけど・・・
0040デフォルトの名無しさんNGNG
リンクはるのわすれてた・・・

@IT Insider.NET全記事一覧
http://www.atmarkit.co.jp/fdotnet/index/all/index.html#csharpnyumon
0041sageNGNG
ガキが2chなんかに入り浸っちゃいかんよ。
0042デフォルトの名無しさんNGNG
>>41
わけのわからんレスかえさないように
0043計画立案者NGNG
開設意向
これよりこの板はC#の言語仕様のみのTipsとします
言語仕様のほか、みんなが楽しめる内容は許可しますが
.NETFLAMEWORK(字間違えたかも)の話題は極力控えてください
ただし、極力ですので一部ならいいです
くれぐれも.NETFLAMEWORKの話題にならないようにお願いします
0044デフォルトの名無しさんNGNG
つまりflame大歓迎と。
0045デフォルトの名無しさんNGNG
>>44
言いたいことわかりませんけど?
0046デフォルトの名無しさんNGNG
今ログを見直しましたが
>>29、>>35、>>36や>>37を見たところこれらの意見を統合して
1.言語仕様だけ語っても糞スレになると思われるのでそれ以外の内容OK
2.TopicやTips関連のものを内容に含む
そして題名が「統合」なのでこれらの内容【CONTENT】にしようと思いますが
どうでしょうか?
0047デフォルトの名無しさんNGNG
>>28 >>43
とおもいっきり否定的な内容なのはいかがかと。
0048ねかまNGNG
テンプレートはいつ実装されるのかしら。
0049デフォルトの名無しさんNGNG
GenericsならYukonで実装されるが、テンプレートは実装されないだろうな。
0050デフォルトの名無しさんNGNG
>>49
釣りか?

それとも、C#のgenericsはC++のtemplateと違って、
コードの爆発とか起きないし、テンプレート引数にintとかを取れないといいたいのか?
0051デフォルトの名無しさんNGNG
>>50
釣り?そんな趣味はない。
コードの爆発は起きないし実行時にGenericsとして認識できるし
.NETではintはクラスだから引数にも取れる。C++のテンプレートとGenericsを
混同しないように。
0052デフォルトの名無しさんNGNG
intをとれるっつーのは、コンパイル時に階乗計算したりするやつの事だろ。
でもまあ言葉だけで理解してもしょーもないと思うんだが。
0053デフォルトの名無しさんNGNG
>>52
意味がわからない。
0054デフォルトの名無しさんNGNG
>>50
釣りはお前だ!
0055デフォルトの名無しさんNGNG
>>53
template<typename T, int N>
↑
これの N の方のこと。

52の後半の文章は確かに意味分からん。
ついでに言うと、51の文章も意味分からん。
0056デフォルトの名無しさんNGNG
>>49
ワォワォ。YukonってSQL Serverだろ。
Genericsが実装されるとは驚きだね。
0057デフォルトの名無しさんNGNG
いや「言葉だけ」っていうのは、初めに49が書いたみたいに、
genericsであってtemplateじゃないよ、みたいな言い方のこと。
52に書いたのは50に同意って位の意味のことだ。
0058デフォルトの名無しさんNGNG
>50に同意
プゥ
0059デフォルトの名無しさんNGNG
C#するならやっぱXMLも必要だろうか・・・
0060デフォルトの名無しさんNGNG
C#するならやっぱunsafeキーワードも必要だろうか・・・
0061デフォルトの名無しさんNGNG
●ピンクエンジェル●
●http://www.pink-angel.jp/betu/index.html●
0062デフォルトの名無しさんNGNG
>>56
今さら驚くなよ。とっくに情報出てるだろ。
>>57
CLRのGenericsはテンプレートとは違うぞ。言葉だけじゃなくセマンティクスが違う。わかってる?
0063デフォルトの名無しさんNGNG
>62
頭の鈍い野郎だな。言葉だけで理解してるのが50なんだよ。
テンプレートにintが取れることも知らなかったし。
006463NGNG
>50じゃなくて>49だった。鬱。
0065デフォルトの名無しさんNGNG
>>63
えらそうなこと言うわりにはバカだなw
0066デフォルトの名無しさんNGNG
>>63
>>62==>>49
ばーか。
0067デフォルトの名無しさんNGNG
>66
○○と××は違うとか、セマンティックスとか抽象的な言葉で逃げてないで、
ちゃんと書いてみろよ、オラオラ。
言っとくけど>>51のは>>55も指摘しているとおり的外れだぞ。
0068デフォルトの名無しさんNGNG
>>62
そうか、SQL ServerにGenericsが実装されるのは当たり前のことだったのか・・・
0069デフォルトの名無しさんNGNG
SQL ServerにCLRが組み込まれるのでGenericsが実装される、
と言えなくもないな。


…と、ちと苦しいか。
0070デフォルトの名無しさんNGNG
いちいちイベントハンドラをかくのが面倒なのですが。
0071デフォルトの名無しさんNGNG
いちいちソースコードをかくのが面倒なのですが。
0072デフォルトの名無しさんNGNG
>>67
はあ、そうですか。
C++のテンプレートはRTTIではテンプレートかどうかわかりませんね。
CLRのGenericsはそれがわかるんです。
ちなみにJavaのGenericsはそれがわかりません。

それ以前に、テンプレートはGenericsの一形態に過ぎないなんて常識だろ。
あと、YukonをSQL Serverだと思ってるやつ、悪いこといわんから
業界から足洗ったほうがいい。
0073デフォルトの名無しさんNGNG
>>72
>YukonをSQL Serverだと思ってるやつ

モノが出てないのにどう思えばいいんだろ。(プ
0074デフォルトの名無しさんNGNG
>>73
モノが出てからじゃ遅いってことにまだ気づかんか。愚か者めが。
0075デフォルトの名無しさんNGNG
TextBox でエンターキーを押すとビープ音が出てしまいます。
これを抑制することはできますか?

VB や Delphi ではイベントで受け取ったキーコードに 0 を
代入することで ビープ音を抑制できましたが、C# のイベント関数では
参照のみで代入を行うことができませんでした。

private void keyDown(Object source, KeyEventArgs args) {
if(args.keyCode == Keys.Enter) {
args.keyCode = 0; //参照のみで代入ができない!
}
}
0076デフォルトの名無しさんNGNG
>>75
FAQです。
ttp://www.syncfusion.com/FAQ/WinForms/FAQ_c94c.asp#q863q
007775NGNG
>>76
ありがとう!
 ・キー入力処理より前に keyPress イベントが呼ばれる。
 ・keyPress イベントで Handled に true を代入することで
  キー入力を処理したことにできる(キー入力処理が行われなくなる)。

private void keyPress(Object source, KeyPressEventArgs args) {
 if((int)args.KeyChar == (int)Keys.Enter) {
  args.Handled = true;
 }
}
0078デフォルトの名無しさんNGNG
おまえら本当にGraphicsクラス使ってますか?
ダブルフバッラリングしようがこんな遅い糞クラスは使い物にならん。
DirectXつかったら1画面にしか描画できないしな。
誰か高速化の方法知らない?
0079デフォルトの名無しさんNGNG
>>78
PInvoke
0080デフォルトの名無しさんNGNG
>>78
IDirect3DDevice*.CreateAdditionalSwapChain()
0081デフォルトの名無しさんNGNG
数値をあらわすクラスってありますか?
Int32 や Decimal はクラスではなく構造体なので、
メソッドの戻り値の型として指定すると、
そのメソッドで Null を返却することができません。

public Int32 getHoge() {
  return null; //戻り値の型がクラスではないので Null は指定できない。
}
0082デフォルトの名無しさんNGNG
・・・intを返す関数なのになんでnullが返す必要があるんだろう・・・
0083デフォルトの名無しさんNGNG
テキストボックスに数値が入っていれば、その値を返す。
ただし、テキストボックスは空欄のままであることもある。

public Int32 getHoge() {
  try {
    return Int32.Parse(TextBox.Text);
  } catch(Exception) {
    return null;
  }
}
0084デフォルトの名無しさんNGNG
例外の使い方を考え直したほうがよいのでは?
これはあくまで例に過ぎないのかもしれないけど、
nullを返したところで、結局nullチェックしなきゃいけないじゃん。
0085デフォルトの名無しさんNGNG
>>72
>YukonをSQL Serverだと思ってるやつ
じゃあ、お前はYukonをウィルスとでも言いたいのか。
(ttp://www.f-secure.co.jp/v-descs/v-descs/yukon.htm)
ウィルスにGenericsが実装されてもちっとも嬉しくないぞ。ボケが。
ウィルスマンセー野郎は業界から出て行け。
0086デフォルトの名無しさんNGNG
>>83
空欄かどうかチェックすれば済む話
008783NGNG
>>84
このメソッド内の例外処理(try〜)はあくまでもたとえですよ。
それとも、このメソッド自体が 有効な数値を保持していないことを示す例外を
スローした方が良いということでしょうか? (呼び出し元に対して親切?)

呼出元では、シンプルに
  if((value = getHoge()) != null) {
    有効な値が保持されているときの処理;
  }
と書きたかったのですが…
  try {
    value = getHoge();
    有効な値を保持していた場合の処理;
  } catch(XXXException) {
    //何もしない
  }
と書いたほうが(作法として)良いでしょうか?

とりあえず、Null が使えないので、有効な値を保持していない状態を
あらわすために MinValue を返すことにしました。
こうゆう可読性を低下させるコードは書きたくなかったのですが、まぁ、いいや。
008883NGNG
>>86
な、なるほど!
C言語のような発想をしていたかもしれません。
ひとつのメソッドの戻り値に
 ・処理に必要な値
 ・エラーを示す値
とふたつの意味を持たせるというのが、そもそも良くないということですね。

public bool hasHoge() {
}
public Int32 getHoge() {
}
if(hasHoge()) {
  value = getHoge();
  ...
}
とすることにします。
0089デフォルトの名無しさんNGNG
hasHoge()がtrueだった次の瞬間に、
まだhasHoge()がtrueで有り続けているかどうかは
保証されないだろ。
009083NGNG
>>89
むむむ…。たしかにその通りですね。。
戻り値を Object型にしちゃおうかな。
0091デフォルトの名無しさんNGNG
>>89
がんばれ
0092デフォルトの名無しさんNGNG
>>90
値の変更が別スレッドでなければ保証されるよ。
問題ないから >>88 でやれば?
009383NGNG
>>92
これはテキストボックスの値を取り出すものなのですが大丈夫でしょうか?
自分で別スレッドをおこしたりするつもりはありませんが、
GUIはそもそも別スレッドとして動作しているのでないのでしょうか?
0094デフォルトの名無しさんNGNG
結局 Yukon == SQL Server で決定のようですね。
009584NGNG
>ひとつのメソッドの戻り値に
> ・処理に必要な値
> ・エラーを示す値
>とふたつの意味を持たせるというのが、そもそも良くないということですね。

ここがわかっているならば、
try {
  value = getHoge();
}
catch (空欄だよ例外){
  //なにもしないのもあり
}

としたほうが理想的だと思う。例外クラスが一つ増えてしまうのが嫌かもしれないけど。
これならばスレッドセーフも確保できる。
0096デフォルトの名無しさんNGNG
すみません、質問です。
C#でVC++の拡張機能にあったような配列つきのプロパティを設定することは可能ですか?

TekitouClass c;
c.data1[x,y]=1;
int i=c.data2[x,y];
ってな感じでやりたいのです(dataはプロパティ)
似たようなものにインデクサがありますが、
これだと一つのインデクサしか宣言できない(thisのみ)わけですよね?

どうすればよいのでしょうか?教えていただけると幸いです。
0097デフォルトの名無しさんNGNG
>>96
C#ではできません。VB.NETならできます。
C#のインデクサはC++の[]のオーバーロードと考えたほうが無難です。
0098デフォルトの名無しさんNGNG
なんで VB で出来て C# で出来ないんだろ?

俺的には、配列型のプロパティとインデクサの区別付かないから
気持ち悪くて禁止しちゃったのかなとか思ってるんだけど。

インデクサを this[int i] なんて書き方するってことは、
C# 開発段階では任意の名前のインデクサが作れたんじゃないかなとか思うんだけど。
0099デフォルトの名無しさんNGNG
正直 配列型プロパティとインデクサの区別つかないってどんな奴だ …と思う。
MSは便利な機構を後から小出しにして、毎回後方互換性のある新環境を
買わせる気に違いない。
いや違うかもしれんけど。
0100デフォルトの名無しさんNGNG
やっぱぜんぶポインタみたいなもんなのがきもちわるいな。
0101デフォルトの名無しさんNGNG
しつもんです。
デバッグしてて、.NET Framework の中に入って行きたいときはどうするのでしょうか?
MFCみたいにソースコードってないのでしょうか?
■ このスレッドは過去ログ倉庫に格納されています