2ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

ふらっとVisual C#,C♯,C#(初心者用) Part108

1 :デフォルトの名無しさん:2013/11/08(金) 08:46:10.17
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。

他のスレッドでは書き込めないような低レベルな質問。
質問者自身なんだか意味がよく分からない質問。
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。

内容に応じて、他スレ・他板へ行くことを勧められることがあります、ご了承下さい。

なお、テンプレが読めない回答者は邪魔なので後述のC#相談室に移動して下さい。

>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。

■前スレ
ふらっとVisual C#,C♯,C#(初心者用) Part107
http://toro.2ch.net/test/read.cgi/tech/1380106942/

■関連スレ
C#, C♯, C#相談室 Part81
http://toro.2ch.net/test/read.cgi/tech/1381134494/

■コード貼るなら↓使ってください
http://ideone.com/

2 :デフォルトの名無しさん:2013/11/08(金) 09:44:08.47
ここけ?

3 :デフォルトの名無しさん:2013/11/08(金) 10:48:56.95
おつ

4 :デフォルトの名無しさん:2013/11/09(土) 06:08:24.18
unsafeでポインタ使うと速くなると聞いたんですが、fixedのコストが重すぎて遅くなりました。

5 :デフォルトの名無しさん:2013/11/09(土) 06:46:32.79
実態はポインタをエミュレートしただけのただのオブジェクト参照だからなw

6 :デフォルトの名無しさん:2013/11/09(土) 07:57:17.65
配列の境界チェックを無効にするオプションを教えてくれ。

7 :デフォルトの名無しさん:2013/11/09(土) 10:48:15.03
C言語を使うという選択

8 :デフォルトの名無しさん:2013/11/09(土) 10:50:34.55
「ふらっと」って、# と ♭ に掛けてるのか。今気づいた。

9 :デフォルトの名無しさん:2013/11/09(土) 11:18:00.41
少数2桁の数が沢山書かれたいくつかのファイルを読んで、ファイルごとにList<double>に格納しています。
このdoubleの値は変更しません。
このdouble同士をifの==で同一か判断するところがあります。
このとき近似値にまとめられて比較がうまくいかないことはあるのでしょうか?

10 :デフォルトの名無しさん:2013/11/09(土) 11:28:22.55
>>9
あるだろう

11 :デフォルトの名無しさん:2013/11/09(土) 11:34:58.79
二桁ならねえよ

12 :デフォルトの名無しさん:2013/11/09(土) 11:38:20.18
同じ文字列をParseした結果は常に同じ

13 :デフォルトの名無しさん:2013/11/09(土) 11:42:05.47
>>11
上桁が天文学的数値でもかね

14 :デフォルトの名無しさん:2013/11/09(土) 11:45:23.37
不安ならdecimal使っとけ

15 :デフォルトの名無しさん:2013/11/09(土) 11:47:22.38
double使うと頭がハゲると言われる所以である。

16 :デフォルトの名無しさん:2013/11/09(土) 11:54:01.63
  _人人人人人人人人人人人人人人人_
  >   ハゲがいるぞ殺せ!!!   <
   ̄^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^ ̄

        三 ( ´・ω)
       三 ー(‐∪─→
   三 / ̄ ̄ ̄ 》  ̄\
 三三 |      U ・ |                  彡⌒ ミ
  三 と|        ι| |                 ヽ(´・ω・`)ノ
  三 /_∧∨ ̄ ̄/_∧U                  (___)

17 :デフォルトの名無しさん:2013/11/09(土) 13:45:52.81
visualstudioのウィンドウの分割のショートカットキーってありますか?

18 :デフォルトの名無しさん:2013/11/09(土) 13:55:33.59
ないなら割り当てればいいだろう

19 :デフォルトの名無しさん:2013/11/09(土) 13:57:54.89
調べ方分からないってことか
オプションのキーボードで以下の文字列を含むコマンドを表示の所に適当に 分割 とか入力
で目当てのコマンドを選んでみて、ショートカットが割り当てられてたら表示される

20 :デフォルトの名無しさん:2013/11/09(土) 13:59:26.41
>>19
ありがとうがいます!!!

21 :デフォルトの名無しさん:2013/11/09(土) 14:35:20.27
少数二桁って1.5とか8.2とかじゃねーの?

22 :デフォルトの名無しさん:2013/11/09(土) 15:15:08.04
>>21
頭大丈夫?w

23 :9:2013/11/09(土) 15:47:33.70
整数3桁の小数2桁です(999.99)
decimalなら大丈夫なんですかね
だめなら100掛けて整数とするか文字列で別に持って比較しようと思います。

24 :デフォルトの名無しさん:2013/11/09(土) 15:56:57.58
整数部小数部合わせて14桁ぐらいまでなら比較においてはdoubleで問題ないよ

25 :デフォルトの名無しさん:2013/11/09(土) 16:01:43.52
doubleで問題無いと思うけど
100掛けて整数にして比較はdoubleを経由してる時点で全く意味ない

26 :デフォルトの名無しさん:2013/11/09(土) 16:02:17.51
初心者です

class Class1
{
public static Class1 Value { get; set; }
public void Test() { }
}

class Class2
{
static void Main()
{
Class1.Value.Test();
}
}

このプログラムの「Class1.Value.Test();」という書き方がよくわかりません。
プロパティからメソッドを呼んでる?
なんて検索したらいいかもわからなかったので教えてください。

27 :デフォルトの名無しさん:2013/11/09(土) 16:03:45.78
性的メソッドだからクラスから直接呼べる
正しいnew文から生成したインスタンスからは呼べない

28 :デフォルトの名無しさん:2013/11/09(土) 16:05:19.37
ごめんコードよく読んでなかった

29 :デフォルトの名無しさん:2013/11/09(土) 16:10:13.26
単純にスタティックプロパティに設定されたインスタンスのメソッド呼んでるだけだろ

30 :デフォルトの名無しさん:2013/11/09(土) 16:10:08.93
ばらせばわかりやすい
Class1 temp = Class1.Value;
temp.Test();

31 :デフォルトの名無しさん:2013/11/09(土) 16:11:04.81
プロパティにはオブジェクトを入れられる
オブジェクトにはint,string,Class,Delegateなど様々な型がある

プロパティのメソッドを呼んでいるで間違いないけど
プロパティの値であるClass1のインスタンスのメンバであるTest()メソッドを呼び出している、ということ

Class1は自分自身をプロパティとして公開してる

32 :デフォルトの名無しさん:2013/11/09(土) 16:13:18.09
>>29-31
納得しました!
わかりやすい説明ありがとうございます

33 :デフォルトの名無しさん:2013/11/09(土) 16:32:27.44
>>32
ちなみにあれはファクトリークラスというデザインパターンである
状況に応じて複雑な初期設定が必要な場合、>>26の例で言うとClass2で
インスタンス化して初期設定をするのが困難な場合がある
初期設定を済ませて安全に使える状態を保証しますという意味でStaticプロパティで公開している
初期設定はClass2でしたい場合のためにClass1自体はStaticとして宣言されていない

よく使われるのがこれ
WebRequest req = WebRequest.Create(url);
これはCreateメソッドに渡された値によって最適な設定をしたWebRequestを返している
urlだったら、Webアクセスに特化したWebRequestを返し
ローカルファイルのアドレスだった場合はそれ用の…という感じ

>>26のコードだけだと何のためにしているの?って疑問に思っても仕方がないよね

34 :デフォルトの名無しさん:2013/11/09(土) 16:34:57.50
動的生成するためじゃねーの?

35 :デフォルトの名無しさん:2013/11/09(土) 16:50:01.09
>>26はシングルトンのつもりなんじゃね
いやグローバル変数と呼ぶべきか
初心者はあまり真似しないほうがいいよ

36 :デフォルトの名無しさん:2013/11/09(土) 22:40:54.43
Create静的メソッドだとnewをタイプしなくていいから楽

37 :デフォルトの名無しさん:2013/11/10(日) 04:37:00.65
最近C#さわって無くて家にあるのはVS2005なんで
.NetFreamworkもC#2.0でしか造れないんだけど
StringのFormatは、Cのprintfみたいな仕様になった?
それとも、まだ{0}みたいな使いづらい仕様のままなの?

38 :デフォルトの名無しさん:2013/11/10(日) 04:43:37.47
Cの%dとかの方が見にくい

39 :デフォルトの名無しさん:2013/11/10(日) 06:35:30.43
Cの方がくそ仕様だろ

40 :デフォルトの名無しさん:2013/11/10(日) 08:17:40.70
Pythonなんか従来はC式の書式使ってたけど
クソだからって.NETを真似したものに乗り換えたんだよね

41 :デフォルトの名無しさん:2013/11/10(日) 08:58:25.45
つーかそんなところがひょいひょい変更されるわけないだろハゲっが

42 :デフォルトの名無しさん:2013/11/10(日) 09:06:38.94
printfってパディングと書式指定子併用できるの?

43 :デフォルトの名無しさん:2013/11/10(日) 13:13:03.28
誰がハゲやねん

44 :デフォルトの名無しさん:2013/11/10(日) 15:10:32.25
>>37みたいなのは使い方がわからないだけだろうな
MSDNの説明は確かにわかりづらい

{位置(,桁数):型}

System.Console.WriteLine("{0,5:D3}", 12); が
__012
(_はブランク)になるのはわかる?

45 :デフォルトの名無しさん:2013/11/10(日) 15:29:18.31
0,5←まずこっからわからん

46 :デフォルトの名無しさん:2013/11/10(日) 15:55:07.04
Environment.TickCount プロパティ
http://msdn.microsoft.com/ja-jp/library/system.environment.tickcount(v=vs.110).aspx

このコード サンプルでは、ゼロから MaxValue を 1 サイクル (24.9 日) とする負数以外の数値を取得するために、
符号ビットを取り除く処理を行っています。

using System;

class Sample
{
public static void Main()
{
int result = Environment.TickCount & Int32.MaxValue;
Console.WriteLine("TickCount: {0}", result);
}
}

以上のようにありますが
int result = Environment.TickCount & Int32.MaxValue;

この部分の意味が分かりません。
何をしているのでしょうか?

47 :デフォルトの名無しさん:2013/11/10(日) 16:01:29.80
>>46
この部分のもなにも、コードサンプルの処理そのものだろう
> &nbsp;このコード サンプルでは、ゼロから MaxValue を 1 サイクル (24.9 日) とする負数以外の数値を取得するために、
> 符号ビットを取り除く処理を行っています。

ビット演算分かる?
Int32.MaxValueが2進数でどんな値になるかは?

48 :デフォルトの名無しさん:2013/11/10(日) 16:03:38.17
>何をしているのでしょうか?

負数以外の数値を取得しています。

49 :46:2013/11/10(日) 16:05:23.79
>>47
Int32.MaxValueは2,147,483,647
この値とEnvironment.TickCountで出た値の論理積をすれば
なんで正しい値になるのかがわかりません

50 :デフォルトの名無しさん:2013/11/10(日) 16:06:24.45
>>46
そのmsdnに書いてあるじゃん
>ゼロから MaxValue を 1 サイクル (24.9 日) とする負数以外の数値を取得す
>るために、符号ビットを取り除く処理
これだよ

Int32.MaxValueでアンドを取ると符号ビットを取り除けるんだよ
Int32.MaxValueの値と論理積を調べてよく考えてみれば分かるよ

51 :デフォルトの名無しさん:2013/11/10(日) 16:06:35.16
And演算してる
説明の通り負の数を取り除いている
01&00=00

52 :デフォルトの名無しさん:2013/11/10(日) 16:08:55.72
Int32.MaxValueの値を2進数で表すと
0111111(中略)1111111
この先頭の0は符号ビットといって、0なら正の数、1なら負の数を表すことになっている。
TickCountのカウントは符号を考慮しないので、ここからカウンタが1だけ増えると
1000000(中略)0000000
となる。これを符号付き整数として解釈するので、結果が負の値になってしまう。
これは不便だからInt32.MaxValueとのANDをとっている。Int32.MaxValueは符号ビット以外全部1だから、符号ビットが無視されて
0000000(中略)0000000
になってくれる。

53 :46:2013/11/10(日) 16:09:01.24
2147483647
2進数:1111111111111111111111111111111
でした
論理積について調べてみます

54 :デフォルトの名無しさん:2013/11/10(日) 16:09:23.27
>>49
なぜかを考えるのは学者が考える事
凡人はそういうものだと思っておけばいい

55 :デフォルトの名無しさん:2013/11/10(日) 16:09:36.93
Environment.TickCountって妙な仕様だな

>>49
もって回った説明してる人が多いけど、要するにMSBを0にしてるだけでしょ

56 :デフォルトの名無しさん:2013/11/10(日) 16:10:23.29
>>49
Int32.MaxValueは符号ビットが0になってる

0でアンドを取ったら0になるでしょ
つまり、符号ビットが立ってってもInt32.MaxValueでアンドを取ると符号ビット
を0に出来る

57 :デフォルトの名無しさん:2013/11/10(日) 16:10:40.22
>>54
あんたコピペグラマだろw
さすがにそれはない

58 :46:2013/11/10(日) 16:12:01.28
>>52
皆さんありがとうございます
わかりました
論理演算の勉強不足でした
すみません

59 :デフォルトの名無しさん:2013/11/10(日) 16:12:46.96
どうでもいいけど符号付き整数のMSBを符号ビットと呼ぶのはちょっと違和感感じるね

60 :デフォルトの名無しさん:2013/11/10(日) 16:14:24.44
>>52
じゃあカウント1の時はゼロになって正しい数値にならないということ?
2からしかカウントできないの?

61 :デフォルトの名無しさん:2013/11/10(日) 16:17:07.78
uint使えばいいだけじゃん

62 :デフォルトの名無しさん:2013/11/10(日) 16:17:54.50
>>61
確かに

63 :デフォルトの名無しさん:2013/11/10(日) 16:18:27.89
>>60
そりゃそうだろ
値を繰り返し採取して差を取るようなことをしてるなら、オーバーフローを考慮して、増分が負になったときの例外的対応が必要

64 :デフォルトの名無しさん:2013/11/10(日) 16:18:46.91
>>59
符号ビットといったほうが初心者には分かりやすいと思うけどな
MSBとか言ってもピンと来ないでしょ
最上位ビットと言ってもよかっただろうけどmsdnが符号ビットと言ってるし

65 :デフォルトの名無しさん:2013/11/10(日) 16:21:02.42
>>61
uintはCLS準拠じゃないからダメ

66 :デフォルトの名無しさん:2013/11/10(日) 16:25:13.24
>>65
なんで準拠してないんですか?

67 :デフォルトの名無しさん:2013/11/10(日) 16:31:03.42
暇そうな話だ

68 :デフォルトの名無しさん:2013/11/10(日) 16:34:03.67
実際暇なんですけど?

69 :デフォルトの名無しさん:2013/11/10(日) 16:39:19.84
2の補数でも乗除算のときや値を表示したりするときには
結局最上位ビットを特別扱いするんだから符号ビットでいいでしょ

70 :デフォルトの名無しさん:2013/11/10(日) 16:46:15.70
符号ビットが一番わかりやすいだろ

71 :デフォルトの名無しさん:2013/11/10(日) 16:53:29.45
>>66
Javaに符号なし整数がないから
.NETが世に出た当初、J#は主力言語と位置付けられてたからな

72 :デフォルトの名無しさん:2013/11/10(日) 20:56:04.84
intが16bitだった頃は、unsignedで使うのが常識でした
勿論C言語の話ですが

73 :デフォルトの名無しさん:2013/11/10(日) 21:02:28.07
ちょっと待ってください
誰かあなたにそんな質問をしましたか?

74 :デフォルトの名無しさん:2013/11/10(日) 21:08:52.16
なんだそれ

75 :デフォルトの名無しさん:2013/11/10(日) 21:16:14.63
>>72
意味が分からん
負数はどうしてたんだ

76 :デフォルトの名無しさん:2013/11/10(日) 21:35:13.10
処理系書いて無い時点で釣りでしょ
そもそも K&Rなら unsigned 単体でunsigned int なので
わざわざ冗長に書く意味が無い。

77 :デフォルトの名無しさん:2013/11/11(月) 00:09:14.75
>>72
俺様常識書かれてもね
しかも流れに関係ないしね

78 :デフォルトの名無しさん:2013/11/11(月) 03:16:19.70
だってその頃の経験値のカンストはふつうに65535ですよ。ルピーのカンストは255です。
signedならその半分じゃないですか。昔はunsignedが普通なのですよ。

負数を表現する必要なんて日常生活でも温度ぐらいです。

79 :デフォルトの名無しさん:2013/11/11(月) 03:22:39.69
なにいってんだこいつ

80 :デフォルトの名無しさん:2013/11/11(月) 03:24:39.92
歴史の事実は変わらん。昔はunsignedばかり使ってたのは事実。

歴史を知らない無知なガキは黙ってな。

81 :デフォルトの名無しさん:2013/11/11(月) 03:37:23.59
今でもulong使うぜ

82 :デフォルトの名無しさん:2013/11/11(月) 05:52:07.98
ゲームプログラムの話なのかな?
そんな特殊分野のことをいわれても知らんよ
Cどころかアセンブラでやってた時代だとか

83 :デフォルトの名無しさん:2013/11/11(月) 06:10:51.01
c++のライブラリ見れば符号なしが普通に使われてるのが分ると思うが。
c#やjavaは馬鹿でも使えるようにするため何でもintを基本にしてるだけ。

84 :デフォルトの名無しさん:2013/11/11(月) 07:25:47.40
>unsignedばかり使ってた

>符号なしが普通に使われてる

なんかニュアンスが変わってきてるぞ

85 :デフォルトの名無しさん:2013/11/11(月) 09:25:03.97
減算を考慮するとunsignedでも結局符号あり整数を使ってるわけで、
符号あり整数の方がむしろ自然

86 :デフォルトの名無しさん:2013/11/11(月) 09:35:59.88
符号はあったほうがあらゆることが自然に書けるだろ
先のTickCountの例でも、前回の値との差分をとっている場合にオーバーフローしたことを知るには
signedなら 差分 < 0 で分かりやすいが、unsignedなら 差分 & Int32.MinValue != 0 とか意味不明なコードになってしまう

87 :デフォルトの名無しさん:2013/11/11(月) 10:55:38.40
自分が作ったアプリケーションのクラスの階層構造をドキュメントにして
そこに色々追記したいのですがいい方法ってありますか?

88 :デフォルトの名無しさん:2013/11/11(月) 11:07:14.18
UML

89 :87:2013/11/11(月) 11:10:53.42
>>88
こういったものをUMLというんですね
名前しか聞いたことがありませんでした
勉強してみます

90 :デフォルトの名無しさん:2013/11/11(月) 11:20:18.35
>>85-86
CPUの仕組みを知っていたらそういう馬鹿な発言はしないのだが。

ステータスレジスタ、フラグレジスタで検索しろ。

91 :デフォルトの名無しさん:2013/11/11(月) 11:57:44.58
くだらん

92 :デフォルトの名無しさん:2013/11/11(月) 15:27:54.98
今日はマイナス1日とか言ったほうが自然なのか?

93 :デフォルトの名無しさん:2013/11/11(月) 15:29:34.72
25時というよりマイナス1時って言った方が自然なのか?

94 :デフォルトの名無しさん:2013/11/11(月) 16:02:54.83
25時は、どう見ても+1時。 マイナスと言いたいのなら23時をださないと・・・

95 :デフォルトの名無しさん:2013/11/11(月) 19:25:22.51
UMAだと雪男やチュパカブラになっちゃうな

96 :デフォルトの名無しさん:2013/11/11(月) 19:58:50.86
Livet と StyleCop 両方使っているひといます?

使っている人は、クラス内のメンバの順番に関する警告は
オフにして使ってますか?

97 :デフォルトの名無しさん:2013/11/11(月) 21:51:16.17
&gt;&gt;90
C#スレなんだからせめてcheckedとかいえよ

98 :デフォルトの名無しさん:2013/11/11(月) 22:46:25.11
>>90
アドレッシングを勉強してこい

99 :デフォルトの名無しさん:2013/11/11(月) 23:10:31.06
青じそドレッシングが好き。

100 :デフォルトの名無しさん:2013/11/11(月) 23:19:00.67
俺はアグレッシブ

101 :デフォルトの名無しさん:2013/11/11(月) 23:21:05.50
アドレッシングてw
意味分かって言ってるのかしら

102 :デフォルトの名無しさん:2013/11/12(火) 00:47:46.47
>>101
アドレッシング作ったの俺だから間違いない

103 :デフォルトの名無しさん:2013/11/12(火) 01:09:19.11
アドレッシングもたいがいだか、唐突にフラグレジスタとか言う奴もどうかと思うぞ

104 :デフォルトの名無しさん:2013/11/12(火) 01:16:07.13
>>95
UMAをウマじゃなくてユーマと読むのはなんか納得出来ない

105 :デフォルトの名無しさん:2013/11/12(火) 02:37:06.41
世の中君のためには出来ていない

106 :デフォルトの名無しさん:2013/11/12(火) 03:30:44.42
>>104
UFOはウフォなのか

107 :デフォルトの名無しさん:2013/11/12(火) 04:06:32.47
USAはうーさーなのか

108 :デフォルトの名無しさん:2013/11/12(火) 04:17:15.04
UMA→ゆうま(人の名前)

109 :デフォルトの名無しさん:2013/11/12(火) 05:03:49.60
>>103
wwwww

演算結果の状態を変数側で持てとかギャグで言ってんのか?

本気でギャグで言ってんのか?

真性の馬鹿なのか?

真性のアホなのか?

110 :デフォルトの名無しさん:2013/11/12(火) 05:19:04.42
話かみあってないし
そもそもかみあわせる気もなさそうだし
不毛だからやめような

111 :デフォルトの名無しさん:2013/11/12(火) 05:22:00.32
CPUの話に過剰反応するのはマルチスレッド簡単君でしょ。

112 :デフォルトの名無しさん:2013/11/12(火) 05:39:50.11
Overflowを自分でチェックしなくても、プロジェクトの設定で例外出るようにしとけよ。

Overflow出てる時点で致命的に設計ミスなんだから。

113 :デフォルトの名無しさん:2013/11/12(火) 07:19:21.15
>>109
なに書いてるか自分でもわかってないだろ (w

114 :デフォルトの名無しさん:2013/11/12(火) 08:05:43.15
>>113
>>85 >>86
これが理解できる? CPUが既に内包してる機能を自分で実装しようとしてる。

115 :デフォルトの名無しさん:2013/11/12(火) 08:27:21.34
>>114
キチガイはすっこんでろ

116 :デフォルトの名無しさん:2013/11/12(火) 08:37:13.39
差分 < 0で判定できると思ってる馬鹿がいる。

117 :デフォルトの名無しさん:2013/11/12(火) 08:46:26.50
さあそろそろ仕事だぞ
無職は続けてくれ

118 :デフォルトの名無しさん:2013/11/12(火) 09:02:38.56
TickCount調べたらint.MaxValueの次は0にならずに
int.MinValueになってんじゃん。これ内部unsignedだろ。

win32apiはちゃんとDWORD、ULONGLONG返すし。

119 :デフォルトの名無しさん:2013/11/12(火) 09:10:24.59
お前らさ、せめて1読むくらいの知能になってからネットやれよ

120 :デフォルトの名無しさん:2013/11/12(火) 09:30:42.57
そもそも 差分 < 0 じゃなくて
現在値 < 前取得値 で済む話でsignedである必要性が全くない。

無駄な減算処理して何がしたいのだろうか。

121 :デフォルトの名無しさん:2013/11/12(火) 09:52:09.46
まじレスするとuintとintじゃuintのほうがオーバーフローしにくい。
オーバーフローが困る処理ではint選ぶ選択はない。迷わず、uintやulong。

122 :デフォルトの名無しさん:2013/11/12(火) 12:07:10.09
うるせーぞガキ

123 :デフォルトの名無しさん:2013/11/12(火) 12:32:59.38
>>114
すてーたすれじすたしってるぼくってすごいでしょう

ってか (w

124 :デフォルトの名無しさん:2013/11/12(火) 12:38:41.72
Visual C#2010ですが

Form上にtextBoxが複数ある場合に、
contextMenuStripの右クリックによる切り取りやコピーをしたtextBoxのテキストを
contextMenuStripの右クリックにより別のtextBoxに貼り付ける場合、どう書けばよいのでしょうか

ググると色々載ってますが
IDataObject data = Clipboard.GetDataObject();
if (data != null && data.GetDataPresent(DataFormats.Text) == true)
{
textBox1.Paste();
}

textBoxは複数あり、貼り付ける時にはどのtextBoxなのかは予め特定できません
フォーカスのあるコントロールを取得してもPaste();が使えません

ものすごく簡単なことなのかもしれませんが教えてください

125 :デフォルトの名無しさん:2013/11/12(火) 12:50:44.19
>>124
http://dobon.net/vb/dotnet/control/cmsourcecontrol.html

126 :デフォルトの名無しさん:2013/11/12(火) 13:00:05.34
>>125でControlが取得できたら

TextBox tb = control as TextBox;
if( tb != null )
{
 // TextBoxだった
}

で判定しよう

127 :デフォルトの名無しさん:2013/11/12(火) 16:31:39.60
>>125-126
ありがとうございます。
void ContextMenuStrip1_Opening(object sender, CancelEventArgs e)
{
ContextMenuStrip menu = (ContextMenuStrip)sender;
string control = menu.SourceControl.Name;
}
で取得はできたのですが
TextBox tb = control as TextBox;でstringからTextBoxへの型変換が出来ないエラーになってしまいます

128 :デフォルトの名無しさん:2013/11/12(火) 17:29:15.76
Control control = menu.SourceControl;
TextBox textBox = control as TextBox;

「型」というものについて学習しましょう
ControlクラスはTextBoxとかいろいろなコントロールの基になっている型です

129 :デフォルトの名無しさん:2013/11/12(火) 18:09:23.10
そもそもどうしてNameプロパティが出てきたんだよ脈絡なさ杉

130 :デフォルトの名無しさん:2013/11/12(火) 18:57:17.49
ファイルを読み込みと書き込みができるか判断したいんですが
どうやるのでしょうか?

131 :デフォルトの名無しさん:2013/11/12(火) 19:01:05.75
ReadとWriteのアクセス権で開く
出来ないなら開けない

開かずにやりたいってのは
ACL読み取ったり他のプロセスが開いてるかどうか判断したり
難度が高いので君には無理

132 :デフォルトの名無しさん:2013/11/12(火) 19:18:19.44
使用中かどうかの判断じゃなく?

133 :デフォルトの名無しさん:2013/11/12(火) 19:42:35.79
読み書き可能で開けるなら、使用中ではないと判断して良いんじゃないのか、って話だろ
厳密には違うが、そのチェックは難度が高いから無理だって言ってるじゃん

134 :デフォルトの名無しさん:2013/11/12(火) 19:46:07.94
読み書きができるかどうかは、そのファイルを他のプロセスが使ってるかどうかとは
必ずしも関係ないよw

135 :デフォルトの名無しさん:2013/11/12(火) 19:46:35.08
ちなみに本当に難しいの?
セカンドオピニオンください

136 :デフォルトの名無しさん:2013/11/12(火) 19:49:22.92
MSDN読めば分るがセキュリティ関係は何言ってるのかさっぱり分らない。
おそらく書いてる本人もあまり分かってない。

137 :デフォルトの名無しさん:2013/11/12(火) 19:51:43.31
読み書きができるかどうかは、そのファイルを他のプロセスが使ってるかどうかとは
必ずしも関係ないよw

138 :デフォルトの名無しさん:2013/11/12(火) 20:02:02.11
気に入ってもらえた?
それは良かった

139 :デフォルトの名無しさん:2013/11/12(火) 20:37:52.53
>>128
ありがとうございます
もう少しいじってみます

140 :130:2013/11/12(火) 21:04:55.98
JavaでいうFileクラスのcanRead()とか
PHPでいうis_ readable()やis_writable()とか
Rubyでいうwritable?など
こういうのはC#ではむずかしいってことでしょうか?

141 :デフォルトの名無しさん:2013/11/12(火) 21:09:21.72
事前判定しても実際に操作するまでに結果が変わることがあるから、実際に開いて例外を捕捉しろって方針なんでしょ

142 :デフォルトの名無しさん:2013/11/12(火) 21:11:27.36
File.Move("C:/test.txt", "c:/a/b/test.txt");

これでa/bフォルダ内にtest.txtを移動したいんですが
a/bフォルダはこのコードを実行するまでありません
こういうのを面倒見てくれて勝手にフォルダ作ってくれる便利なものありませんか?

143 :デフォルトの名無しさん:2013/11/12(火) 21:15:20.31
作ればあるよ
作らなければない

144 :デフォルトの名無しさん:2013/11/12(火) 21:21:15.92
var acl = File.GetAccessControl(@"C:\Users\XXXXX\Desktop\searchwp-2.6.2-fx.xpi");
var usr = Environment.UserDomainName + "\\" + Environment.UserName;

foreach (FileSystemAccessRule rule in acl.GetAccessRules(true, true, typeof(NTAccount)))
{
if (((NTAccount)rule.IdentityReference).Value == usr)
{
Console.WriteLine(rule.FileSystemRights);
}
}

さすがにCanReadでは済まないけど、大騒ぎするほど難しいとも思わない

145 :デフォルトの名無しさん:2013/11/12(火) 21:26:47.26
あーそのアドオン動かないんだよねFx25で
俺もやったわ

146 :デフォルトの名無しさん:2013/11/12(火) 21:59:29.48
4.5で非同期I/Oアクセスがサポートされたけど
HDD内の複数のファイルを同時に開こうとしたら負担がかかりませんか?
負担がかからないようにうまく調整されているんでしょうか?

147 :デフォルトの名無しさん:2013/11/12(火) 22:04:30.02
そんなわけねーじゃん
開くだけなら儀式みたいなもんだから負荷なんかないけど
同時に読めば競合するに決まってるだろ

148 :デフォルトの名無しさん:2013/11/12(火) 22:17:11.67
非同期I/Oと何も関係ない話だし

149 :デフォルトの名無しさん:2013/11/12(火) 22:19:28.95
あと4.5からサポートされたんじゃなくて
4.5からAsync系のメソッドが使えるようになっただけね
昔からBeginReadとかはあります

150 :デフォルトの名無しさん:2013/11/13(水) 00:23:18.11
IDisposable のサンプルで↓をよく見るけど、disposed フラグはマルチスレッド考慮する必要なし?
Interlocked 使ってフラグ入れ替えた方が安全じゃないかと思ったりする・・

protected virtual void Dispose(bool disposing)
{
 if(!disposed){
  if(disposing){
   // Free other state (managed objects).
  }
  // Free your own state (unmanaged objects).
  // Set large fields to null.
  disposed = true;
 }
}

151 :デフォルトの名無しさん:2013/11/13(水) 00:30:31.23
>>150
Disposeに限らず競合対策は呼び出す側で考慮するのが普通だと思うんですが

152 :デフォルトの名無しさん:2013/11/13(水) 04:22:03.52
よくググるとヒットする
変な日本語に訳されたプログラム問答のサイトの原文って
どこで見れるの?

153 :デフォルトの名無しさん:2013/11/13(水) 06:48:14.95
>>151

スレッドセーフって、呼び出し側ではなにもしなくていいってことかと...

154 :デフォルトの名無しさん:2013/11/13(水) 08:25:56.80
IDisposableだけスレッドセーフを考慮しても仕方ないから。
すべてのメソッドコール&プロパティアクセスにロック取得が必要になるでしょうが。
オブジェクトの方でスレッドセーフを保証するということはそういうこと

155 :デフォルトの名無しさん:2013/11/13(水) 15:33:45.46
フォルダ構造を保存するコレクションはありますか?

156 :デフォルトの名無しさん:2013/11/13(水) 16:42:29.73
LinkedList<T>でも使えば

157 :デフォルトの名無しさん:2013/11/13(水) 17:48:13.21
WinFormsでアプリケーションを開発しているんですがフォームがこのように表示されてしまいます。
解消方法はないのでしょうか?
http://I.imgur.com/0ooGLmG.png

158 :デフォルトの名無しさん:2013/11/13(水) 17:59:29.71
無効領域があるのにWM_PAINTを無視するとそうなるよ

159 :デフォルトの名無しさん:2013/11/13(水) 18:05:16.30
dllのソースって見れませんか?

160 :デフォルトの名無しさん:2013/11/13(水) 18:08:13.44
>>158
TransparencyKeyの値が変更されていたのが原因だったようです
自己解決しました

161 :デフォルトの名無しさん:2013/11/13(水) 18:14:37.49
>>159
出歯亀は失せろ

162 :デフォルトの名無しさん:2013/11/13(水) 18:25:44.14
.NETのアセンブリならILSpy
それ以外だと・・・まあdumpbin使っとけば

163 :デフォルトの名無しさん:2013/11/13(水) 18:42:05.38
Reflectorのフリーなバージョンがあったはずだな
手持ちのは6.8.0.61

164 :デフォルトの名無しさん:2013/11/13(水) 23:57:21.00
参照設定に追加してるクラスライブラリの内容を変更したんだが
ビルドしても変更内容が反映されていない
どうすればいいの?

165 :デフォルトの名無しさん:2013/11/14(木) 00:05:24.78
クラスライブラリだけ登録すると登録した瞬間にプロジェクトのフォルダにコピーしてあとは元が更新されても追従しない
元に追従したければクラスライブラリでなくプロジェクトを登録し、ソリューション設定で一緒にビルドされるようにする

166 :デフォルトの名無しさん:2013/11/14(木) 00:05:42.21
ありがとうございました

167 :デフォルトの名無しさん:2013/11/14(木) 12:08:03.47
DateTime datetime1 = new DateTime(2013, 11, 14);
このように時刻を設定してない変数datetime1には、時刻が0:0:0になります
このdatetime1に対して後から時刻を設定するにはdatetime1の時刻を取得して、TimeSpanで指定したい時刻の差分を加減するしかないのでしょうか?
JavaScriptみたいなsetHours()とかsetMinutes()とかsetSeconds()みたいなのってないでしょうか?

168 :デフォルトの名無しさん:2013/11/14(木) 12:29:06.72
>このdatetime1に対して後から時刻を設定するにはdatetime1の時刻を取得して、TimeSpanで指定したい時刻の差分を加減するしかないのでしょうか?
はい
>JavaScriptみたいなsetHours()とかsetMinutes()とかsetSeconds()みたいなのってないでしょうか?
ないです
javascriptと異なりimmutableなので

169 :デフォルトの名無しさん:2013/11/14(木) 12:41:14.00
Javaのいいとこどりしたくせに仕様がクソ
それがC#

170 :デフォルトの名無しさん:2013/11/14(木) 12:42:05.41
datetime1にAddしてもdatetime1は変化しない点も注意

171 :デフォルトの名無しさん:2013/11/14(木) 16:59:40.68
Javaにいいところがなかったのでヘジは新しくC#を作ったんですよ。

172 :デフォルトの名無しさん:2013/11/14(木) 17:04:59.04
Javaに方推論なんてないのよ
ラムダもね

173 :デフォルトの名無しさん:2013/11/14(木) 18:01:23.91
MSでのヘジたんの最初の仕事はJ++だったのはないしょ!?

174 :デフォルトの名無しさん:2013/11/14(木) 18:07:16.77
それでJavaの限界を感じたんだよ。
演算子のオーバーロードがない?馬鹿なの?みたいな。

175 :デフォルトの名無しさん:2013/11/14(木) 18:29:50.59
そのとき既にヘジたんはJ++にdelegate持ち込んでた。
sunがとめなかったら、今頃魔改造の限りを尽くしていたはず。

176 :デフォルトの名無しさん:2013/11/14(木) 19:13:10.00
デリゲートってDDX(Dialog Data Exchange)だよな
Windows3.1の頃から有る

177 :デフォルトの名無しさん:2013/11/14(木) 20:28:36.40
delegateって関数ポインタのことだと思ってたよ。

178 :デフォルトの名無しさん:2013/11/14(木) 20:33:10.12
C#で画期的だと思ったのはプロバティーだな。JavaのSetter,Getterからすごい進歩だ

179 :デフォルトの名無しさん:2013/11/14(木) 22:57:50.61
それはVBから持ち込まれた言語機能だろ

180 :デフォルトの名無しさん:2013/11/15(金) 00:03:31.35
いや、Delphi経由でObject Pascalから

181 :デフォルトの名無しさん:2013/11/15(金) 00:58:18.93
テキストファイルを読み込むときに文字コードが不明な場合
文字コードを判別する方法で簡単な方法は何があるでしょうか?

182 :デフォルトの名無しさん:2013/11/15(金) 01:07:37.94
既存の判別ライブラリを使う

183 :デフォルトの名無しさん:2013/11/15(金) 06:27:44.93
IMultiLanguage2使うとか
IEが使ってるやつね

184 :デフォルトの名無しさん:2013/11/15(金) 06:57:19.38
>>181
原理的に不可能

185 :デフォルトの名無しさん:2013/11/15(金) 06:58:46.13
そりゃ100%確定することはできないが……
そんな小学生みたいなこと言わなくても

186 :デフォルトの名無しさん:2013/11/15(金) 07:48:55.31
原理的に作成した本人に聞けば判明する。

187 :デフォルトの名無しさん:2013/11/15(金) 07:57:02.74
本人が知っているかは原理的に確実ではない

188 :デフォルトの名無しさん:2013/11/15(金) 08:02:35.63
ランダムで文字コードを選ぶツールは存在しない。

189 :デフォルトの名無しさん:2013/11/15(金) 08:10:20.49
文字コードという概念のないツールは存在しうる

190 :デフォルトの名無しさん:2013/11/15(金) 08:19:59.64
たとえば?

191 :デフォルトの名無しさん:2013/11/15(金) 09:04:13.05
>>181
なんでググらねーの?
http://dobon.net/vb/dotnet/string/detectcode.html

192 :デフォルトの名無しさん:2013/11/15(金) 09:05:43.63
ハッカー片山君も愛用してるdobonはテンプレに入れちゃえよ。

193 :デフォルトの名無しさん:2013/11/15(金) 09:09:15.71
C#だと厳密には無関係にならんだろ

194 :デフォルトの名無しさん:2013/11/15(金) 09:17:07.88
なんでMSはUTF8にBOM付けたがるの?

195 :デフォルトの名無しさん:2013/11/15(金) 09:18:31.03
世界中のマイナーな言語もお客だから。

196 :デフォルトの名無しさん:2013/11/15(金) 10:18:14.03
俺はMozillaのchardetをご愛用です

197 :デフォルトの名無しさん:2013/11/15(金) 13:51:48.26
>>156
それ1次元じゃないですか・・・
複数のフォルダを登録したいんですが

198 :デフォルトの名無しさん:2013/11/15(金) 15:19:15.69
ツリーを格納するようなコレクションは用意されてませんよ
自力でお書きください
くぐれば出てきますけどね
B+木とか

199 :デフォルトの名無しさん:2013/11/15(金) 17:07:41.49
XElement

200 :デフォルトの名無しさん:2013/11/15(金) 22:07:35.80
俺はメソッドや変数の参照の検索をよく使うんだが
おかしい?

おかしくないとしたら
おすすめのショートカットの割当キーとかある?
Ctrl + K, Rだとどうも不便な気がして

201 :デフォルトの名無しさん:2013/11/15(金) 22:13:45.92
別におかしくはないけどショートカットキーが必要になるほどは使わない

202 :デフォルトの名無しさん:2013/11/15(金) 22:24:19.38
ショートカットのおすすめを他人に尋ねる感覚が理解できません

203 :デフォルトの名無しさん:2013/11/15(金) 22:32:29.97
>>202
じゃあお前おすすめのラーメン屋とか人に聞くなよ
それと同じだよ

204 :デフォルトの名無しさん:2013/11/15(金) 22:34:27.27
どこが同じか理解できません

205 :デフォルトの名無しさん:2013/11/15(金) 23:00:23.49
他人のショートカットで何が開いてるかなんて知らんしな
○○は?→使ってます
超不毛

206 :デフォルトの名無しさん:2013/11/15(金) 23:02:26.62
>>205
他人にラーメンを勧めた
味噌ラーメン嫌いですって言われた
これが不毛か?
おまえあほだろ

207 :デフォルトの名無しさん:2013/11/15(金) 23:03:27.73
不毛じゃん

208 :デフォルトの名無しさん:2013/11/15(金) 23:04:41.70
それは間違いなく二度とラーメンの話をふらないタイプだわw

209 :デフォルトの名無しさん:2013/11/15(金) 23:05:36.51
質問じゃなくてアンケートだしな
質問板で答えが人によって違うもの聞いても不毛だろ

210 :デフォルトの名無しさん:2013/11/15(金) 23:06:02.10
どうみても不毛だな
お前がアホだろ

211 :デフォルトの名無しさん:2013/11/15(金) 23:07:24.05
>>207-210
自演はやめてくれ
必死すぎだろww

212 :デフォルトの名無しさん:2013/11/15(金) 23:08:33.43
不毛じゃん

213 :デフォルトの名無しさん:2013/11/15(金) 23:09:54.74
Ctrl+Shift+Y

214 :デフォルトの名無しさん:2013/11/15(金) 23:11:57.59
>>213
VMSだとプロセス強制終了だな

215 :デフォルトの名無しさん:2013/11/15(金) 23:13:00.59
片手だと指が届かんw

216 :デフォルトの名無しさん:2013/11/15(金) 23:14:25.16
Ctrl+V
ほら、クローンコードは邪悪って言うし・・・ね

217 :デフォルトの名無しさん:2013/11/15(金) 23:18:49.12
もうお前らに聞くの辞めたわ

おまえらのやってることは
おすすめのラーメン屋を聞いたのに
おすすめのカップラーメンを教えてるようなもんだぞ

役立たず共が
最低だわ

218 :デフォルトの名無しさん:2013/11/15(金) 23:28:17.07
自演はやめてくれ
必死すぎだろww

って言い続けてていいんだぜ
やめちゃうのかい

219 :デフォルトの名無しさん:2013/11/15(金) 23:31:11.71
みんなくだらない喧嘩はやめようよ!
もっと建設的な話をしようよ!!!

220 :デフォルトの名無しさん:2013/11/15(金) 23:31:46.04
>>217-219
自演はやめてくれ
必死すぎだろww

221 :デフォルトの名無しさん:2013/11/15(金) 23:37:27.43
くだらない
終了

222 :デフォルトの名無しさん:2013/11/15(金) 23:37:48.78
はははっ

223 :デフォルトの名無しさん:2013/11/16(土) 00:12:58.85
>>198
検索ワードを教えてもらえませんか?
フォルダ構造、ツリーとかで検索しても
ツリービューとかがヒットするだけで、データ保存に関しては見つかりませんでした
語弊があるといけないのでいいますが、ただオブジェクトをローカルに保存したいわけじゃありません
コード上でフォルダのツリー構造を動的に作成したいんです

あとよくぐぐれって言われたりするけど
検索するのに的確な専門用語がわかっていたらそもそも質問しないと思います

224 :デフォルトの名無しさん:2013/11/16(土) 00:22:03.55
ちなみにXElementを無視した理由を聞こうか

225 :デフォルトの名無しさん:2013/11/16(土) 00:24:56.94
>>223
しなくていいから寝ろ

226 :デフォルトの名無しさん:2013/11/16(土) 00:26:14.91
自分で「ツリー構造」って検索用のキーワード書いてるだろいい加減にしろw

227 :デフォルトの名無しさん:2013/11/16(土) 00:27:50.92
FileInfoクラスとDirectoryInfoクラスがそのまんまだろ
この手の輩は目的地がおかしいんだよなあ

228 :デフォルトの名無しさん:2013/11/16(土) 00:42:06.02
>>223
基本的な形は
class File {}
class Dir {
Dir[] Dirs;
File[] Files;
}
これだけでしょ
何が分からないのか全く伝わってこない

229 :デフォルトの名無しさん:2013/11/16(土) 00:45:47.76
ツリービュー使えばいいだけだろ
十分コレクションクラスとなりゆる

230 :デフォルトの名無しさん:2013/11/16(土) 00:51:04.96
(B-treeの実装ないですか?)
http://social.msdn.microsoft.com/Forums/vstudio/en-US/c51b655d-f288-4fbf-9312-9ae4278ff8b7/b-tree-implementation?forum=csharpgeneral

231 :デフォルトの名無しさん:2013/11/16(土) 00:52:01.54
>>228
そういう感じで自作しようかなと思ったんだけど
それようのコレクションあれば楽かなと

カスタムクラスで面倒なのは、あるフォルダを検索するときの再起検索処理

232 :デフォルトの名無しさん:2013/11/16(土) 00:53:42.98
>>228
あ、あとディレクトリとファイルクラスの2つを作ると面倒じゃありません?
それより1つのクラスにして、属性としてディレクトリかファイル化保持している方が
シンプルに作れると思います

233 :デフォルトの名無しさん:2013/11/16(土) 00:54:58.91
>>229
ツリービュー直接データとして使うのは危険だし
そんなViewにどっぷり依存したコードは書きたくないですね

234 :デフォルトの名無しさん:2013/11/16(土) 00:56:58.97
以後放置でよろしく

235 :デフォルトの名無しさん:2013/11/16(土) 00:57:52.80
好きなように勝手に作れよ初心者

236 :デフォルトの名無しさん:2013/11/16(土) 00:59:07.12
>>228
それとフォルダやファイル数が動的に変化する可能性が十分あるのに
配列で宣言する理由が知りたいです

なんかどうも初心者の回答者が多い気がします
初心者は紛らわしいので無理に答えなくていいです

237 :デフォルトの名無しさん:2013/11/16(土) 01:00:09.08
香ばしいwww

238 :デフォルトの名無しさん:2013/11/16(土) 01:09:19.91
>>236
あくまで基本だからList<>に変更すればいいだけだろ

239 :デフォルトの名無しさん:2013/11/16(土) 01:28:57.07
無理に答えなくていいと言ってるんですがね…
時間の無駄なようですし取り下げます

240 :デフォルトの名無しさん:2013/11/16(土) 01:36:26.74
Treeの検索すら書けない奴が素人呼ばわりってw

241 :デフォルトの名無しさん:2013/11/16(土) 01:42:50.41
最大使用可能メモリ容量を指定しておいて
それを超えるとスワップファイルみたいな感じでディスクに追い出して
呼び出し時にメモリに戻してくれるような
コレクションクラスありますか?

242 :デフォルトの名無しさん:2013/11/16(土) 01:45:53.27
>>241
こいつも放置でよろ

243 :デフォルトの名無しさん:2013/11/16(土) 01:48:52.45
聞いたことないし、値型を取り込んだコレクションならそいつがメモリ消費していると言えるが、
参照型だと参照しか持たないしな。

244 :デフォルトの名無しさん:2013/11/16(土) 01:52:49.41
capacityとsizeofで作ってろ

245 :デフォルトの名無しさん:2013/11/16(土) 02:13:04.01
C#で人のパソコンを遠隔操作できるような
ウイルスみたいなのって作れますか?

246 :デフォルトの名無しさん:2013/11/16(土) 02:22:51.66
>>245
見え透いた釣りしてんじゃねーよゴミクズ

247 :デフォルトの名無しさん:2013/11/16(土) 02:23:50.03
>>227
は?実ファイルやディレクトリを操作するんじゃないんですが
仮想ファイルとでもいいましょうか、アプリ上にだけ存在するファイルやフォルダですよ

248 :デフォルトの名無しさん:2013/11/16(土) 02:35:05.76
>>247
その仕様を表明しなかったのはあんたのミスだよな
その責任を人に押し付けるのは呆れ返るわ

249 :デフォルトの名無しさん:2013/11/16(土) 03:15:36.29
>>248
ナニコイツ

250 :デフォルトの名無しさん:2013/11/16(土) 03:33:00.83
>>248
FileInfoで済むなら質問しないでしょ
それにツリー構造を再現できるコレクションっていっているわけで
>>227は見当違いな答え
FileInfoでツリー構造を作れますか?作れないでしょ。

251 :デフォルトの名無しさん:2013/11/16(土) 03:35:31.22
そもそもカスタムクラスを作る必要性があると言っているわけで
FileInfoで実ファイルから検索しろなんてのはナンセンス
説明が足りないと嘆く前に自分の理解力の無さを疑問視してほしいものですね

252 :デフォルトの名無しさん:2013/11/16(土) 03:38:46.25
232 名前:デフォルトの名無しさん[sage] 投稿日:2013/11/16(土) 00:53:42.98
>>228
あ、あとディレクトリとファイルクラスの2つを作ると面倒じゃありません?
それより1つのクラスにして、属性としてディレクトリかファイル化保持している方が
シンプルに作れると思います

この程度のレベルなんだからfileinfoを知らなくても不思議じゃないわ
クラスを勉強したことがあるなら属性とかありえん

253 :デフォルトの名無しさん:2013/11/16(土) 03:40:45.00
>>252
fileinfoは知らないですねw
FileInfoなら知ってますがw

254 :デフォルトの名無しさん:2013/11/16(土) 03:43:51.33
レベルが低い反論だことw

255 :デフォルトの名無しさん:2013/11/16(土) 03:47:06.89
>>252
>>254

256 :デフォルトの名無しさん:2013/11/16(土) 03:50:54.15
>>252
あなた頭よさそうなので
カスタムのDirとFileクラスでツリー構造を作って
すべてのフォルダとファイルを列挙したものをIEnumrableで返すもの作ってくれませんかねw

制限時間は10分
できなきゃお前の負け

257 :デフォルトの名無しさん:2013/11/16(土) 04:09:06.76
>>256
お前はそのコードが書けなかったからここに質問に来たわけで
書けない奴が何で勝つことができるんだ?

てか、それほど高度でもないから作れるが、お前の態度が気に食わないから教えてやらんよ

258 :デフォルトの名無しさん:2013/11/16(土) 06:43:37.57
>>252 UML って知ってる?

259 :デフォルトの名無しさん:2013/11/16(土) 09:27:50.25
釣られすぎだろ

260 :デフォルトの名無しさん:2013/11/16(土) 09:43:40.94
俺が以後放置でって言った後も触り続けてるお前らが悪いよ
おちんちん腫れるよ?

261 :デフォルトの名無しさん:2013/11/16(土) 09:59:26.71
参照に追加で追加したcomオブジェクトをnewした場合に
そのオブジェクトが不要になった時に参照カウントを下げる必要は有りますか?
もしかして.NET、CLRが面倒を見てくれるなんてことは有りますかね?

262 :デフォルトの名無しさん:2013/11/16(土) 10:07:28.39
オブジェクトとして扱ってる限りRCWが参照カウント管理してくれるよ
IntPtrとして扱うとそっちは自前管理しないと駄目だけど
ただGCついでの作業になるからアウトプロセスサーバだと外部exeは即座には終了しない

263 :デフォルトの名無しさん:2013/11/16(土) 10:45:51.83
ただ困ったことに、アマチュアがCOMに手を出す機会が多いのは
EXCELオートメーション、つまりアウトプロセスサーバなので、
即座に終了しないことが鬼門になっていて、
Marshal.ReleaseComObjectをがむしゃらに使うといった
バッドノウハウが横行している。

264 :デフォルトの名無しさん:2013/11/16(土) 12:03:05.09
.net4のwpfで、デフォルトフォント(MS UI Gothic)で、半角の「a」と「r」がくっついて見えるのってどうにかならない?

後、ボタンが全角文字だけだとぼやけて、半角混じらせるとぼやけなくなる原因てどの辺りから探るべき?

両方ともWin7での話です

265 :デフォルトの名無しさん:2013/11/16(土) 12:09:07.87
コントロールパネル-ディスプレイの調整でcleartypeをoff。

266 :デフォルトの名無しさん:2013/11/16(土) 12:11:27.04
アルファベット圏の人は文字がくっつくのは平気だからねぇ。
プロポーショナルフォント使わない以外ないと思うよ。

267 :デフォルトの名無しさん:2013/11/16(土) 13:14:31.11
>>264
うちはなぜか(設定したかな?)デフォルトフォントがメイリオになってるけど、
MS UI ゴシにしてもくっつかなかったよ(Win7)

ぼやけはUseLayoutRoundingとかは関係ないかな

268 :デフォルトの名無しさん:2013/11/16(土) 13:23:05.76
>>194
BOM つけたがる MS もどうかと思うが、BOM 付いてたらまともに動かなくなるソフトもなんだかなぁ....

269 :デフォルトの名無しさん:2013/11/16(土) 13:25:57.01
まともじゃないデータにまともに動けってのも本末転倒だがな

270 :デフォルトの名無しさん:2013/11/16(土) 13:33:54.53
BOMが付いてたほうが文字コードが容易に分かっていいだろうに

271 :デフォルトの名無しさん:2013/11/16(土) 14:18:56.95
根本的にテキストにエンコード情報含めようとしたのがまず間違いだった

272 :デフォルトの名無しさん:2013/11/16(土) 14:27:46.51
BOMって呼んでるけど、元々ユニコードで定義されている文字の1つであって、
その文字コードの並びを使って判定に使っているだけだからね。

273 :デフォルトの名無しさん:2013/11/16(土) 14:31:35.55
だいたいASCIIテキストに好き勝手に日本語入れようとした奴が悪い。

274 :デフォルトの名無しさん:2013/11/16(土) 16:28:27.76
private List<Stream> SetStream(string path) {
string[] files %3d System.IO.Directory.GetFiles(
path,
"*",
System.IO.SearchOption.AllDirectories);

List<Stream> s %3d new List<Stream>();
foreach (string file in files) {
using (Stream stream %3d new FileStream(
file,
FileMode.Open,
FileAccess.Read,
FileShare.ReadWrite | FileShare.Delete)) {
s.Add(stream);
}
}

return s;
}

指定ディレクトリ以下の画像ファイルをStreamで取得して戻り値で欲しいんですが、このコードだとs.Add(stream)でファイルアクセスエラーになってしまいます
原因がわからなくて悩んでます、教えてください

275 :デフォルトの名無しさん:2013/11/16(土) 16:29:46.29
なにか文字化けしてますが%3dはイコールです

276 :デフォルトの名無しさん:2013/11/16(土) 16:35:58.50
> &nbsp; &nbsp; &nbsp; &nbsp; using (Stream stream = new FileStream(
この間だけ使うって宣言してるのにそれを外部に漏らしたら駄目だろ

277 :デフォルトの名無しさん:2013/11/16(土) 16:57:40.48
FileStreamからMemoryStreamにコピーしたほうが後が楽なんじゃないの?

278 :デフォルトの名無しさん:2013/11/16(土) 17:39:11.01
>>277
ご指摘の通り、StreamをMemoryStreamでByte配列に変換することで対処できました
根本的に理解していなくてお恥ずかしいです、どうもでした

279 :デフォルトの名無しさん:2013/11/16(土) 17:40:27.50
それだとメモリ爆発するだろw

ストリームで持ち回さないでパスなりなんなりで持っといて
必要になってから読み込むでしょ普通

>>274
>s.Add(stream)でファイルアクセスエラー
はでないと思うが

280 :デフォルトの名無しさん:2013/11/16(土) 19:15:16.96
ベースクラスのパブリックプロパティ隠蔽について質問があります

あるベースクラスを継承しているクラスがあり、ベースクラスの特定の
パブリックプロパティを隠蔽したかったのですが、なぜかクラスビューで
子クラスのプロパティを見ると、その隠蔽したいプロパティが表示されていませんでした。

プロパティも継承するとウェブサイトみても書いてあるし、
目標が達成できた事を原因がわからずに無視して良いのかわかりません。

なぜこのような事が起きるのでしょうか?標準仕様なのでしょうか?
教えていただけないでしょうか?よろしくお願いします。

281 :デフォルトの名無しさん:2013/11/16(土) 19:24:50.93
>>280
クラスビューに表示されないベースクラスのメンバーは「その」プロパティーだけなの?
違うでしょ。

だったら、何が起こってるか普通勘が働くと思うんだけど...

282 :デフォルトの名無しさん:2013/11/16(土) 20:32:23.60
それに プロパティの隠蔽 の意味を誤解してると思う
使えなくしちゃうというより 上書き だと思うよ

283 :デフォルトの名無しさん:2013/11/16(土) 20:34:29.28
C# で VB の option strict off みたいなことは出来ますか?

284 :デフォルトの名無しさん:2013/11/16(土) 20:36:54.65
C#を自分のVB脳に合わせようとするんじゃなくて、
自分のVB脳を捨てて新しい脳みそを買ってきたほうがいいよ

285 :デフォルトの名無しさん:2013/11/16(土) 20:39:17.23
相変わらず口が悪いな。

286 :デフォルトの名無しさん:2013/11/16(土) 20:40:09.53
>>284
その反応もたいがい馬鹿っぽい。
dynamicはVBがOption Strict Offで出来たことを吸収する方向性だから

287 :デフォルトの名無しさん:2013/11/16(土) 20:40:47.77
プログラマなんか辞めて奴隷を雇い発給でこき使いC#を書かせればいいんじゃないかな?

288 :デフォルトの名無しさん:2013/11/16(土) 20:42:36.08
>>286
おまえはまだOption Strict Offの凶悪さを知らない

289 :デフォルトの名無しさん:2013/11/16(土) 20:43:12.20
レイトバインディング

290 :デフォルトの名無しさん:2013/11/16(土) 20:43:51.04
varもたいがいだろ。

291 :デフォルトの名無しさん:2013/11/16(土) 20:44:33.98
昔のBASICなら当たり前の実装なのに凶悪だなんて酷い。

292 :デフォルトの名無しさん:2013/11/16(土) 20:45:14.84
option strict off とメソッドのオーバーロードと相性の悪さの破壊力はすごいよ! 

293 :デフォルトの名無しさん:2013/11/16(土) 20:45:22.45
offにすると世界観変わるよな
技術あるなら間違いは侵さないし
超絶高速開発が可能になる

294 :デフォルトの名無しさん:2013/11/16(土) 20:46:27.29
>>288
期待はしてないが具体的にどうぞ。

295 :デフォルトの名無しさん:2013/11/16(土) 20:47:46.51
>>286
違うよ。全然違うよ。

296 :デフォルトの名無しさん:2013/11/16(土) 20:58:10.78
横レス。
option strict offでぐぐって出てきたやつだけど、これはヒドイと思うのがC#的感覚じゃない?

Dim filewrite As System.IO.StreamWriter
filewrite = New System.IO.StreamWriter(path, System.IO.FileMode.Truncate)

StreamWriterクラスには、StreamWriter(String, Boolean)という引数を取るものはあるが、
StreamWriter(String, System.IO.FileMode)の引数を取るものはない→間違った使い方しなければ起きないミス。
System.IO.FileMode.Truncateは非0→暗黙の型変換でtrueとしてコンパイル通っちゃうそうな。

つかこの時点でVisualStudioは警告だしてくれないのかな?

297 :デフォルトの名無しさん:2013/11/16(土) 21:01:28.32
どうやって?

298 :デフォルトの名無しさん:2013/11/16(土) 21:02:44.70
varを多様する奴は馬鹿ということ。

299 :デフォルトの名無しさん:2013/11/16(土) 21:04:54.49
var hoge = obj as Hogeeee;
if( hoge != null )
{
 ...
}

varだと最初3文字が if( と揃って美しく感じちゃうんだわー

300 :デフォルトの名無しさん:2013/11/16(土) 21:05:45.36
2chで見ると揃ってないから共感できねえw

301 :デフォルトの名無しさん:2013/11/16(土) 21:05:57.11
プロポーショナルフォントで台無し

302 :デフォルトの名無しさん:2013/11/16(土) 22:07:51.69
デリゲートの引数にrefキーワードって使えないんすか?

303 :デフォルトの名無しさん:2013/11/16(土) 22:14:00.97
class Program
{
delegate void xxx(ref int a);

static void Main(string[] args)
{
xxx zzz = yyy;
int c = 3;
zzz(ref c);
Console.WriteLine(c);
}

static void yyy(ref int b) { b = 1; }
}

何を言ってるのかさっぱり分からん
状況はなsるべく正確にな

304 :デフォルトの名無しさん:2013/11/16(土) 22:14:10.02
使えるよ
既存のジェネリックの型引数には使えないからActionやFuncは無理だけど

305 :デフォルトの名無しさん:2013/11/16(土) 22:15:13.02
ああ、自分で型定義しないと駄目なんすか、アリがトン

306 :デフォルトの名無しさん:2013/11/17(日) 00:12:03.41
ピクチャーボックスに画像を張り付けて、それをドラッグで移動できるようにしたのですが、
当然ピクチャーボックス自体にイベントを持たせているため画像が無い部分をクリックしても
移動できる仕様になってしまいます
画像自体をクリックしないとマウスイベントが起きないようにするにはどうすればいいでしょうか?

307 :デフォルトの名無しさん:2013/11/17(日) 00:19:42.30
画像の座標取得すればいいじゃん

308 :デフォルトの名無しさん:2013/11/17(日) 01:21:12.03
>>306
画像があるときだけイベントが起きるようにすればいい

309 :デフォルトの名無しさん:2013/11/17(日) 01:37:56.33
Enumを基本型にキャストする時も余計なコストって掛かります?

310 :デフォルトの名無しさん:2013/11/17(日) 01:38:59.87
クリックした位置に画像があるかどうかを判定すればいいと言う事ですね

311 :デフォルトの名無しさん:2013/11/17(日) 12:44:00.59
何でそういう発想になるのかな。
PictureBoxのサイズを画像に合わせればいいだけ。
これなら画像に透過部分があっても対応できる。
馬鹿じゃないの

312 :デフォルトの名無しさん:2013/11/17(日) 14:07:42.85
C#のXMLに慣れるとJavaが苦痛でしょうがないんですがそういうものですか?

313 :デフォルトの名無しさん:2013/11/17(日) 14:10:55.27
XAMLだろ

314 :デフォルトの名無しさん:2013/11/17(日) 14:13:17.21
よくXAMLに慣れたね
才能あるよ君

315 :デフォルトの名無しさん:2013/11/17(日) 15:58:41.96
c#ではC++ネイティブとC#マネージドの混在アセンブリはできないの?

316 :デフォルトの名無しさん:2013/11/17(日) 16:01:09.83
JavaFX2あるやん(震声)

317 :デフォルトの名無しさん:2013/11/17(日) 16:14:35.89
>>315
混在アセンブリはC++/CLIで書くんだよ

318 :デフォルトの名無しさん:2013/11/17(日) 16:26:05.59
C++って難しいと思ったけどC#の本読んで覚えた後だと結構楽だな。
楽って言っても初心者レベルでだけど

319 :デフォルトの名無しさん:2013/11/17(日) 16:46:10.15
C++何となく使えるぐらいなら
全体の0.01%くらいは修めたことと言っていいよ

320 :デフォルトの名無しさん:2013/11/17(日) 16:47:21.71
C++/CLIと違って混在アセンブリできないんじゃDLLにして呼ぶしかないとはなんとも不便だな。

321 :デフォルトの名無しさん:2013/11/17(日) 16:50:24.71
C%2b%2bぜんぜん楽じゃないですよ・・・
そもそもシンタックスが似て非なる物、Objective-Cよりマシってところでしょ
まず型が名前も使い方もC#とぜんぜん違うから、画像処理ライブラリのソース転用しようと思っても大変ですよ
C%2b%2bでなんでも作れる人ってすごいっすわ、リスペクトします

322 :デフォルトの名無しさん:2013/11/17(日) 16:51:08.97
最近、暗号化してからレスする人がいるがほんと止めてほしい。

323 :デフォルトの名無しさん:2013/11/17(日) 16:53:42.28
暗号化て

324 :デフォルトの名無しさん:2013/11/17(日) 16:54:58.20
非可逆暗号化しないで欲しい

325 :デフォルトの名無しさん:2013/11/17(日) 17:04:21.97
だから、非可逆じゃなくて不可逆だし、英語ならどちらもcodeだが日本語の語彙では
暗号と符号の区別があるんだからちゃんと区別して使ってくれよ

326 :デフォルトの名無しさん:2013/11/17(日) 17:07:28.01
f73d97ea3807f05fe9d44c80c9c9a7df

327 :デフォルトの名無しさん:2013/11/17(日) 17:08:15.43
暗号化してからレスする人がいなくなれば起こらない問題であり根本的にそちらを解決すべき

328 :デフォルトの名無しさん:2013/11/17(日) 18:24:49.62
すみません、くだらない質問なのですがC#ではいわゆる関数のようなものは宣言できないのでしょうか?
今、とりあえずclassの中にstaticなメソッドとして書いてるのですが

329 :デフォルトの名無しさん:2013/11/17(日) 18:28:03.29
!?

いわゆる関数の例をもってこいよ
他の言語でいいから

クラスの外に置けないのかって意味なら置けない

330 :デフォルトの名無しさん:2013/11/17(日) 18:41:26.19
Cみたいな関数宣言はないのかってことでしょ
C#はないよ

331 :デフォルトの名無しさん:2013/11/17(日) 18:47:37.68
>>328
天才ですね。MSの多くの標準ライブラリもそうなってます。

332 :デフォルトの名無しさん:2013/11/17(日) 18:48:02.03
少し意味が変わるけど
particialやabstractメソッド
あとインターフェイス

333 :デフォルトの名無しさん:2013/11/17(日) 18:59:48.59
interfaceの使い道がわからないんだ、何度ググってもこれ!ってのがない
クラス・メンバ・引数・戻り値を縛るコーディング規約くらいにしか使い道が思い浮かばない
でも超重量級フレームワークはinterfaceだらけ、何故?

334 :デフォルトの名無しさん:2013/11/17(日) 19:03:15.80
C#でXMLを読み込む場合
XmlTextReader
XmlDocument
の二択になりますが、どう使い分ければいいのですか?

335 :デフォルトの名無しさん:2013/11/17(日) 19:04:45.42
すいませんLinqを使わない前提だと
XmlTextReader
XmlDocument
XmlReader
の三択ですね

336 :デフォルトの名無しさん:2013/11/17(日) 19:12:20.87
>>333
素人が理解しようとかおこがましいんだよ
1ヶ月経ってから取り組め

337 :デフォルトの名無しさん:2013/11/17(日) 19:20:20.35
XmlDocだけでいいよ
他のクラスは使い道全くない

338 :デフォルトの名無しさん:2013/11/17(日) 19:23:51.17
何かシビアな要求があってSAX方式でやりたい時くらいかねえ

339 :デフォルトの名無しさん:2013/11/17(日) 19:27:14.34
なんでXDocumentを除外するのかよく分からんけど

340 :デフォルトの名無しさん:2013/11/17(日) 19:30:31.86
>>333
具象クラスは型と実装を定義する
抽象クラスは型と「一部の実装」を定義する
インターフェースは型を定義する

ただこれだけ

実際のプログラミングの話としては
イテレータの内部アルゴリズムを全て決める→具象クラス
イテレータの内部アルゴリズムを一部決める→抽象クラス
イテレータの内部アルゴリズムを一切決めない→インターフェース

非常に単純

341 :デフォルトの名無しさん:2013/11/17(日) 19:32:01.53
いや何が出来るかじゃなくて・・・
まあいいや面倒くさい

342 :デフォルトの名無しさん:2013/11/17(日) 19:36:22.21
相手に伝わるように質問できない
相手の言った回答も理解できない、する気がない

処置なしっすな

343 :デフォルトの名無しさん:2013/11/17(日) 19:37:41.68
トドメは必要だろう

344 :デフォルトの名無しさん:2013/11/17(日) 19:39:06.02
文字列の暗号化だけに留まらず、内容まで暗号化するとは。さっぱり理解できん。

345 :デフォルトの名無しさん:2013/11/17(日) 19:52:02.67
>>340
べつにインターフェースなんてなくてもいいんじゃね?
必要性が分からない。

346 :デフォルトの名無しさん:2013/11/17(日) 19:59:24.97
>>345
現状ではインターフェースがないと多重継承できないからインターフェース不要ってことはあり得ない
「だったらインターフェースなくして抽象クラスを多重継承可能にすればいいじゃん」って話は別に考える必要があるけど

347 :デフォルトの名無しさん:2013/11/17(日) 20:07:51.36
例えば IEnumerableインターフェースを持ってるクラスはforeachが使える
でももちろんコード的にはそれぞれのクラスで実装が違う

「このインターフェースを持っているクラスはこの機能が使える」
って感じで機能的に同じものを持たせるとき使うんよ

まあ>>346が言ってるようにC#は多重継承ができないから
それを複数継承できるインターフェースで誤魔化すってこともできるけどね

348 :デフォルトの名無しさん:2013/11/17(日) 20:12:18.32
スクリプトでforeachできるクラスはどういう仕組みなの?

349 :デフォルトの名無しさん:2013/11/17(日) 20:19:25.22
昔は抽象クラスを関数の引数にしていたMSが急にinterfaceに書き換えた。
なんでそんなことしたの?

350 :デフォルトの名無しさん:2013/11/17(日) 20:21:03.57
>>346
ああすまん、どっちかと言うと

> 「だったらインターフェースなくして抽象クラスを多重継承可能にすればいいじゃん」

にならなかった理由かわからん、の方。

>>347
だからインターフェースの説明なんていちいちしてもらわなくていいよ。
I〜は多重継承除けばクラスでもできるだろ?

351 :デフォルトの名無しさん:2013/11/17(日) 20:22:52.37
>>350
> 多重継承ができれば、インターフェイスはなくてもよい。事実、C++にインターフェイスはない。
> にもかかわらず、C#やJavaといった比較的新しい言語で多重継承が禁止されているのは、
> 継承が過剰に強力すぎる機能であり、容易にトラブルを引き起こすという経験による。
> 強力すぎる継承の機能を適正な水準まで制限した結果が、
> 継承するクラスは1個までという制約とインターフェイスの導入である。
http://www.atmarkit.co.jp/ait/articles/0211/20/news001.html

352 :デフォルトの名無しさん:2013/11/17(日) 20:24:27.09
要するに

分かってないのに答えてる奴二人。分かってるのにふざけてる奴一人。だな。

353 :デフォルトの名無しさん:2013/11/17(日) 20:25:48.62
>>351
なに言ってるんだ。実装の多重継承は頭がハゲるから禁止なんだよ。

354 :デフォルトの名無しさん:2013/11/17(日) 20:26:12.95
>>352
質問を装って自分が望む答えを当てさせるクイズを出題してる奴一人と
クイズを無視して文面通りに答えてる奴二人だろう

355 :デフォルトの名無しさん:2013/11/17(日) 20:26:51.83
どれが質問者でどれが横槍だかわからんわ
質問者はコテ入れてくれ

356 :333:2013/11/17(日) 20:27:07.70
なんかオレを語る奴がいるけど>>341とか違うからね

>>347
そこがよくわからないんだけど、IEnumerableにしてもInterfaceは>>340でも言われてる通り実装が一切ないでしょ
実装のないクラスを継承する意味がよくわからないんだよ、たとえば

interface hoge{
public int hogs{get; set;}
public void hoge{}
}
class hogehoge : hoge{
}

実装のないクラスを継承する意味がわからないってのがInterfaceの使い道がわからないって理由なんだけど

357 :デフォルトの名無しさん:2013/11/17(日) 20:32:15.20
>>356
ネタ晴らしすんなよ

くだらねえネタで長引きそうだから幕引いてやったってのに

358 :デフォルトの名無しさん:2013/11/17(日) 20:32:52.80
>>356
IEnumerableは空だから継承したら自分で実装するんだぜ。
実装したら自分のクラスがforeachで使えるんだぜ。すごくね?

359 :デフォルトの名無しさん:2013/11/17(日) 20:33:29.73
>>357
死ね

360 :デフォルトの名無しさん:2013/11/17(日) 20:34:02.77
>>356
>>347に書いてる通りじゃないか?
同じ機能を与えるにしても実装はクラスごとに異なるから実装の中身を書くわけにもいかない

その例だとhogeっていうインターフェースを継承したクラスは
public void hoge()っていうメソッドで特定の機能が使えることが補償されるわけだ

361 :デフォルトの名無しさん:2013/11/17(日) 20:34:14.71
インターフェースも継承できたらよかったと思うんだが、できない/しない理由ってなんだろう?

362 :デフォルトの名無しさん:2013/11/17(日) 20:35:06.57
インターフェイスは継承するものではない
実装するものだ

363 :デフォルトの名無しさん:2013/11/17(日) 20:35:35.45
>>361
OOP的に考えて、継承が必要になる様な物はクラスにすべき
interfaceは "機能" であって、 "物" じゃないからな

364 :デフォルトの名無しさん:2013/11/17(日) 20:36:14.09
>>361
インターフェースは他のインターフェースを継承できるよ

365 :デフォルトの名無しさん:2013/11/17(日) 20:36:54.75
Attributeは継承されないけどなんか勘違いしてね

366 :デフォルトの名無しさん:2013/11/17(日) 20:38:04.71
COMのインターフェイスみたいにメンバーが追加されていく仕様だったりありだったかも

367 :デフォルトの名無しさん:2013/11/17(日) 20:41:51.15
>>365
privateメンバが継承されないのと同じで継承とはいっても全てが引き継がれるわけではないからなぁ…

368 :デフォルトの名無しさん:2013/11/17(日) 20:42:56.67
interfaceの実装のテストほど面倒なものはない。
使う予定のないものはそのままreturnしてやる。

369 :デフォルトの名無しさん:2013/11/17(日) 20:46:52.55
>>368
「使う予定がない」ってどういう状況?
他のメソッドの引数としてそのインスタンスを渡したら渡された側のメソッドがバグるだろ
渡された側はインターフェースの全てのメソッドが実装されてる前提で渡されたインスタンスを使うんだから

370 :333:2013/11/17(日) 20:50:40.95
>>358
そこがまた不思議なんだけど、 実装のないはずのinterfaceであるIEnumerableを継承するとForeachで使える機能
IDisposableはdisposeの強制?なぜ実装のないはずのinterfaceを継承してるのに実装があるの?
あとどの解説も多重継承できるとかばかりで実際の開発でこう使うんだよってのがないんだよね

371 :デフォルトの名無しさん:2013/11/17(日) 20:53:35.39
この理解力足りない奴を相手に暇なお前らは延々と講義を続ける気なのか?
いつまで続ける気だ

372 :デフォルトの名無しさん:2013/11/17(日) 20:56:47.57
>>370
> 実際の開発でこう使うんだよってのがないんだよね

インターフェースをクラス設計に取り入れる必要があるのはフレームワークやライブラリを作る側の人間。
ビジネスクラスの開発が中心になる「実際の開発」ではフレームワークを使うことはあっても作ることはない。
「ビジネスクラスを設計する上でインターフェースをどう使えばいいのか」という情報が少ないのはそういう理由。

373 :デフォルトの名無しさん:2013/11/17(日) 20:58:03.22
class Hoge : ISomeInterface

と書いたから魔法のように機能が追加されるわけではなくて
自分でシコシコとISomeInterfaceの要求するメソッド等を実装するんだよハゲ

このクラスを使う側からしたらISomeInterfaceが目印となって使い方が分かるんだよこのズルムケが

374 :デフォルトの名無しさん:2013/11/17(日) 21:00:04.13
汎用的なクラスを作る場合はインターフェースは役に立つけど、
ごく狭い範囲でしか利用されない特化型のクラスを作る場合はインターフェースは不要
だから一般人がインターフェースを使ってクラス設計する方法を学ぶ必要はない

375 :デフォルトの名無しさん:2013/11/17(日) 21:01:44.36
>>370
では宿題。

IEnumerableを使わずに継承関係のないクラスAとBの両方に列挙の機能を与えた上で、
かつAとBを使う側は同じ方法で列挙できるようにするにはどうしたらいい?

376 :デフォルトの名無しさん:2013/11/17(日) 21:03:38.07
インターフェイスなんかイラネ、って言ってるんだから当然できるよねw

377 :333:2013/11/17(日) 21:05:25.49
>>375
ObjectクラスのインスタンスとしてA, Bのインスタンスを保持しておき、
使用時はそれぞれクラスA, Bにダウンキャストすればいいだけでは?

378 :デフォルトの名無しさん:2013/11/17(日) 21:06:06.59
>>369
IFormattableとか真面目に実装しないということ。

379 :デフォルトの名無しさん:2013/11/17(日) 21:08:14.74
API等の公開クラスをわざわざsealedする時って嫌がらせ以外にどんな理由が考えられますかね?

380 :デフォルトの名無しさん:2013/11/17(日) 21:08:52.85
>>377
何を言ってるのか分からないが、「Objectクラスのインスタンス」はObjectという型が
持っている以上の機能なんか何もありませんよ。

つまり列挙なんか出来ませんが

381 :デフォルトの名無しさん:2013/11/17(日) 21:10:36.37
使い方としては、プラグインとかあるかな。
アプリとプラグイン間で取り決めたインターフェースに従えば、
実際にどんな名前のどんなクラスで実装しているか公開する必要が無くて、
アプリ側はそのインターフェースに対してのみの単一の実装をすればいいから。

382 :デフォルトの名無しさん:2013/11/17(日) 21:10:44.71
>>365
それ。interfaceに継承可能な属性が使えたらいいなと思うことはある。

383 :デフォルトの名無しさん:2013/11/17(日) 21:11:23.10
>>379
あるクラスを不変クラスにしたい場合
継承を禁止しないと不変クラスにはできない

384 :デフォルトの名無しさん:2013/11/17(日) 21:15:27.87
自分は定義済みのinterfaceしか使わないなぁ。
アプリ内ならクラスの継承で終わっちゃうし。

385 :デフォルトの名無しさん:2013/11/17(日) 21:19:35.45
>>383
派生クラスの実装によって派生元クラスが変化する可能性があるからって事ですか?
と言う事は継承を許してるクラスは全て継承されることによって変化する事を受け入れてる
って事ですよね?
具体的にどういう可能性があるのか今一分かりませんが

386 :デフォルトの名無しさん:2013/11/17(日) 21:20:11.22
自作クラスをforeachとかdisposeとかに対応させるぐらいかな。

387 :333:2013/11/17(日) 21:28:07.78
>>380
Object o1 = new MyClass1();
Object o2 = new MyClass2();
(MyClass1) o1.iterator();
(MyClass2) o2.iterator();

388 :デフォルトの名無しさん:2013/11/17(日) 21:37:41.77
>>387
意味が分からない。

では、引数xを1つとってxを列挙するメソッドを、引数に継承関係のないクラスAとBの
どちらのインスタンスも指定して呼び出せるようにするにはどうするの?

389 :333:2013/11/17(日) 21:48:08.01
>>388
public void 列挙(Object x)
{
 if (x is ClassA)
  ((ClassA) x ).doSometiong();
 if (x is ClassB)
  ((ClassB) x ).doSometiong();
}

390 :デフォルトの名無しさん:2013/11/17(日) 21:49:41.96
>>389
それって型安全じゃないよね。
っていうか、想定される実装の数だけifを書くの?w

391 :デフォルトの名無しさん:2013/11/17(日) 21:51:23.27
castって重いんだぜぇ?

392 :デフォルトの名無しさん:2013/11/17(日) 21:54:48.65
333じゃないけど眠いから早く答え教えて

393 :デフォルトの名無しさん:2013/11/17(日) 22:01:08.26
>>392
全裸待機で凍死寸前?

394 :デフォルトの名無しさん:2013/11/17(日) 22:05:36.89
個人で小規模なアプリ作っている程度ならインターフェースを自作する必要性ってないからな
なんで必要なんだって疑問に思っても仕方がない

自分はインターフェースからまず作っていってイメージを掴んでいくけどね
なんとなくこういう機能がほしいけど実装を書くのは面倒だからとりあえずインターフェース書いとけみたいな

395 :333:2013/11/17(日) 22:08:10.75
>>390-392
インターフェースを使わなくても「特定のメソッドを持ったクラスを同様に扱う」ことは可能
http://ideone.com/aDwqBp

396 :デフォルトの名無しさん:2013/11/17(日) 22:08:56.30
そんなの空メソッドでいいじゃん。

397 :デフォルトの名無しさん:2013/11/17(日) 22:10:01.15
dynamicちゃんがあればinterfaceの代わりになれるよな・・・気持ち悪いけど

後、interfaceはstaticもあっていいと思うんだ
というかdynamicでstaticを呼び出したい

398 :デフォルトの名無しさん:2013/11/17(日) 22:11:14.66
リフレクションで出来るってのは出来るとは言わない

399 :デフォルトの名無しさん:2013/11/17(日) 22:11:37.48
>>390
後出しじゃんけん乙
取り敢えず負けを認めろよ

400 :333:2013/11/17(日) 22:20:45.30
結局インターフェースじゃないとダメなシーンは存在しないってこと?
実態を伴わずに言葉や権威だけが独り歩きするバズワードみたいなもんか

401 :デフォルトの名無しさん:2013/11/17(日) 22:22:21.85
public void write(Iwrite x) { x.write(); }
ならチェックいらなくなるじゃん。

そんなに糞遅いほうがいいの? Javaで我慢できる人?

402 :デフォルトの名無しさん:2013/11/17(日) 22:25:52.26
てかインターフェース使わないでっていうお題じゃなかったっけ?

403 :デフォルトの名無しさん:2013/11/17(日) 22:27:25.80
もちろんC++もアセンブラもなくても機械語だけで同じこと書けるよ。だから?

404 :デフォルトの名無しさん:2013/11/17(日) 22:30:47.29
じゃあおまえinterface禁止な。絶対に継承して実装するんじゃねーぞ。

405 :デフォルトの名無しさん:2013/11/17(日) 22:31:07.88
インターフェース無かったらifでクラス毎に分けるキチガイみたいな実装になるぞ
もしくはリフレクション使った型安全じゃない実装

staticなインターフェースは無いから仕方なく下の方法使ってる
ParseとTryParseまとめろよMS

406 :デフォルトの名無しさん:2013/11/17(日) 22:33:36.00
WCFみたいにinterfaceを要求するものがあったりするから厄介

407 :デフォルトの名無しさん:2013/11/17(日) 22:40:17.29
>>399
意味が分からない。

408 :デフォルトの名無しさん:2013/11/17(日) 22:42:10.58
>>397
型安全じゃないんだから代替になんかならない。
何をいってんの

409 :デフォルトの名無しさん:2013/11/17(日) 22:42:12.90
「インターフェイスじゃないとダメなシーン」と言ってるからには、
インターフェイスの使い方は分かるんだよね。
じゃあ他の方法とインターフェイスを使った場合とでコストの小さい方を選択すればすむことでは。

それが、
>でも超重量級フレームワークはinterfaceだらけ、何故?
その理由であり幼と‥‥どうした ATOK 。w ‥‥用途なんだろ。

410 :デフォルトの名無しさん:2013/11/17(日) 22:43:10.19
不毛だ
ほら不毛だ
俺が茶々入れた段階で話し打ち切ってりゃ良かったんだよチンカスの諸君

411 :デフォルトの名無しさん:2013/11/17(日) 22:44:02.89
っていうか、333はこれ面白いと思ってやってるのかね。
だとしたらかなりのお変人だね。

412 :デフォルトの名無しさん:2013/11/17(日) 22:44:51.16
1万行もc#を書けば目覚めるさ。

413 :333:2013/11/17(日) 23:07:16.69
>>408
GetType().GetMethod("someMethod") でメソッドの有無を確認すれば型安全にリフレクションは使えるが

414 :デフォルトの名無しさん:2013/11/17(日) 23:11:26.45
どんだけ遅いコード書きたいんだ、こいつ。
ループ回してどんだけ遅くなるか計測してみ。

超重量級フレームワークが応答なしフレームワークになるわ。

415 :デフォルトの名無しさん:2013/11/17(日) 23:12:30.06
そうやって構う

416 :デフォルトの名無しさん:2013/11/17(日) 23:12:43.66
>>413
http://msdn.microsoft.com/ja-jp/library/8zz808e6.aspx
例外の項目見ろ

417 :デフォルトの名無しさん:2013/11/17(日) 23:20:08.49
>>413
型安全というのは普通はコンパイル時の概念ですよ

418 :デフォルトの名無しさん:2013/11/17(日) 23:21:12.49
っていうか、だから面白いと思ってやってるのかこれ。

419 :デフォルトの名無しさん:2013/11/18(月) 00:02:37.22
XmlDocumentで
<root><div>test</div></root>っていう要素のテキストノードを
XmlElement root = doc.DocumentElement;
XmlNodeList nodeList = root.GetElementsByTagName("div");
XmlElement element = (XmlElement)nodeList.Item(0);
element.RemoveChild(element.FirstChild);
// element.innerText = "" // これもだめだった

これの結果が
<root><div /></root>にならず、
<root><div></div></root>ってなるんですが、これだと空でも一応テキストノードは存在してますよね
どうやってテキストノードを消せますか?

420 :デフォルトの名無しさん:2013/11/18(月) 00:48:35.21
確か<hoge/>と<hoge></hoge>って同じ意味だろ

結果をどうやって作ってるのか知らんがxmlwriterのオプションとかになければ自分で実装するしかないな

421 :デフォルトの名無しさん:2013/11/18(月) 07:39:08.69
>>407-408
型安全なんて >>375, >>388 にも書いてない条件後出ししてなに難癖つけてるんだ?

422 :デフォルトの名無しさん:2013/11/18(月) 08:16:00.35
C#の裏ワザとかあります?

423 :デフォルトの名無しさん:2013/11/18(月) 10:32:02.10
うんこに触ると手にうんこが付くという裏ワザならあるけど

424 :デフォルトの名無しさん:2013/11/18(月) 11:53:32.29
C#で作成したアプリのワード切替方法を教えてください。

やりたい事:
画面上で「切替」ボタンを押すと、
- タスクバー上のアイコン画像を別の画像に切り替える。
- アプリの左上にあるアイコン画像も別の画像に切り替える。

どうやって切替って実装したら良いのでしょうか?

425 :デフォルトの名無しさん:2013/11/18(月) 12:07:04.28
wm_seticon投げればできたはずだが
このスレか相談室でアイコンキャッシュがどうのって話もでてたし
今もうまく行くかどうかは分からない

426 :335:2013/11/18(月) 12:32:26.27
XMLファイルが
小さいときはXmlDocument
大きいときはXml(Reader|Writer)
を使うという結論になりました
XmlText(Reader|Writer)は非推奨でXml(Reader|Writer)を使うようですね
XDocumentはなんか中途半端でコードが書きやすい以外にメリットがない気がしました

427 :デフォルトの名無しさん:2013/11/18(月) 12:51:52.67
>>425
Windows API 使わないと出来ないのですね。。。
アイコン以外のラベルで代替する事にします。

428 :デフォルトの名無しさん:2013/11/18(月) 12:53:18.58
>>424
Form.Iconプロパティにアイコンを設定する
今見たらWM_SETICONも飛んできたよ

ところでワード切替ってなに?

429 :デフォルトの名無しさん:2013/11/18(月) 13:20:52.36
さすがです大佐

430 :デフォルトの名無しさん:2013/11/18(月) 13:27:22.78
>>428
そうすると、リソースに2画像を仕込んでおいて
プログラムから
Form.Iconプロパティ
に設定する方法でいけるという事でしょうか?
※リソースに2画像を仕込む方法とかも教えて頂けると幸いです。

※ワード切替はこっちの事です。忘れてください。

431 :デフォルトの名無しさん:2013/11/18(月) 13:37:35.14
XMLに要素を追加したり属性を追加したりテキストノードを書き換えたりするのは
XmlReaderはできないのですか?

432 :デフォルトの名無しさん:2013/11/18(月) 13:51:57.31
リーダーって何だと思ってんだ君は

433 :デフォルトの名無しさん:2013/11/18(月) 14:33:48.23
コンボボックスで
リストに表示されるのはフルネームを表示させて
選択してコンボボックスを閉じたときに表示されるのは
選択された名前の苗字だけにしたいです
こういう場合どうすれば実現できますか?

434 :デフォルトの名無しさん:2013/11/18(月) 16:12:46.99
ファイルを作成するだけのコードですが
こういうときusingの中で明示的にCloseするのは何故ですか?
いろんなサイトを見てもCloseしてるのとしてないのがありよくわかりません
usingは勝手に閉じてくれるからCloseを呼ばなくてもいいと思うんですが何故ですか?

using (FileStream fileStream1 = File.Create("file.txt"))
{
fileStream1.Close();
}

435 :デフォルトの名無しさん:2013/11/18(月) 16:14:45.32
>>434
Closeする必要ないよ

436 :デフォルトの名無しさん:2013/11/18(月) 16:15:56.44
しないことにします
無駄ですよね

437 :デフォルトの名無しさん:2013/11/18(月) 16:18:19.77
>>434
予想だけど、OrasamaStreamがDisposeとCloseで動作が異なるとか、
作者がそう思い込んでるとか、
Close出来なかったときのtry-catchをusingの内部に書いてるとか

ってどこのサイトよ?url教えて

438 :デフォルトの名無しさん:2013/11/18(月) 16:20:03.17
http://jeanne.wankuma.com/tips/csharp/file/create.html

439 :デフォルトの名無しさん:2013/11/18(月) 16:22:23.00
>>434
たまにあるようなそういう書き方してるところw

440 :デフォルトの名無しさん:2013/11/18(月) 16:24:25.46
IDisposableを実装しているクラスなら
Dispose()呼ぶだけでいい
Close()を呼ぶ必要は全くないよ

441 :デフォルトの名無しさん:2013/11/18(月) 16:30:57.78
>>434
using内部でエラーが発生した場合、閉じられないからCloseする必要がある

442 :デフォルトの名無しさん:2013/11/18(月) 16:32:17.32
>>441
あほかw
知識がないのに答えない方がいいぞw

443 :デフォルトの名無しさん:2013/11/18(月) 16:32:43.01
>>440
それは実装による
CloseとDisposeは必ずしも同じじゃない

444 :デフォルトの名無しさん:2013/11/18(月) 16:36:07.16
>>434
FileStreamに関してはusignしてればCloseする必要はないよ

445 :デフォルトの名無しさん:2013/11/18(月) 16:37:48.94
でもClose()するクセはつけとけ。

446 :デフォルトの名無しさん:2013/11/18(月) 16:40:02.50
なんでもかんでもClose()つけてるコードはまじで嫌い
ちゃんと理解しろよって思う

447 :デフォルトの名無しさん:2013/11/18(月) 16:40:12.30
Disposeが存在するのはc#の欠陥だからな。

448 :デフォルトの名無しさん:2013/11/18(月) 16:40:43.05
using構文の出たての頃はdisposeだとフラッシュされずに
クローズするとかデマが飛び交ったが、
MSのサイトでcloseと同等と解説されたので決着。
俺様ライブラリは実装によるかもな。

449 :デフォルトの名無しさん:2013/11/18(月) 16:40:58.19
開けたら閉めろってばぁちゃんが言ってた。

450 :デフォルトの名無しさん:2013/11/18(月) 16:41:19.22
>>443
必ずしもってなんだよww
おまえ意味わかってないだろww

451 :デフォルトの名無しさん:2013/11/18(月) 16:42:05.22
実装による決まってるのにそこに噛み付く奴はアホとしか。

452 :デフォルトの名無しさん:2013/11/18(月) 16:42:19.91
>>448
そうそう俺様ライブラリ以外は気にする必要ないよ

453 :デフォルトの名無しさん:2013/11/18(月) 16:42:59.53
実装によるのは当たり前だろ

454 :デフォルトの名無しさん:2013/11/18(月) 16:44:37.83
変数名にlockが使えません
lockは予約語ですか?
string lock = "a";

455 :デフォルトの名無しさん:2013/11/18(月) 16:45:08.25
おまえらILの状態見たことないのかよ
IL見ればすぐ理解できるぞ

456 :デフォルトの名無しさん:2013/11/18(月) 16:45:30.61
>>446
こういう馬鹿が一番困る。オブジェクト思考に完全に反する。
内部の実装まで理解してコード書いてられるか。

Close()が用意されてるならOpen()したらClose()する。それだけ。

457 :デフォルトの名無しさん:2013/11/18(月) 16:45:44.70
>>454
lock 予約語
で検索してください

458 :デフォルトの名無しさん:2013/11/18(月) 16:45:47.52
DisposeとCloseを分けたのは混乱の元というのは確か。
後追いのjava7はtry-with-resourcesで、
既存のクラスのcloseメソッドにAutoCloseable#closeや
その継承interfaceをつけて回った。
こっちの方がすっきりする。

459 :デフォルトの名無しさん:2013/11/18(月) 16:51:29.44
>>456
それはその通りなんだが、>>434とか(明示的に)Openしてないよね
暗黙的にOpenされてるものもCloseしとけ、って思う?

460 :デフォルトの名無しさん:2013/11/18(月) 17:00:15.87
msdnでもわざわざcloseとかしてないけど

461 :デフォルトの名無しさん:2013/11/18(月) 17:00:34.32
>>456
今ってこういう考えのやつが増えてるのか?
なんか悲しいな

462 :デフォルトの名無しさん:2013/11/18(月) 17:07:39.23
ドキュメントなんか読む気ねーよバーカwwwwww

って恥晒してるだけだし、別に悲しまなくてもよくね

463 :デフォルトの名無しさん:2013/11/18(月) 17:18:00.26
じゃおまえはC++の頃に糞汚いprintfやqsortの実装読んだのか?

464 :デフォルトの名無しさん:2013/11/18(月) 17:21:05.55
これ以上バカにレスすのはやめとけな

465 :デフォルトの名無しさん:2013/11/18(月) 17:24:30.71
closeに無頓着なチームが9x系を作ってcloseに煩かったチームがNTを作った。
closeつけてる奴のコードは安心して使える。

466 :デフォルトの名無しさん:2013/11/18(月) 17:26:14.49
Close()を実装しない奴はDispose()も実装してない可能性高いからな。

467 :デフォルトの名無しさん:2013/11/18(月) 17:35:09.65
>>465
もうcloseは必要ないって結論出たからいいよ

468 :デフォルトの名無しさん:2013/11/18(月) 17:37:23.52
こういう馬鹿が一番困る。

469 :デフォルトの名無しさん:2013/11/18(月) 17:38:34.70
close書かない馬鹿はusingも使わないから困る。

470 :デフォルトの名無しさん:2013/11/18(月) 17:38:58.16
>>468
こういう馬鹿が一番困る。

471 :デフォルトの名無しさん:2013/11/18(月) 17:39:46.32
>>469
そんなバカはおまえだけだろ

472 :デフォルトの名無しさん:2013/11/18(月) 17:40:48.81
>>465
98で.Netは動きませんよ?

473 :デフォルトの名無しさん:2013/11/18(月) 17:40:51.99
closeは書かなくていいなんてわざわざ馬鹿いう奴って頭悪いだろ。
close必要なクラスもいっぱいあるのに、
他人が勘違いする可能性を考えてない典型的なアスペ君。

474 :デフォルトの名無しさん:2013/11/18(月) 17:42:29.69
>>473
こういう馬鹿が一番困る。

475 :デフォルトの名無しさん:2013/11/18(月) 17:42:51.25
この中でいうと、そうだな、>>471 が信用できないな。

476 :デフォルトの名無しさん:2013/11/18(月) 17:43:00.21
>>472
ナイスツッコミ

477 :デフォルトの名無しさん:2013/11/18(月) 17:45:36.47
こういう馬鹿どもがC++の仕事すると途端にメモリリークしまくるんだよな。

VBでは〜とかC#だといらないからとか馬鹿言い出す。ほんとうっとうしい。

478 :デフォルトの名無しさん:2013/11/18(月) 17:46:25.37
Close()とusingに関しては散々調べて検証したことあるが
個人で作ったライブラリ以外は
using使えばClose()必要ないよ

479 :デフォルトの名無しさん:2013/11/18(月) 17:46:53.43
IDisposableで注意しとくのは、俺々ライブラリとMutexくらいかな

480 :デフォルトの名無しさん:2013/11/18(月) 17:47:02.80
>>477
そんなバカはおまえだけだろ

481 :デフォルトの名無しさん:2013/11/18(月) 17:47:51.74
>>479
だな
無駄にClose()やってるコードは俺も好きじゃない

482 :デフォルトの名無しさん:2013/11/18(月) 17:48:20.92
>>478
散々調べる暇があるなら迷わずclose()したほうが楽だろ。

483 :デフォルトの名無しさん:2013/11/18(月) 17:49:02.91
>>480
だな。Close()してるコードは変態だね。

484 :デフォルトの名無しさん:2013/11/18(月) 17:49:52.44
Close()はするべきじゃないね。

485 :デフォルトの名無しさん:2013/11/18(月) 17:50:10.97
>>482
おかげで胸をはってClose()いらないってわかったからよかったよ

486 :デフォルトの名無しさん:2013/11/18(月) 17:50:36.80
トイレのドア閉めてするようなもんだよな。アホすぎ。

487 :デフォルトの名無しさん:2013/11/18(月) 17:52:55.10
なんにでもCloseしろって言ってるような上司は信用しない方がいいぞ

488 :デフォルトの名無しさん:2013/11/18(月) 17:53:51.31
>>472
.NET1.0 .NET1.1 .NET2.0は一応サポートしてた

489 :デフォルトの名無しさん:2013/11/18(月) 17:55:49.86
最近のゆとりにいくら冷蔵庫のドアは閉めろと言ってもいうことをきかない。

490 :デフォルトの名無しさん:2013/11/18(月) 17:58:23.94
>>489
もう閉まってるのに閉めようとするボケた老害に困ってます

491 :デフォルトの名無しさん:2013/11/18(月) 18:00:21.19
注意するとこういいます。「C#はcloseする必要ないので」

馬鹿です。

492 :デフォルトの名無しさん:2013/11/18(月) 18:00:49.12
自動ドアも自分で閉めろ

493 :デフォルトの名無しさん:2013/11/18(月) 18:00:56.13
Vista以降のマスターボリュームを変更する方法をおしえてください

494 :デフォルトの名無しさん:2013/11/18(月) 18:02:11.39
>>493
検索すればすぐ出てきたので
検索しましょう

495 :デフォルトの名無しさん:2013/11/18(月) 18:02:43.67
C#でwin32api呼んでcloseしない馬鹿がいかに多いことか。

このスレが原因か。

496 :デフォルトの名無しさん:2013/11/18(月) 18:03:20.81
>>491
そんなバカはおまえだけだろ

497 :デフォルトの名無しさん:2013/11/18(月) 18:04:08.15
>>495
そんなバカはお前の周りだけだろ

498 :デフォルトの名無しさん:2013/11/18(月) 18:04:10.63
>>495
こういうデマ流すやついるから気を付けろよ

499 :デフォルトの名無しさん:2013/11/18(月) 18:05:17.37
ウイルス作る場合ってC#で大丈夫ですか?

500 :デフォルトの名無しさん:2013/11/18(月) 18:06:47.56
やっぱりおまえらが犯人か。片山もこのスレにいたんだろ?

501 :デフォルトの名無しさん:2013/11/18(月) 18:07:59.24
片山ってどうなったんだ?

502 :デフォルトの名無しさん:2013/11/18(月) 18:10:33.94
>>495
類友

503 :デフォルトの名無しさん:2013/11/18(月) 18:11:31.53
この中に警察から聞き込みされた奴とかいんの?

504 :デフォルトの名無しさん:2013/11/18(月) 18:13:06.85
さすがにいないだろ

505 :デフォルトの名無しさん:2013/11/18(月) 18:16:25.58
聞き込みってか官庁不正アクセスで逮捕されたことはあるよ

506 :デフォルトの名無しさん:2013/11/18(月) 18:19:20.56
>>505
不正アクセスって
パスワードかIDでも入れたの?

507 :デフォルトの名無しさん:2013/11/18(月) 18:22:00.78
いや誤認逮捕

508 :デフォルトの名無しさん:2013/11/18(月) 18:23:14.78
>>494
ぼくが傑作してヒットしたものだとXPまでのにしか対応してないサンプルばかりでしたが
何が検索でヒットしたのか教えてください

509 :デフォルトの名無しさん:2013/11/18(月) 18:26:08.80
>>508
傑作してヒットしたならいいじゃない

510 :デフォルトの名無しさん:2013/11/18(月) 18:26:59.32
くだらねえw

511 :デフォルトの名無しさん:2013/11/18(月) 18:29:12.75
ここまで自演

512 :デフォルトの名無しさん:2013/11/18(月) 18:30:19.83
やっと一人レスしてくれた。疲れたからもう寝る。

513 :デフォルトの名無しさん:2013/11/18(月) 18:32:06.55
>>494
分からないのに無理してレスしなくていいんですよ

514 :デフォルトの名無しさん:2013/11/18(月) 18:35:37.48
>>513
みんなの為に
わからないけどがんばってレスするよ

515 :デフォルトの名無しさん:2013/11/18(月) 18:38:43.80
Closeなんて無駄に頑張ってたもんな

516 :デフォルトの名無しさん:2013/11/18(月) 18:40:40.12
すまん。自動煽りレスアプリをcloseし忘れてた。

517 :デフォルトの名無しさん:2013/11/18(月) 18:41:46.80
自動煽りレスアプリとかVIPでしか使わないぞ

518 :デフォルトの名無しさん:2013/11/18(月) 18:43:31.20
俺だったら悲しくてそんなことできんわw

519 :デフォルトの名無しさん:2013/11/18(月) 18:43:56.08
マジかよ
じゃあ俺の自動煽りレスアプリと煽り合ってたのって・・・

520 :デフォルトの名無しさん:2013/11/18(月) 18:45:37.87
>>421
馬鹿だろお前。
プログラミングにおける型安全性の重要性が、俺の質問の仕方で変るのか。

521 :デフォルトの名無しさん:2013/11/18(月) 18:46:12.61
>>519
おい自動煽りフラグ立てんなよ

522 :デフォルトの名無しさん:2013/11/18(月) 18:54:26.21
初心者です
下のコードでAのフラグが含まれていなのに、Aが含まれていると判定されてしまいます。
どのように改善すればよろしいでしょうか。お教え願います。
using System;

[Flags]
public enum SampleOptions
{
A = 0x00,
B = 0x01,
C = 0x02,
}

class Program
{
static void Main(string[] args)
{
SampleOptions opt = SampleOptions.B | SampleOptions.C;

if (((opt & SampleOptions.A) == SampleOptions.A) &&
((opt & SampleOptions.C) == SampleOptions.C))
{
Console.Write("AとCのフラグが含まれています。");
}
Console.ReadLine();
}
}

523 :デフォルトの名無しさん:2013/11/18(月) 18:55:01.37
>>522
いやです

524 :デフォルトの名無しさん:2013/11/18(月) 19:00:43.56
>>522
ビット演算の結果を考えてみろ

525 :デフォルトの名無しさん:2013/11/18(月) 19:01:40.37
>>524
コードください

526 :デフォルトの名無しさん:2013/11/18(月) 19:03:14.15
A = 0x01,
B = 0x02,
C = 0x04,

527 :522:2013/11/18(月) 19:04:18.12
そもそもenumの値の設定がダメってことですかね?

528 :デフォルトの名無しさん:2013/11/18(月) 19:10:49.72
>>527
ビット演算というものは
2の累乗の値どうしじゃないとダメなんだよ

529 :デフォルトの名無しさん:2013/11/18(月) 20:16:13.41
日中の喧騒が嘘のような静けさ

530 :デフォルトの名無しさん:2013/11/18(月) 20:24:53.78
Form1.cs以外の別ファイルからフォームのコントロール(例えばtextBox1)にアクセスする方法を伝授してください

531 :デフォルトの名無しさん:2013/11/18(月) 20:29:03.09
Modifiersを変える

532 :デフォルトの名無しさん:2013/11/18(月) 20:29:08.85
>>530
まずそのForm1の参照を入手する

533 :デフォルトの名無しさん:2013/11/18(月) 20:48:43.04
>>531-532
これでtextBox1に関する変更とかキーイベントはTextBox.cs見たいな感じでわけられそうです

534 :デフォルトの名無しさん:2013/11/18(月) 20:51:54.22


535 :デフォルトの名無しさん:2013/11/18(月) 21:22:07.33
partialでやれ

536 :デフォルトの名無しさん:2013/11/18(月) 22:01:00.65
>>535
partialはhttp://minoproject.asablo.jp/blog/2008/09/06/3747904の記事によると
こういう場合はやらないほうがいいと思うんですがなぜですか?

537 :デフォルトの名無しさん:2013/11/18(月) 22:04:01.57
>>536
ココの記事にもかいてありました

http://ufcpp.net/study/csharp/oo_class.html#partial_class

538 :デフォルトの名無しさん:2013/11/18(月) 22:04:45.05
アンカーミス
>>537>>535あて

539 :デフォルトの名無しさん:2013/11/18(月) 22:23:53.66
close()について話しませんか?

540 :デフォルトの名無しさん:2013/11/18(月) 22:26:16.41
話しません

541 :デフォルトの名無しさん:2013/11/18(月) 22:46:39.70
>>536
partialで分けたくなるような場合は設計が悪いからクラス自体を分割しろってこと

542 :デフォルトの名無しさん:2013/11/18(月) 23:10:08.75
componentをcontrolとしてformに登録したいのですが可能でしょうか?

543 :デフォルトの名無しさん:2013/11/19(火) 00:16:51.26
>>541
まあ見通しが悪くてクラスを分割したくなったら
#regionだけでなんとかするのを検討するな
どうしてもと言うなら継承を使って機能を分ける

544 :デフォルトの名無しさん:2013/11/19(火) 00:34:35.04
時代はパーシャル

545 :デフォルトの名無しさん:2013/11/19(火) 00:39:22.60
よっ、発展途上人

546 :デフォルトの名無しさん:2013/11/19(火) 00:47:31.79
C#のunsafeってダブルポインタないですよね?

547 :デフォルトの名無しさん:2013/11/19(火) 00:48:37.49
普通に使えるけど

548 :デフォルトの名無しさん:2013/11/19(火) 00:51:56.19
>>520
重要性なんて関係ないだろ。

どうするの? ⇒ こうすりゃできるだろ。で、終了だよ。

549 :デフォルトの名無しさん:2013/11/19(火) 00:53:49.62
言い返したいお年頃なんだろなー
流せよガキ

550 :デフォルトの名無しさん:2013/11/19(火) 01:02:28.41
intの配列型のプロパティをgetにして読み取り専用にしたはずなのに
別のクラスからそのプロパティの配列の要素に値をセットできます・・・
なぜですか?

551 :デフォルトの名無しさん:2013/11/19(火) 01:04:42.12
配列は参照型だから
ttp://msdn.microsoft.com/ja-jp/library/vstudio/k2604h5s.aspx
これは"クラスライブラリの"ガイドラインだけど、配列をそのまま公開するなって言うのがある

552 :デフォルトの名無しさん:2013/11/19(火) 01:09:47.30
>>551
そうなんですね・・
知らなかったのでそこらへんをもうちょっと勉強してみます
ありがとうございます

553 :デフォルトの名無しさん:2013/11/19(火) 01:10:08.01
面倒だけど必要ならReadOnlyCollection<T>でラップ

554 :デフォルトの名無しさん:2013/11/19(火) 01:55:20.60
そうだよなぁ
参照型だから普通に考えgetにしてもて意味ないよな
あほだった・・・

555 :デフォルトの名無しさん:2013/11/19(火) 06:20:56.04
吠え?

556 :デフォルトの名無しさん:2013/11/19(火) 08:37:16.85
遅くて変更できるプロパティなんていらないということ。全部publicでok

557 :デフォルトの名無しさん:2013/11/19(火) 11:02:42.30
デバッグモードで実行時
コンソールアプリケーションでは
System.IndexOutOfRangeExceptionが発生すると止まりますが
フォームアプリケーションでは
出力ウィンドウにはSystem.IndexOutOfRangeExceptionでるものの
特に止まらないので気づきにくいです

こういうものなのでしょうか?

558 :デフォルトの名無しさん:2013/11/19(火) 11:10:06.95
間違えました
フォームのロードイベントのところに
これが発生する処理を書くと
一応そこで止まりますが
フォーム自体はちゃんと表示されるため
エラーが発生したと気づきにくいです

559 :デフォルトの名無しさん:2013/11/19(火) 12:38:11.23
止まっても気づかないなら爆発するしかねえな

560 :デフォルトの名無しさん:2013/11/19(火) 12:42:17.51
Undefined Symbol:止まる

561 :デフォルトの名無しさん:2013/11/19(火) 12:48:37.20
正しく動いていても忙しくてイベントに応答しなかったら勝手に強制終了させるWindows。

562 :デフォルトの名無しさん:2013/11/19(火) 12:56:30.70
エラーが発生する可能性のある個所には
try-catchを書いておくしかないな

563 :デフォルトの名無しさん:2013/11/19(火) 15:03:12.62
tryなんてやったらどんなことになるか想像もできないからやらない

564 :デフォルトの名無しさん:2013/11/19(火) 15:23:54.24
>>561
つまりプリエンプティブマルチタスクを実現したのは間違いだったんだよ!(バーン

565 :デフォルトの名無しさん:2013/11/19(火) 17:14:54.24
つ Application.ThreadException

566 :デフォルトの名無しさん:2013/11/19(火) 19:11:27.49
>>548
馬鹿だろお前。
何の話をしてるんだ馬鹿。

333がやってたのは「俺の質問に333が答えるゲーム」なのか馬鹿。
違うだろうが馬鹿。

インターフェイスの存在意義の話をしてたんじゃないのか馬鹿。
インターフェイスを使わないと型安全に書くことが困難なケースが存在することは
インターフェイスの存在理由になるんじゃないのかよ馬鹿。

567 :デフォルトの名無しさん:2013/11/19(火) 19:14:08.97
機能の説明の仕方が悪いせいで初めて触れる人には全く有用性が伝わらない
数学の教育にもそういうところありますね

568 :デフォルトの名無しさん:2013/11/19(火) 19:14:18.79
何人釣られるかニヤけながら書いてんじゃねーよ
死ね

569 :デフォルトの名無しさん:2013/11/19(火) 21:05:17.13
DisposeとCloseについて話しませんか?

570 :デフォルトの名無しさん:2013/11/19(火) 21:05:17.06
TabControlの中にTabPageを置きました
タブをクリックするとタブの部分にフォーカスされて点線で囲まれる状態になるのですが
この点線を消したいと思って、フォーカスさせないようにしたらいいと思ったんですが
TabPageのプロパティにはTabStopがないので設定できませんでした
どうしたらこの点線の枠を非表示にできますか?

571 :デフォルトの名無しさん:2013/11/19(火) 21:19:35.44
バイナリ解析してハック

572 :デフォルトの名無しさん:2013/11/19(火) 21:24:49.22
>>570
MSDNのメンバ一覧をよく見たら?
ShowFocusCuesをオーバライドするだけだと思うよ

573 :デフォルトの名無しさん:2013/11/19(火) 21:45:12.89
うう(;_;)オーバーライドしてみたんですがきえませんっ!

574 :デフォルトの名無しさん:2013/11/19(火) 21:55:20.81
や〜い引っかかったwww

575 :デフォルトの名無しさん:2013/11/19(火) 22:17:31.06
オーナードロー

576 :デフォルトの名無しさん:2013/11/19(火) 23:20:15.09
TabPageのOnDrawItemをオーバーライドしてもFocus Cueだけは勝手に描画しやがるなw
妙な動作だな

577 :デフォルトの名無しさん:2013/11/19(火) 23:29:05.74
くっ・・・(>_<) こ、ここの先輩たちでも苦戦することにチャレンジしてるのかorz

578 :デフォルトの名無しさん:2013/11/19(火) 23:31:33.54
ほっといて他をコーディングしたら?
点線とかどうでもいいだろ

579 :デフォルトの名無しさん:2013/11/19(火) 23:34:48.28
SSDにインスコしたらまるでメモ帳のごとく起動してワロタw
こんな高性能なPCだと激重アプリ作っちゃいそうだわww

580 :デフォルトの名無しさん:2013/11/19(火) 23:35:39.91
お呼びじゃないからすっこんでろ田吾作

581 :デフォルトの名無しさん:2013/11/19(火) 23:35:59.77
C# タブコントロール 点線
でぐーぐる先生に質問とかしてみた? 要件次第だけど、一番上に同じような質問ががが。

582 :デフォルトの名無しさん:2013/11/19(火) 23:39:41.99
>>580
無職のおっさん調子乗るなよ

583 :デフォルトの名無しさん:2013/11/20(水) 00:14:48.51
>>577
正攻法と思えないが一応、TabControlのOnDrawItemで

protected override void OnDrawItem(DrawItemEventArgs e)
{
  Action a = () => {タブの描画処理};
  BeginInvoke(a);
}

これでシステム側がフォーカスの四角を描画した後にタブの描画処理を実行できる。
当たり前だけどe.Graphicsはもちろん使えない。

WPFがいいとも思わないけどWindows Formはこういう泥臭いのが欠点だな

584 :デフォルトの名無しさん:2013/11/20(水) 01:28:48.24
>>566
> インターフェイスの存在意義の話をしてたんじゃないのか馬鹿。

>>375 がアホみたいな宿題だしたから、それに答えただけだ、ば〜か (w

585 :デフォルトの名無しさん:2013/11/21(木) 13:46:36.65
画像読み込みを高速化しようとしてたんだけどLockBitsって意外と重いのね
5000x5000ぐらいの画像だとLockBitsだけで1秒ぐらいかかる
せっかくマルチスレッドとかで他の処理を高速化してもLockBitsが時間の半分以上しめてるんだよね
C++だとLockBitsなんてしなくてもすぐ画素にアクセスできるだろうしやっぱこれ以上早くするにはC++でも使わないといけないのかな?

586 :デフォルトの名無しさん:2013/11/21(木) 15:02:26.42
1ピクセルごとしてたらそりゃ重いわな。
一回lockしたら処理終わるまでBitmapData使いまわすんだぞ。
まさか25,000,000個の画像ファイルじゃないよな?

587 :デフォルトの名無しさん:2013/11/21(木) 15:38:52.66
C#でも先頭アドレスだけ取得して、後は連続した画素にアクセスする物なんだが・・・

588 :デフォルトの名無しさん:2013/11/21(木) 15:49:43.50
トランザクション知らないんだな

589 :デフォルトの名無しさん:2013/11/21(木) 15:51:29.21
それは話が全然違う。c#は単にメモリがどんどん移動するから。

590 :デフォルトの名無しさん:2013/11/21(木) 16:00:14.08
>>586,587
一回しかLockBitsしてないよ
でも解像度5000x5000の画像ともなるとたった一回のLockBitsでも結構時間かかるみたいなんだよ
アドレス固定に時間がかかってるとかなのだろうか

BitmapData bd = bmp.LockBits(new Rectangle(0, 0, bmp.Width, bmp.Height), ImageLockMode.ReadOnly, bmp.PixelFormat);
これだけで1秒かかる

591 :デフォルトの名無しさん:2013/11/21(木) 16:09:05.41
スペックがしょぼい

592 :デフォルトの名無しさん:2013/11/21(木) 16:28:01.29
それクライアントにも言えるか?

593 :デフォルトの名無しさん:2013/11/21(木) 16:29:52.81
>>586
25,000,000回のLockBitsが1秒で済むとか、逆にありえねーよ

594 :デフォルトの名無しさん:2013/11/21(木) 16:30:53.83
System.Drawingのクラス群は巨大な画像を想定して作られてないからな。
5000x5000のBitmapが作れただけでも運が良かったと喜ぶべきだろう。

さらに巨大な画像を扱うなら
System.Windows.Media.Imagingへの移行を考えた方がいい。

595 :デフォルトの名無しさん:2013/11/21(木) 16:32:09.62
>>590
DirectXを使って読み込んだら速いよ
時間がかかるのはメモリ領域の確保だからね
より高速なメモリとGPUを使えば速くなる

596 :デフォルトの名無しさん:2013/11/21(木) 16:33:59.75
そんなに時間掛かるか?
  ・OS : WinVista(x86)Ultimate SP2
  ・CPU : Intel Core i5 2500k @3.30GHz
  ・RAM : 4GB (DDR3 SDRAM 2GB * 2)
  ・IDE : Visual C# 2010 Express
  ・ターゲット : .NET Framework 4

static void Main(string[] args)
{
  Stopwatch sw = new Stopwatch(); Bitmap bmp = null; BitmapData bd = null;

  for (int i = 0; i < 5; i++)
  {
    bmp = new Bitmap(5000, 5000);
    sw.Start();
    bd = bmp.LockBits(new Rectangle(0, 0, bmp.Width, bmp.Height), ImageLockMode.ReadOnly, bmp.PixelFormat);
    sw.Stop();

    System.Console.WriteLine(sw.Elapsed);
    sw.Reset();
    bmp.UnlockBits(bd);
  }
}

出力結果
00:00:00.0000474
00:00:00.0000069
00:00:00.0000069
00:00:00.0000069
00:00:00.0000078

597 :デフォルトの名無しさん:2013/11/21(木) 16:40:49.90
読み込んで何をするのかわからないが
表示するだけなら部分的に読み込んで表示する手法が妥当じゃないかな
5000x5000解像度のモニタを使っているのではないだろうし
一度にすべてを読み込む必要はないよね

598 :デフォルトの名無しさん:2013/11/21(木) 16:41:16.06
遅いのはPixelFormatの変換だろうね。
>>596だと変換が入らないので早い。

599 :596:2013/11/21(木) 16:42:30.89
>>598
納得した
確かになあ

600 :デフォルトの名無しさん:2013/11/21(木) 16:44:43.49
>>596
初心者は無理して答えなくていいよ

601 :585:2013/11/21(木) 16:56:28.57
ありがとう
ImagingやDirectXを検討してみるよ

あとよくわかんないけどPixelFormatの変換なんて行われてるのね
LockBitsではbmpと同じPixelFormatを指定してるのに

それとやっぱマルチメディア関係はC++でやるべきなんだろうなぁ…

602 :デフォルトの名無しさん:2013/11/21(木) 16:56:47.81
>>595
うけるw
GPUのメモリをロックとか超遅いんですけどwww

603 :デフォルトの名無しさん:2013/11/21(木) 17:01:47.10
>>601
そっちの環境では>>596のコードでも遅いの?

>>596のコードでも遅いなら

> ImagingやDirectXを検討

でいいと思うけど、
>>596のコードだと早いなら、原因を究明しておかないと、
DirectXやImagingで同じ間違いを繰り返すだけだよ。

604 :デフォルトの名無しさん:2013/11/21(木) 17:05:40.74
結局ゲーム制作とかで色々画像動かすようになるとDirectXに落ち着くんだな

605 :デフォルトの名無しさん:2013/11/21(木) 17:05:42.57
さっさと原因特定しろよ。LockBits一回に1秒もかかるわけないんだから

606 :デフォルトの名無しさん:2013/11/21(木) 17:07:45.84
質問者はまず再現コードを出すべきだったんじゃないかな?

607 :デフォルトの名無しさん:2013/11/21(木) 17:32:06.84
new Rectangle(0, 0, bmp.Width, bmp.Height)
これにどのくらいかかるんだよ?
この時間もLockBitsの時間なのか?

608 :デフォルトの名無しさん:2013/11/21(木) 17:34:24.18
ああ、それは遅くない例だったのか
遅いコードはよ

609 :585:2013/11/21(木) 17:50:52.97
どうやらBitmapのインスタンスの作成方法に問題があるみたい
Bitmap bmp = (Bitmap)Image.FromStream(new FileStream("画像パス", FileMode.Open, FileAccess.Read)), false, false);
だとbmp作成は早いけどLockBitsは遅い
Bitmap bmp = new Bitmap("画像パス");
だとbmp作成は遅いけどLockBitsは0ミリ秒

前者のLockBitsと後者のbmp作成は同じぐらい時間かかってる
Image.FromStreamはnew Bitmapと違って画像データの検証を行ってないから高速らしくて使ってたんだけど、
検証してないbmpをLockBitsするとそのとき検証して時間がかかるって感じなのだろうか

610 :デフォルトの名無しさん:2013/11/21(木) 17:52:48.01
なんで.NETのソースコード読まないの?
中身見てどこに時間かかってるのか調べりゃいいだけじゃん

611 :デフォルトの名無しさん:2013/11/21(木) 18:21:37.00
1秒毎に処理を行おうと思ったんですが
ミリ病ずれます
これは何がげんいんですか?

612 :デフォルトの名無しさん:2013/11/21(木) 19:13:27.93
DisposeとCloseについて話しませんか?

613 :デフォルトの名無しさん:2013/11/21(木) 19:16:10.79
話しません

614 :デフォルトの名無しさん:2013/11/21(木) 19:23:10.68


615 :デフォルトの名無しさん:2013/11/21(木) 19:23:50.01
間違えて送信ボタン押しちゃった

616 :デフォルトの名無しさん:2013/11/21(木) 19:38:26.22
詫びなら肉体で

617 :デフォルトの名無しさん:2013/11/21(木) 19:44:30.99
初心者そっちのけで、中級者、上級者が煽り合うのは、なんとかならんのか

618 :デフォルトの名無しさん:2013/11/21(木) 19:47:43.26
初心者、初心者L2、初心者L3だろ

619 :デフォルトの名無しさん:2013/11/21(木) 20:08:58.52
>>617
初心者を肴に雑談するスレじゃねえの?

620 :デフォルトの名無しさん:2013/11/21(木) 20:52:19.32
このスレに上級者はいないだろww
笑わせんなよwww

621 :デフォルトの名無しさん:2013/11/21(木) 21:21:37.04
結局、碌に切り分けもせずLockBits()のせいにしてただけか。

622 :デフォルトの名無しさん:2013/11/21(木) 22:16:22.98
Typeをキーにしたキャッシュを作る場合、オーソドックスにConcurrentDictionary使う方法@と、static class<T>使う方法Aのメリット・デメリットってどんなもん?

@
public static string GetName<T>(T source) {
 return cache.GetOrAdd(typeof(T), t => t.GetProperties()[0].Name);
}
private static ConcurrentDictionary<Type, string> cache = new ConcurrentDictionary<Type, string>();

A
public static string GetName<T>(T source) {
 return Cache<T>.Name;
}
private static class Cache<T> {
 static Cache {
  Name = typeof(T).GetProperties()[0].Name;
 }
 public static readonly string Name;
}

623 :デフォルトの名無しさん:2013/11/21(木) 22:23:41.45
AはJIT時に静的解決されるから圧倒的にアクセスが速いしメモリも食わない
@は動的にTypeオブジェクトから値を引いてくる必要があるときに使う
本当に>>622のコードだけならAにしない理由はない

624 :デフォルトの名無しさん:2013/11/22(金) 00:50:55.47
なるほど・・
実際に計測してみても、Aの方が圧倒的に早かったわ

625 :デフォルトの名無しさん:2013/11/22(金) 00:53:48.63
本当に>>622のコードだけならAにしない。理由はない。

626 :デフォルトの名無しさん:2013/11/22(金) 01:38:05.75
言語に関してでもないんだが、VSでデバッグするじゃろ?コードが違うわけでもないのにパソコンごと固まるんだよね・・・(´;ω;`)たまにおきるんだけどソリューションが破損するときもあって本当に悩んでる、知ってる人がいれば教えていただきたいです

すでに試したこと
・別のコードの書き方
・再インストール
・リカバリー
・バージョンの変更2012→2013
・別のプロジェクトで制作
よろしくお願いします

627 :デフォルトの名無しさん:2013/11/22(金) 01:51:00.34
パソコンのスペックは?

628 :デフォルトの名無しさん:2013/11/22(金) 04:50:37.84
>>617
ちょっと難しい課題が出るとネタに逃げるんだよな

629 :デフォルトの名無しさん:2013/11/22(金) 08:07:45.95
>>626
そんだけじゃなんともかんとも
特定のライブラリを参照にいれてると起きるとかじゃないの?

630 :デフォルトの名無しさん:2013/11/22(金) 10:32:49.94
ハードが原因だな。

631 :デフォルトの名無しさん:2013/11/22(金) 10:38:34.36
PCが逝かれかけてる説もあるな
メモリテストとかHDDのテストしてみたらいいんじゃないか

632 :デフォルトの名無しさん:2013/11/22(金) 12:05:01.09
クラスをファイルごとに分けるとやっぱりオーバーヘッドは大きくなるものですか?

633 :デフォルトの名無しさん:2013/11/22(金) 12:13:03.45
まあ、多少はね
boooooostしたりはしないけど

634 :デフォルトの名無しさん:2013/11/22(金) 12:17:14.61
なるほど
Form1.csに全部書いたほうが動作が速そうですね
500行ぐらいなら分けなくてもいいですよね

635 :デフォルトの名無しさん:2013/11/22(金) 12:23:35.78
ソースを分けるのか、アセンブリを分けるのか
あと何のオーバーヘッドかによるな
コンパイラなのか、実行速度なのか

636 :デフォルトの名無しさん:2013/11/22(金) 12:25:34.97
VC#でF6押してexeファイルができますよね
それの実行速度です

637 :デフォルトの名無しさん:2013/11/22(金) 12:28:16.54
ミリセカンドとかナノセカンドとかを気にするならそうすればいいけど
可読性を考えたほうが良いと思うよ。

638 :デフォルトの名無しさん:2013/11/22(金) 13:18:46.17
ちょっと上で話題に上がったusingなんですけど
これってCloseだけじゃなくてDisposeも面倒見てくれるって認識であってますか?

639 :デフォルトの名無しさん:2013/11/22(金) 13:23:30.26
usingはCloseの面倒は見ない。Disposeの面倒しか見ない。
Disposeをどう実装するかはクラスの実装者に委ねられている。
Disposeの実装を確認したくないのならusingを使うな。

640 :デフォルトの名無しさん:2013/11/22(金) 13:24:15.36
例えばSQLiteに接続する場合
var connection = new SQLiteConnection("〜");で開いたら閉じないといけませんが
commenction.Closeとcommenction.Disposeの両方が存在しまして
usingを使わない場合、CloseとDispose両方実行しないといけないでしょうか?

641 :デフォルトの名無しさん:2013/11/22(金) 13:26:50.67
やってみれば分かるけど、両方呼ぶとObjectDisposedExceptionがスローされるかもよ♪

642 :デフォルトの名無しさん:2013/11/22(金) 13:35:49.18
データベースを閉じたいときはCloseにして
アプリケーションを終了するときにDispose
というのでOKですか?

643 :デフォルトの名無しさん:2013/11/22(金) 13:59:37.93
だから実装による。実装によるということは実装した人が勝手に決める。
なのでどのデータベースの、どのアプリの、どのバージョンのどのクラスかによって全然違うので答えられない。
実装によるとは逆アセしないかぎり本当のことは分らないということ。

分らないと答えるとアホみたいなので
「実装による」と答えると頭がいいように見えるのでみなそう言うの。

644 :デフォルトの名無しさん:2013/11/22(金) 14:17:02.19
基本的にはusingを使わないのが正解

645 :デフォルトの名無しさん:2013/11/22(金) 14:38:03.21
最初の質問だとusingはDisposeが補償されるってだけだな

CloseとDisposeに関しては実際に実装によるし
似たような質問あるから読んでみれば?
ttp://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1126226831

646 :デフォルトの名無しさん:2013/11/22(金) 16:14:44.29
Disposeが何をするかドキュメントに書いてないライブラリは品質が低い
間違いない

647 :デフォルトの名無しさん:2013/11/22(金) 16:17:59.20
PGなら分ると思う。ドキュメントは最後。

648 :デフォルトの名無しさん:2013/11/22(金) 17:02:08.53
最後だから品質を測るに値するんだろタコ野郎

649 :デフォルトの名無しさん:2013/11/22(金) 17:07:43.25
Disposeが何をするかは聞いて欲しくない

650 :デフォルトの名無しさん:2013/11/22(金) 18:07:14.43
Disposeは何度呼び出してもよいように作るのが「原則」だよね?

651 :デフォルトの名無しさん:2013/11/22(金) 18:38:18.50
OpenFileDialogで存在しないファイルを指定すると
>ファイルが見つかりません。
>ファイル名を確認して再実行してください。
ってメッセージダイアログが表示されますが
大抵のソフトだと「存在しません。新規作成しますか?」って問い合わせしてくれるんですが
これはどうやればいいのでしょうか?

652 :デフォルトの名無しさん:2013/11/22(金) 18:48:12.38
俺もusing使わない派だはw

653 :デフォルトの名無しさん:2013/11/22(金) 18:57:27.22
>>651
ダイアログを自分で作る

654 :デフォルトの名無しさん:2013/11/22(金) 19:16:08.98
>>651
OpenFileDialog.CheckFileExists = false;
に、すればとりあえずOKが返るから、
その後ファイルが存在するかチェックして、無かったら作りますか?って聞く

655 :デフォルトの名無しさん:2013/11/22(金) 20:39:57.94
沢山の助言ありがとうございます
最近ブルスクが頻繁に発生するですよね
このせいかなあ・・・

656 :デフォルトの名無しさん:2013/11/22(金) 20:42:00.39
VSに限らず開発環境はPCに負担掛けるし無茶苦茶に環境汚すからな

657 :デフォルトの名無しさん:2013/11/22(金) 21:09:31.66
Windowsがダメなんじゃないの?
Androidにすればいいのに。
Linuxだから安全だしクリーンだよいろんな意味で。
世界の役にも立てるし。

658 :デフォルトの名無しさん:2013/11/22(金) 21:12:37.37
ハハッナイスジョーク

659 :デフォルトの名無しさん:2013/11/23(土) 00:14:30.72
.net4 での Task の効率的な使い方は、非同期メソッド間を ContinueWith で繋いでいくでOK?

非同期メソッド().ContinueWith(t => {
 同期処理();
 return 非同期メソッド();
}).Unwrap().ContinueWith(t => {
 // 以降同様
})

↓みたいなのはあんまり意味ないよな?
Task.Factory.StartNew(() => {
 非同期メソッド();
 非同期メソッドをwait();
 同期処理();
 非同期メソッド();
 非同期メソッドをwait();
 // 以降同様
});

660 :デフォルトの名無しさん:2013/11/23(土) 00:55:40.65
>>659
後者で十分、前者は過剰じゃね?

前者はこういう使い方ならする。
もっともnet4.5ならasync/awaitを使うが。

var task = Task.Factory.StartNew<int>(() => {
  Thread.Sleep(3000);
  return 999;
 }).ContinueWith((i) => {
textBox1.Text = i.Result.ToString();
 },TaskScheduler.FromCurrentSynchronizationContext());

661 :デフォルトの名無しさん:2013/11/23(土) 02:04:49.42
.NET4.0環境でもMicrosoft.Bcl.Async入れればasync/awaitが使えるみたいだな

662 :デフォルトの名無しさん:2013/11/23(土) 02:52:25.77
こんばんは。
ランダムな文章をつくろうとしているのですが、たとえば「あいうえお」という文字だけで10文字のランダムな文章を生成するにはどのような書き方をすればいいのでしょうか。
現状、string1,string2... と作っていって、乱数生成→switchで割り当て という流れで書いていますが、ソースがとても綺麗とはいえません。
複雑な処理だったらヒントだけでも結構です、よろしくおねがいします。

663 :デフォルトの名無しさん:2013/11/23(土) 03:29:33.01
>>659
前者はひとつのファイルパスを取得する度にパース処理を複数同時に実行する
後者は一度に全ファイルパスを取得してから連続でパース処理をする

後者のほうが速いしPCへの負担も少ない
非同期且つマルチスレッド処理が必要な場面って通常ほとんどないよね
ミクロ的な処理、例えば独自の画像処理アルゴリズムやパースアルゴリズムを
マルチコアを利用して高速処理したいなんて場合しか思い浮かばないけどな

664 :デフォルトの名無しさん:2013/11/23(土) 03:33:20.43
>>662
char[] 文字セット=new char[]{'あ'、'い'、'う'、'え'、'お'};
var r=rnd(5);
return 文字セット[r];

665 :デフォルトの名無しさん:2013/11/23(土) 07:57:10.24
>>660,663
環境はasp.net mvc4のコントローラーがTask<ActionResult>を返す奴で、非同期メソッドはSOAP通信の予定
それでも後者の方がいい?

2012使えるなら使いたかった・・

666 :デフォルトの名無しさん:2013/11/23(土) 08:30:16.90
Controlのオーバーライド出来ないプロパティをシャドウイングしただけなのに
フォームがちゃんとサブクラスのプロパティを使ってくれるのはなぜ?

667 :デフォルトの名無しさん:2013/11/23(土) 11:11:31.61
JSONとYAMLは標準ライブラリで用意されてもいいと思うんですが何故MSはしないのか
こういうのってどこかに議論されてないですか?

668 :デフォルトの名無しさん:2013/11/23(土) 11:21:44.02
TOIBEの言語ランキングの上から10個の中で
その2つのパーサーが標準ライブラリに用意されてる言語の数を数えてみろ

なんでこうマイナーな奴は声がでかいんだろうな

669 :デフォルトの名無しさん:2013/11/23(土) 11:23:09.63
JavaScriptSerializer
YAMLはマイナーで無駄に複雑なので無くて当然

670 :デフォルトの名無しさん:2013/11/23(土) 11:23:26.51
JSONはお前が知らないだけであるよ

671 :デフォルトの名無しさん:2013/11/23(土) 11:29:14.58
YAMLで標準ってRubyしか知らんな
JSONは結構標準サポートありそうだ

672 :デフォルトの名無しさん:2013/11/23(土) 11:29:31.63
YAMLは害悪だからさっさと消えるべき
たかが設定ファイルごときになんであんな複雑なもん使う必用があるんだよ
手書き向きのリッチな言語が欲しかったら中途半端なことするよりいっそスクリプト言語を設定に使うわ

673 :デフォルトの名無しさん:2013/11/23(土) 11:31:46.39
>>667
提案はこちらから可能
http://connect.microsoft.com/

674 :デフォルトの名無しさん:2013/11/23(土) 11:36:30.22
いやJSONはSystem.Web.Script.Serialization.JavaScriptSerializerで使えるからね
YAMLは永遠に無いと思う

675 :デフォルトの名無しさん:2013/11/23(土) 11:42:49.60
そもそも>>667の疑問はMSにぶつけるべきもので
MSが何を考えているか、外からああでもないこうでもないと議論してもナンセンスだろ
作者の心情を答えなさいゲームでもやるのか?
それとも同調票を取りまとめてごり押しを狙ってるのか?

676 :デフォルトの名無しさん:2013/11/23(土) 11:44:49.61
RELAX NGはどうなんかな

677 :デフォルトの名無しさん:2013/11/23(土) 11:54:30.94
一般的なXMLスキーマはMSにとって手書きするものじゃないから、
特に必要性は感じてないだろうね

678 :デフォルトの名無しさん:2013/11/23(土) 13:24:45.32
Nugetしろってことだろ

679 :デフォルトの名無しさん:2013/11/23(土) 13:43:00.26
C#のJSONなんてメモリに全部読み込む仕様じゃん
ファイルサイズの大きいデータを扱うならXMLReader最強説

680 :デフォルトの名無しさん:2013/11/23(土) 13:51:06.66
それなら素直にバイナリを送受信します
単純バカじゃないんで

681 :デフォルトの名無しさん:2013/11/23(土) 13:56:00.72
>>667
YamlDotNetでも使ってろ

682 :デフォルトの名無しさん:2013/11/23(土) 13:56:54.04
大きいって何KB〜MBを想定しているのだろう

683 :デフォルトの名無しさん:2013/11/23(土) 13:57:15.79
2GB超えてからだろ。

684 :デフォルトの名無しさん:2013/11/23(土) 14:08:44.68
100MB越えれば十分大きい
>>683は極端な例

685 :デフォルトの名無しさん:2013/11/23(土) 14:10:44.06
テキストにすると弄る馬鹿がいるからな。バイナリがいい。

686 :デフォルトの名無しさん:2013/11/23(土) 14:10:59.88
100MBをXMLで送るんですか?

687 :デフォルトの名無しさん:2013/11/23(土) 14:13:59.02
>>664
ありがとうございました。

688 :デフォルトの名無しさん:2013/11/23(土) 14:20:12.00
MenuStripにメニューを追加したんですが
メニューが有効でないときに、プロパティのShortcutKeyに設定したショートカットキーを押すと実行されます
メニューが有効じゃなくてもショートカットキーは効いちゃうんですがこういうものなんですか?

689 :デフォルトの名無しさん:2013/11/23(土) 15:12:25.69
100MBのjsonとかxmlはもう設計ミスだろ・・・

690 :デフォルトの名無しさん:2013/11/23(土) 15:24:54.92
>>689
別にそんなことはない。
データモデリング的には容量は絶対的な指標ではなく、かなり優先順位が低い要素になる

691 :デフォルトの名無しさん:2013/11/23(土) 15:25:52.90
MenuStripにドロップダウンに5つサブメニューを追加したんですが
追加する位置を指定する方法ってありませんか?

692 :デフォルトの名無しさん:2013/11/23(土) 15:26:35.99
LinuxでASP動かしたいからmod monoとXSPで格闘してるけどうごかねー・・・
こういう環境設定がダルすぎるからLinux嫌いなんだよなー
俺はプログラミングがしたいんであって鯖の設定なんてどうでもいいんだよ・・・
IISみたいなオールインワンmonoサーバー誰か作ってくれないかな

693 :デフォルトの名無しさん:2013/11/23(土) 15:32:47.86
今なら100M程度なら全然ありだな。
1Gレベルだと優先順位が低い、とは言ってられなくなる。

694 :デフォルトの名無しさん:2013/11/23(土) 15:33:08.19
youやれよ

695 :デフォルトの名無しさん:2013/11/23(土) 15:34:19.80
>>692
諦めてScalaでも使っとけ

696 :デフォルトの名無しさん:2013/11/23(土) 15:36:18.12
開発用のアプリケーションサーバーくらい起動できるようにしろよとは思う

697 :デフォルトの名無しさん:2013/11/23(土) 15:37:05.98
なんでも間でもLinuxでやろうとする奴はダメプログラマ

698 :デフォルトの名無しさん:2013/11/23(土) 15:40:43.16
問題があっても自分で何とかできるのがオープンソースの利点だろ?
手間をかける気がないなら、IISを使えって

699 :デフォルトの名無しさん:2013/11/23(土) 15:48:12.17
オレ、Windows嫌いなんで
プロはLinuxでやるものですから

みたいな初心者的思想なんだろ

700 :デフォルトの名無しさん:2013/11/23(土) 15:52:17.03
違うよw
Windows以外の案件でも.NET、よーするにC#で開発したいからだよ
ネイティブクライアントアプリはLinuxやOS Xで修正無しでそのまま動いたし
XamarinやUnityなんかでWindows以外でも.NETってぜんぜんイケてるじゃない
だったら大嫌いなJava使いたいないんだよ、俺はC#に惚れてんだよ

701 :デフォルトの名無しさん:2013/11/23(土) 15:53:05.02
ライセンスコスト無しでASP.NETが使えるぅ!
お得♪お得♪
ひゃっぽ〜い!!

みたいな初心者的思想かもしれない

702 :デフォルトの名無しさん:2013/11/23(土) 16:03:04.20
>>700
気持ちはわかるんだけど、どんどん自分からコミットしていく位でないと厳しいんじゃないかなぁ?

Xamarinのフォーラムとか見てみなよ。
何でこの程度の事が・・・と思うようなトラブルだらけだから。

それでも、OS X、iOS、Androidはまだいい。
Xamarinが積極的に改善してくれるから。
LinuxはXamarinの利益に結びつかないので、あんたみたいな奴が改善しなきゃ
ずっとそのままだぜ?

703 :デフォルトの名無しさん:2013/11/23(土) 16:03:49.12
俺は・・・・C#に・・・・惚れてるんだ(キリッ


wwwwwwwwwwwwwwwwwwwwwwwwwwww

704 :デフォルトの名無しさん:2013/11/23(土) 16:04:54.12
何でもいいけど幼稚臭い奴多いな。

705 :デフォルトの名無しさん:2013/11/23(土) 16:05:41.58
>>688>>691お願いします

706 :デフォルトの名無しさん:2013/11/23(土) 16:07:53.75
>>688はそういうもの。

>>691は何言ってるのか理解不能。
回答を催促する前に文章を推敲することを少しは覚えるべき。

707 :デフォルトの名無しさん:2013/11/23(土) 16:09:22.66
>>704
そう思うならお前が来なきゃいいだろks

708 :デフォルトの名無しさん:2013/11/23(土) 16:10:23.95
>>706
文章書くの苦手だから推測してくれよ
この程度もわかんねーの?

709 :デフォルトの名無しさん:2013/11/23(土) 16:11:05.92
>>706
理解できないならレスすんなよ

710 :デフォルトの名無しさん:2013/11/23(土) 16:12:00.48
理解できないなら質問すんなよ

711 :デフォルトの名無しさん:2013/11/23(土) 16:13:44.94
5列分のメニュー項目作ったって事だろ

・新規作成
・開く
・保存
・名前を付けて保存
・閉じる

てな感じに
この間に新規二項目作りたいがその位置を指定するにはどうするかを聞きたいだけだと思うが

712 :デフォルトの名無しさん:2013/11/23(土) 16:14:35.39
>>710
スレタイ読めねーのかks

713 :デフォルトの名無しさん:2013/11/23(土) 16:14:37.01
>>706
理解できてもどうせお前の許容範囲を超えてるから

714 :デフォルトの名無しさん:2013/11/23(土) 16:17:59.24
途中にInsetすればいいんだよ。

715 :デフォルトの名無しさん:2013/11/23(土) 16:28:17.46
>>706-714
Insertで出来ました
ありがとうございます
説明不足ですみません

716 :デフォルトの名無しさん:2013/11/23(土) 16:38:30.16
>>713
初心者いじめしている程度のお前に言われたくない

717 :デフォルトの名無しさん:2013/11/23(土) 17:08:21.72
>>711
マニュアル読めよ
コレクション取り出して挿入するだけ

718 :デフォルトの名無しさん:2013/11/23(土) 17:11:29.20
はあ?

719 :デフォルトの名無しさん:2013/11/23(土) 17:12:57.45
>>718
口臭いです

720 :デフォルトの名無しさん:2013/11/23(土) 17:20:58.76
C、C++ユーザーで始めてC#やるんだけど。変数の寿命についておしえてちょ。
private void Form1_Load(.....省略)
{
  DataTable data = new DataTable();
  data.Columns.Add("商品",typeof(string));
  data.Columns.Add("値段",typeof(int));
  cmb商品選択.DataSource = data;    //←cmb商品選択=コンボボックスコントロール
  cmb商品選択.DisplayMember = "商品";
  cmb商品選択.ValueMember = "値段";
}
↑このようにForm1_Loadで処理をした後、同じFormクラス内で
private void CommandButton1_Click(.........省略)
{
  int 値段 = cmb商品選択.SelectedValue as int;
}
↑これで、選択された商品の値段を取得することができます。

質問
Form1_Load()内で、作成したDataTable dataは、ロードされている間はずっと生きてるんですか??それともデータがコピーされているのですか?
例えば、
private void Form1_Load(....省略){  int a = 1;  }

private void CommandButton1_Click(.....省略){  int a = 2;  }
があったとして、
それぞれのint aは、それぞれの関数の処理が終わったら、そこで解放されて値は保証されないのがC言語だったのですが....。
C#の場合は、cmb商品選択はメンバ変数として領域が確保されていますが、DataTable dataはメンバ関数内のローカル変数です。
なのに、データが保証されているのは、cmb商品選択.DataSource = data; で丸々コピーをしているのですか?

721 :デフォルトの名無しさん:2013/11/23(土) 17:25:02.02
ローカル変数はメソッドを抜けるまで
インスタンス変数はオブジェクトが破棄されるまで
静的変数はしらん

722 :デフォルトの名無しさん:2013/11/23(土) 17:27:07.30
>>721
そうすると
cmb商品選択.DataSource = null
or
data = null;
とするまでは、
メモリ上にDataTable dataが生きてるってことですか?

723 :デフォルトの名無しさん:2013/11/23(土) 17:28:33.30
>>720
どうでもいいけどCはともかくC++は未経験者の発言としか思えないw

724 :デフォルトの名無しさん:2013/11/23(土) 17:35:38.77
オブジェクトの生存期間となると
null入れても即開放されるわけじゃないし
可視範囲として認識したほうが良いんじゃないのか

725 :デフォルトの名無しさん:2013/11/23(土) 17:37:21.73
プロではないので、こまけー名前はいいの。
でも寿命は、把握しておかないとあかんでしょ。

726 :デフォルトの名無しさん:2013/11/23(土) 17:37:25.29
ローカル変数は最終使用箇所まで
P/Invokeで使うような用途だとスコープ内でもGCされてる可能性がある

727 :デフォルトの名無しさん:2013/11/23(土) 17:39:26.12
C++とC#はほとんど同じ。

ただC#のデストラクタは欠陥品で使い物にならないということぐらい。

728 :デフォルトの名無しさん:2013/11/23(土) 17:39:44.38
C#にはGCというものがあってだな
通常の変数経由でのアクセスが可能な限りは勝手に解放されることはないので気にする必要はない

729 :デフォルトの名無しさん:2013/11/23(土) 17:40:06.89
>>724
そうすると、実際には、データの保証はないってこと?

Class Fomr1
{
  DataTable data;

  private void Form1_Load(...............)
  {
    data = new DataTable();
    cmb商品選択.DataSource = data;
  }
  private void CommandButton1_Click(..........)
  {
    処理
  }
}

としなきゃいけないってことなの?

730 :デフォルトの名無しさん:2013/11/23(土) 17:40:21.09
C++と違ってローカル変数の参照を返してもいいです

731 :デフォルトの名無しさん:2013/11/23(土) 17:41:54.39
C#にはGCというものがあってだな
通常の変数経由でいらなくなってもなかなか解放してくれないこともあっていろいろ気にする必要がある

using、Dispose()使ったりとか

732 :デフォルトの名無しさん:2013/11/23(土) 17:42:14.74
>>729
cmb商品選択から参照されてるから消えない

733 :デフォルトの名無しさん:2013/11/23(土) 17:42:17.20
C++でもnewでインスタンス作ったならポインタ返しても問題ないよ

734 :デフォルトの名無しさん:2013/11/23(土) 17:42:30.41
面倒くさいなw

そのForm1のインスタンスが破棄されるまでdataは確保されたまんま

735 :デフォルトの名無しさん:2013/11/23(土) 17:42:46.61
>>720 >>729
newはC言語のmallocと同じ。
だからmallocで確保した領域と同じように扱えばいいだけ
違う点は自分でfreeしなくてもGCが自動的に解放してくれること

736 :デフォルトの名無しさん:2013/11/23(土) 17:43:13.19
>>728
>通常の変数経由でのアクセス....


これは、
cmb商品選択.DataSource = data;で紐付けされている間。
という解釈でいいの?
それとも
data.インスタンス変数、data.クラス変数........と書ける範囲(つまり例だとForm1_Load()の中)だけ
という解釈でいいの?

737 :デフォルトの名無しさん:2013/11/23(土) 17:44:26.83
紐付けされている間で且つ、cmb商品選択も生きてる間。

738 :デフォルトの名無しさん:2013/11/23(土) 17:44:27.95
前者です

739 :デフォルトの名無しさん:2013/11/23(土) 17:44:55.67
>>736
参照型変数にはオブジェクトのポインタが入っている
newしたオブジェクト(領域)のポインタがどこかの変数に入ってさえいれば解放されることはない

740 :720:2013/11/23(土) 17:45:18.31
>>723-735
ありがと。
>>736を書いてる間に、新たな疑問も解決のレスがあったようだ・・・。

理解しました。

741 :デフォルトの名無しさん:2013/11/23(土) 17:50:28.50
>>740
こーゆー>>734のように人を上から目線のわりに、全然言語仕様を理解してないやつより>>740は遥かに上位だと思うwww
寿命はしっかりと覚えるのは安定したシステムを作るのに絶対必要だからな 良いことだ

742 :デフォルトの名無しさん:2013/11/23(土) 17:56:17.69
適当な解答ばかりだな
プロセス終了以外では破棄される保証はないだろ

743 :デフォルトの名無しさん:2013/11/23(土) 17:57:03.74
>>735
Cユーザーにはこれが一番わかりやすいだろうな。
てかC#バリバリです!!!なんて言ってるやつで実はわかってないやつは本当に多い。
Dispose()は何のためにあるの???なんてやつが業務システム組んでるかと思うとゾッとする。

744 :デフォルトの名無しさん:2013/11/23(土) 17:58:13.94
>>742
「破棄される保証の質問」じゃねーべな
「値が保証されている期間(寿命)」の質問だべな

745 :デフォルトの名無しさん:2013/11/23(土) 17:58:22.81
ドキュメントや仕様を知ろうとしない人のためにあるものでないことは確かですね>Dispose
アホはおとなしくCloseだのDestroyだのしなさい

746 :デフォルトの名無しさん:2013/11/23(土) 17:58:52.86
>>742
めくらは目のお医者が先だぞ
小学校の方がいいかな

747 :デフォルトの名無しさん:2013/11/23(土) 18:01:17.19
>>745
デストラクタが欠陥品だからDisposeを追加したんだろ。

748 :デフォルトの名無しさん:2013/11/23(土) 18:01:40.43
たびたびすいません
フォームにmenuStripを配置して
親メニュー ファイル(&F) の下に
サブメニュー 開く(&O) を置きました
んでALT+Fでファイル(F)にフォーカスが移動するのは当然なんですが
ALTだけを押してもフォーカスがファイル(F)に移動してしまいます
KeyDownイベントにALT+Aで特定の処理を行いたいのですが、ファイル(F)にフォーカスが映ってしまうのでこまっています

VC#2010とかJane Styleなどメジャーなソフトでは
ALTを押したときはメニューにフォーカスが移動しませんが、ALTを離したらフォーカスが移動するようです
ALTを離すまでに、メニューにないキーと組み合わせることで、メニューにフォーカスがうつらないようなんですが
これはどうやるのでしょうか?

749 :デフォルトの名無しさん:2013/11/23(土) 18:02:11.61
Disposeがデストラクタの代わりになると思っている人がここに一人
別にそんな規定はない

750 :デフォルトの名無しさん:2013/11/23(土) 18:03:22.19
そういう風にプログラムを書けば良い

751 :デフォルトの名無しさん:2013/11/23(土) 18:04:50.82
>>749
0点。

752 :デフォルトの名無しさん:2013/11/23(土) 18:05:17.09
コードぱくるけど

DataTable *p;
private void Form1_Load(.....省略)
{
  DataTable data = new DataTable();
  cmb商品選択.DataSource = data;    //←cmb商品選択=コンボボックスコントロール
  p = &data;
}
private void CommandButton1_Click(.........省略)
{                                  ↓後述の質問用マーク
  cmb商品選択.DataSource = null;    //@
  p++;                            //%
  p--;                            //#
  cmb商品選択.DataSource = p;      //$
  p++;                            //\
  cmb商品選択.DataSource = null;    //&
}
ってことやったら100%の保証がなくなるのはどこ?
@の位置?%の位置?#の位置?$の位置?\の位置?&の位置?
というのを聞かれたことがあって答えられなかったことが昔あった(;_;)

753 :デフォルトの名無しさん:2013/11/23(土) 18:05:44.40
>>751
頭にバグがあるようですな
そちらの欠陥の修復からどうぞ

754 :デフォルトの名無しさん:2013/11/23(土) 18:06:20.78
disposeしようが参照がなくなろうが寿命ではない

755 :デフォルトの名無しさん:2013/11/23(土) 18:06:51.97
>>753
さっさと答えを書けよ、ハゲ。

756 :デフォルトの名無しさん:2013/11/23(土) 18:06:56.73
コードぱくるのはいいけど、C++のつもりなのかこれは

757 :デフォルトの名無しさん:2013/11/23(土) 18:09:06.63
C#じゃこんな風にポインタを使えない

758 :デフォルトの名無しさん:2013/11/23(土) 18:11:32.24
>>752
質問する前にコンパイル通るか確認しようや
な?

759 :デフォルトの名無しさん:2013/11/23(土) 18:11:36.88
>>752
c#ではそういうコードは書けない。
確保したメモリがどんどん移動するのでまずは固定してからじゃないとポインタは取得できない。
固定した場合は固定解除するまでは保持される。

760 :デフォルトの名無しさん:2013/11/23(土) 18:42:04.64
>>748
フォームにこのコードを書く。

protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
&nbsp;if (keyData == (Keys.Alt | Keys.A))
&nbsp;{
&nbsp;&nbsp;Console.WriteLine("alt+A");
&nbsp;&nbsp;return true;
&nbsp;}
&nbsp;return base.ProcessCmdKey(ref msg, keyData);
}

761 :760:2013/11/23(土) 18:44:05.51
訂正

protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if (keyData == (Keys.Alt | Keys.A))
{
Console.WriteLine("alt+A");
return true;
}
return base.ProcessCmdKey(ref msg, keyData);
}

762 :デフォルトの名無しさん:2013/11/23(土) 18:46:26.10
ソース暗号ブームきてんね。

763 :デフォルトの名無しさん:2013/11/23(土) 18:53:41.39
int[,] screen = new int[width, height];

の int[,] ってどういう意味なんでしょうか?

764 :デフォルトの名無しさん:2013/11/23(土) 18:54:25.80
>>760-761
ありがとうございます
定義してないショートカットー気を押してもフォーカスがメニューに行くので
このように改造しました

protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if (keyData == (Keys.Alt | Keys.F))
{
this.ファイルFToolStripMenuItem.ShowDropDown();
return base.ProcessCmdKey(ref msg, keyData);
}
return true;
}

C#ってなんでこういう仕様になっているのでしょうか
不便で仕方ないです

765 :デフォルトの名無しさん:2013/11/23(土) 18:54:41.75
new intの後ろに書いてあるだろ

766 :デフォルトの名無しさん:2013/11/23(土) 18:56:07.56
ただ>>764だとALTだけを押してメニューにフォーカスされないので妥協します

767 :デフォルトの名無しさん:2013/11/23(土) 18:57:46.37
>>764
それだとALT*F4で閉じられなくなっちゃうよ

768 :デフォルトの名無しさん:2013/11/23(土) 18:59:03.68
MENDOKUSEEEEEEEEEEEEEEEE

769 :デフォルトの名無しさん:2013/11/23(土) 19:00:24.45
C#はかゆい所に余計なことをしてくる言語

770 :デフォルトの名無しさん:2013/11/23(土) 19:10:07.02
>>758
ビルダーを拡張してるんだろ
マイクロソフトはいろいろ用意してくれてるから簡単だぞ

771 :デフォルトの名無しさん:2013/11/23(土) 19:30:38.79
XSPやっと動いたわ・・・ほんと開発環境くらいyumで一括インストールさせてくれよ
なんかXamarinも商売っ気出しまくりな割にこの辺ぜんぜんユーザビリティじゃないよな

772 :デフォルトの名無しさん:2013/11/23(土) 19:33:43.58
class Block {
public Point[] sq;
public int color;
public Block(Point[] sq, int color) {this.sq = sq; this.color = color;}

}


これの Point[] とは何なのでしょうか?調べたらpoint構造体というものなのかなと思いましたが、
なにをするものなのかがよくわかりませんでした。


また、{}の中は何をしているのでしょうか?

おそらく初歩的な質問だと思うのですが、この程度の理解度ですと、どこから勉強すべきでしょうか?
ご指摘いただけると幸いです。

773 :デフォルトの名無しさん:2013/11/23(土) 19:36:00.80
配列
コンストラクター

774 :デフォルトの名無しさん:2013/11/23(土) 19:36:15.05
>>772
その程度の理解度だとガチの初心者レベル
つまりC#の一番最初から学ぶべき

775 :デフォルトの名無しさん:2013/11/23(土) 19:38:07.13
>>773
>>774
ご指摘ありがとうございます。
基本から頑張ってみます。

776 :デフォルトの名無しさん:2013/11/23(土) 19:39:23.16
Xamarinって今どの分野狙ってんの?

777 :デフォルトの名無しさん:2013/11/23(土) 19:54:21.63
水虫の薬?

778 :デフォルトの名無しさん:2013/11/23(土) 20:08:18.10
>>776
iOS/Androidアプリの開発環境でしょ
VS使ってコーディングからコンパイルまで出来るのは魅力的だよね
Windows上からOS XとRemoteで直接iOSにデプロイまでできるみたいだし
サブスクリプションの制約と価格は糞だけどな

779 :デフォルトの名無しさん:2013/11/23(土) 20:35:37.53
アプリっても2種類あるじゃん
サーバーサイドかクライアントサイドか
でもASPに力入れてないって発言から察するにクライアントサイドしか見てないんだろうな

780 :デフォルトの名無しさん:2013/11/23(土) 20:45:22.07
>>777
ダマリンをご使用中ですか
そんな奴は家に上げられねえ

781 :デフォルトの名無しさん:2013/11/23(土) 21:48:37.46
金がある奴はIISを使うからね。
XSPは貧乏人しか使わないので、商売にならない。

782 :デフォルトの名無しさん:2013/11/24(日) 00:31:07.69
>>754
アクセスする手段がなくなったらゴミになるだけだろ
実際には死んでいるがメモリーを圧迫しているだけな

783 :デフォルトの名無しさん:2013/11/24(日) 00:41:59.65
まるでお前だね

784 :デフォルトの名無しさん:2013/11/24(日) 01:17:34.12
>>661
async/awaitの為だけに2012買ったのに・・・orz

785 :デフォルトの名無しさん:2013/11/24(日) 01:18:10.51
m9(^Д^)

786 :デフォルトの名無しさん:2013/11/24(日) 01:19:46.62
いやasync/awaitは2012以降でしか使えないぞ
>>661は2012で.NET4.0をターゲットにしているときにasync/awaitを使う方法

787 :デフォルトの名無しさん:2013/11/24(日) 01:24:59.31
VS2010用はAsync CTP Libraryがあるぞ
ただし、更新プログラムの干渉でそのままじゃインストールできず、VSの再インストールが必要になる可能性が高い

788 :デフォルトの名無しさん:2013/11/24(日) 05:35:24.27
間違って>>780の靴で歩いてみたい

789 :デフォルトの名無しさん:2013/11/24(日) 06:23:35.79
想像してワロタ

790 :デフォルトの名無しさん:2013/11/24(日) 09:14:03.74
ガベージコレクションでないC#早く出ないかな

791 :デフォルトの名無しさん:2013/11/24(日) 09:41:41.96
GCは言語仕様なので、それはもうC#mとかそんな何かだな

792 :デフォルトの名無しさん:2013/11/24(日) 09:57:27.25
GCを使わないフレームワークも用意しないと。

793 :デフォルトの名無しさん:2013/11/24(日) 10:54:52.39
必要も無いのにファイナライザを使ってないかい?
ファイナライザのないオブジェクトのGCは遅くないよ。

794 :デフォルトの名無しさん:2013/11/24(日) 11:18:59.70
GCが鬱陶しい時って非同期で2つ以上のスレッド並列化するときくらいかな
C#のI/Oの遅さって何が原因なんだろう、業務システムばかり作ってる奴等ってDBやADOの扱いには長けてるけど
画像一覧表示でImage大量に並べたりするから笑ったわ、あいつら大量のデータ扱う癖に言語のパフォーマンスなんて気にしないんだからw

795 :デフォルトの名無しさん:2013/11/24(日) 11:26:01.23
>>790
Borland C++ Builder かな。
売り方工夫すればもっと流行ってたと思う。

796 :デフォルトの名無しさん:2013/11/24(日) 11:28:44.82
>>794
> 画像一覧表示でImage大量に並べたりするから笑ったわ、あいつら大量のデータ扱う癖に言語のパフォーマンスなんて気にしないんだからw

それ言語のパフォーマンスと言うよりライブラリーとかの方じゃね?

797 :デフォルトの名無しさん:2013/11/24(日) 11:31:12.44
ボーランドは今

798 :デフォルトの名無しさん:2013/11/24(日) 11:39:18.16
業務システムはパフォーマンスよりコードのシンプルさが重要

799 :デフォルトの名無しさん:2013/11/24(日) 11:42:46.20
>>795
DelphiもGCなかったよね?
.NET版のDelphiはどうだったのだろう。

ボーランドはヘジたんの心の中に・・・

800 :デフォルトの名無しさん:2013/11/24(日) 11:55:54.83
>>794
画像一覧表示では画像を一個ずつ表示しますとかにしたらいいん?
そりゃスライドショーやがな

801 :デフォルトの名無しさん:2013/11/24(日) 12:11:22.75
画像を読む際の言語のパフォーマンスってなんだよ
P/Invokeのオーバーヘッドか?

802 :デフォルトの名無しさん:2013/11/24(日) 12:15:44.82
一覧表示する前にまだ表示する必要のない画像まで読み込んで縮小加工してるんだろう。

803 :デフォルトの名無しさん:2013/11/24(日) 12:18:07.83
業務ならそれこそ表示する画像だけDBから引っ張ってくると思うんだけど…

804 :デフォルトの名無しさん:2013/11/24(日) 12:22:32.15
その辺にしとけ
日曜の昼から無粋な突っ込みで>>794の気分を害する権利はお前らにはない

805 :デフォルトの名無しさん:2013/11/24(日) 13:37:32.80
かっこいい・・・

806 :デフォルトの名無しさん:2013/11/24(日) 13:53:44.84
Imageコントロール並べてそこに出力してるってことね
表示形式まで動的に変更するのにダブルバッファリングとか考えてないんだよね
実際に複数Imageに出力するのと単体Imageにオフスクリーンサーフェスで画像処理してから1つのビットマップとして出力した場合パフォーマンスが何倍も違う

807 :デフォルトの名無しさん:2013/11/24(日) 14:00:23.07
業務システムで遅いって言われたら、機械買い替えさせるチャンスなのだよ

808 :デフォルトの名無しさん:2013/11/24(日) 14:05:40.79
Win95の時代じゃあるまいしそんな程度でパフォーマンスの違いなんて出ないと思うけどw

っていうかスクロールが必要になるほど多数の画像の表示が必要になるなら、どっちにしろ
仮想化的な処理が必要になるけどそのあたり分かってるのかね

809 :デフォルトの名無しさん:2013/11/24(日) 14:10:44.35
出るよ、やったことあるの?
1920x1080のJPEG画像を100ms更新した場合
6つのImageコントロールにそれぞれ同時出力した場合と、ダブルバッファリングで1つに出力した場合のパフォーマンスって半端じゃなく違う

810 :デフォルトの名無しさん:2013/11/24(日) 14:13:42.67
それのどこが画像の一覧表示なのか

811 :デフォルトの名無しさん:2013/11/24(日) 14:15:51.42
>>809
素人はあまり知ったような口をきかないほうがいいよ
恥をかくことになる

812 :804:2013/11/24(日) 14:28:34.60
せっかく庇ったのに
馬鹿じゃねえのそのまま死ね

813 :デフォルトの名無しさん:2013/11/24(日) 17:46:54.98
まだ始めたばっかりの頃マップの表示かなにかで、自力で描画するとかわからなくてpicturebox10000個動的に作って並べたことある。
画像なしでインスタンス作成でプログレスバー出すレベルだった

814 :デフォルトの名無しさん:2013/11/24(日) 17:48:00.79
お前だけ適度に改行しないからすぐ分かるな

815 :デフォルトの名無しさん:2013/11/24(日) 17:56:01.22
携帯とかスマホから書いてるとそうなるね

816 :デフォルトの名無しさん:2013/11/24(日) 19:33:06.79
プログラマなら
そのへん
考えようぜ

817 :デフォルトの名無しさん:2013/11/24(日) 19:36:34.81
字余り字足らずがはんぱないな

818 :デフォルトの名無しさん:2013/11/24(日) 19:44:47.10
恥ずかしいやつだな
まったくww

819 :665:2013/11/24(日) 20:32:46.20
質問追加
非同期メソッドって、awaitもしくはContinueWithで繋いでいくものじゃないの?

↓こういうやり方だと同期メソッドと変わらないと思うんだが、考え方間違ってる?
var t = 非同期メソッド();
t.Wait();
継続処理();

※非同期メソッドは、Task<T>を返すメソッド、もしくは、イベントベース非同期メソッドをTask<T>を返すようにラップしたもの
これとか→http://blogs.msdn.com/b/pfxteam/archive/2009/06/19/9791857.aspx

820 :デフォルトの名無しさん:2013/11/24(日) 20:54:58.45
基本的にはそうだけど時と場合によるし…

821 :デフォルトの名無しさん:2013/11/24(日) 21:04:33.49
MDIでMenuStripマージしない方法教えてほしいんだが

822 :デフォルトの名無しさん:2013/11/24(日) 21:09:20.89
マージしないように設定するだけでしょ

823 :デフォルトの名無しさん:2013/11/24(日) 21:15:36.45
そういうプロパティがあったことしか覚えてないからMSDNでも見な

824 :デフォルトの名無しさん:2013/11/25(月) 10:23:13.21
VisualStudioでforeachと打っても、括弧の那珂でインテリセンスが効かないのはなぜですか?
「foreach (」のあとに型以外が来ることがあるのですか?

825 :デフォルトの名無しさん:2013/11/25(月) 11:36:08.89
>>824
艦これでもやってろw

826 :824:2013/11/25(月) 12:19:46.33
タイプミスです。
那珂→中
なんでこんな変換が・・・

827 :デフォルトの名無しさん:2013/11/25(月) 12:30:17.43
効くけど?

828 :デフォルトの名無しさん:2013/11/25(月) 19:36:00.65
(打った段階ではポップアップは出ない Ctrl+SPACE打てば出せる
何か一文字打ったらポップアップが出る

まあ最近はforeachのときはもうvarしか打たなくなったけど

829 :デフォルトの名無しさん:2013/11/25(月) 19:37:49.77
foreachでtabおせばok

830 :デフォルトの名無しさん:2013/11/25(月) 20:28:27.74
private ABC()
{
 DataTable d = new DataTable();
 データテーブルの作成
 DataGridViewコントロール.DataSource = d;
}
ABCが毎秒呼ばれるような場合は、DataTableをDispose()するように変更したほうがいいの?
↓こんなかんじで。

private DataTable d = null;
private ABC()
{
 if(d != null)
 {
   DataGridViewコントロール.DataSource = null;
   d.Dispose();
 }
 d = new DataTable();
 データテーブルの作成
 DataGridViewコントロール.DataSource = d;
}

831 :デフォルトの名無しさん:2013/11/25(月) 20:35:42.11
神経質だな

832 :デフォルトの名無しさん:2013/11/25(月) 20:54:54.54
DataTableなんてちょっと多めにメモリ食ってるだけのマネージオブジェクトだから放置でも問題ない

833 :デフォルトの名無しさん:2013/11/25(月) 21:12:21.33
メモリ管理はGCに頼らず可能な限りPGが管理すべき。
業務で組むならな。

834 :824:2013/11/25(月) 21:16:14.63
>>828
>>829
一応出す方法もあるんですね。次からやってみます。

835 :デフォルトの名無しさん:2013/11/25(月) 21:17:20.43
こう自動GCを止めることは出来ないのかね

836 :デフォルトの名無しさん:2013/11/25(月) 21:23:36.00
仕事でVSを使うとVSの偉大さを痛感する
Mac版も出してMS様

837 :デフォルトの名無しさん:2013/11/25(月) 21:25:23.30
>>833
アンマネージドならね
>>832はマネージドと言っている

838 :デフォルトの名無しさん:2013/11/25(月) 21:37:02.21
駄目な時にはファイナライザスレッドごと固まってどうしようもにい
真面目に考えるだけ無駄

839 :デフォルトの名無しさん:2013/11/26(火) 01:39:00.01
>>835
お前にやらせるよりは自動でやった方がいいってのが時代の流れですね

840 :デフォルトの名無しさん:2013/11/26(火) 01:57:04.76
なんでclose()とdisponse()があるの?

841 :デフォルトの名無しさん:2013/11/26(火) 02:00:01.41
その話はしません

842 :デフォルトの名無しさん:2013/11/26(火) 02:00:07.08
そこはdispenseぐらいボケろよ

843 :デフォルトの名無しさん:2013/11/26(火) 02:03:01.71
>>842
それでボケとかwww
くっさwwwwwwwwwwwwwwwwwwwww

844 :デフォルトの名無しさん:2013/11/26(火) 07:05:37.13
マネージド、アンマネージド
云々のまえに、さらには解放の前に、無駄なオブジェクトを発生させないこと

これが重要だとmsdnに書いてある
まぁ途中までしか読んでないけど

845 :デフォルトの名無しさん:2013/11/26(火) 08:10:51.95
>>840
リソースは保持したまま接続だけは閉じておくとかあるだろ

846 :デフォルトの名無しさん:2013/11/26(火) 08:14:32.08
>>840
「Closeで閉じないと気持ち悪い」と言うメンタル的なものじゃないかな?

847 :デフォルトの名無しさん:2013/11/26(火) 09:24:17.09
open-closeを対応付ける意味を強調するものと
仕組みを作って自動的にdisposeするものというちがいじゃないか

848 :デフォルトの名無しさん:2013/11/26(火) 10:08:08.22
>>845-847
意見分かれすぎだろ

849 :デフォルトの名無しさん:2013/11/26(火) 10:27:52.19
>>833
Disposeで管理できるのはアンマネージドリソースだけで
メモリ回収はあくまでもGCの仕事だぞ
Disposeを呼び出したからといってメモリが開放されるわけじゃない

850 :デフォルトの名無しさん:2013/11/26(火) 10:50:53.21
>>845
接続そのものがリソースなんですけど

851 :デフォルトの名無しさん:2013/11/26(火) 10:53:35.79
>>830
DataSetやDataTableがDisposableなのは、
MarshalByValueComponentのせい
リモーティングでデータセットを通信に使わなければ、
外部リソースは抱えてない

852 :デフォルトの名無しさん:2013/11/26(火) 11:55:14.22
ソケット接続の際に以下のエラーでうまくいきません
全く分からずピンチなのでアドバイスなど頂けたら幸いです。

System.Net.Sockets.SocketException (0x80004005)
ソケットが接続されていないか、
sendto 呼び出しを使ってデータグラム ソケットで送信するときにアドレスが指定されていないため、
データの送受信を要求することは禁じられています。

853 :デフォルトの名無しさん:2013/11/26(火) 12:21:00.14
>System.Net.Sockets.SocketException (0x80004005)
だけじゃ、そこに書いてる以上のことはわからない

udp使ってるの?

854 :デフォルトの名無しさん:2013/11/26(火) 12:46:54.69
ボタンを押したら爆発エフェクトが出るようにしたいんだけどどうやるん?visualstudioでつ

855 :デフォルトの名無しさん:2013/11/26(火) 13:27:55.75
スヌーピーは関係あるの?

856 :デフォルトの名無しさん:2013/11/26(火) 16:52:12.26
やっぱり逆アセに強いのは
C#より圧倒的にJavaだよな

857 :デフォルトの名無しさん:2013/11/26(火) 16:58:32.17
なんで?

858 :デフォルトの名無しさん:2013/11/26(火) 17:04:12.59
中間コードを吐かないから

859 :デフォルトの名無しさん:2013/11/26(火) 17:45:53.14
逆アセ対策なんかしてるの?
どーせ破る気なら破られるんよ

860 :デフォルトの名無しさん:2013/11/26(火) 17:50:00.38
>>859
中国にマネされないように
逆アセ対策は必要だろ

861 :デフォルトの名無しさん:2013/11/26(火) 17:55:55.14
>>860
中国人舐めすぎww

862 :デフォルトの名無しさん:2013/11/26(火) 17:59:22.54
中華なら実行ファイルが出回る前にソース入手してるレベル

863 :デフォルトの名無しさん:2013/11/26(火) 18:06:06.04
コメントは逆アセ不可能だよね?
遊びで変なコメント書くタイプだから
逆アセできたらまずい

864 :デフォルトの名無しさん:2013/11/26(火) 18:07:33.77
コンパイル時に削除されるだろ
ドキュメンテーションコメントは知らんが

865 :デフォルトの名無しさん:2013/11/26(火) 18:13:05.41
誰かドキュメンテーションコメントについても教えてください・・・

866 :デフォルトの名無しさん:2013/11/26(火) 19:04:02.65
>>848
C#にはVBみたいにクラスのメンバーにインターフェイスの別名のメンバー名を
被せて公開する機能がないからしょうがないけど、あまり格好はよくないな。

867 :デフォルトの名無しさん:2013/11/26(火) 19:22:28.55
Disposeの扱いはMS内部でも.NET1.xと2.0の間で
考え方が変わってきた気がする。
using構文が追加になったのは.NET2.0からで、
このへんから自動リソース管理といった側面が強くなって、
NET3.5で決定的になった。

868 :デフォルトの名無しさん:2013/11/26(火) 19:40:37.09
usingはC#1.0からあるよw
VBは2005からだけど

869 :デフォルトの名無しさん:2013/11/26(火) 19:55:40.12
ありゃ、勘違いしてたかorz

870 :デフォルトの名無しさん:2013/11/26(火) 20:17:06.75
マネしようとすればC#もjavaもたいしてかわらんだろ

871 :デフォルトの名無しさん:2013/11/26(火) 21:02:11.60
C#の内部エンコーディングってなんでしょうか?
コンソールアプリとかで普通にコマンドプロンプトに出力できるということはSJIS?

872 :デフォルトの名無しさん:2013/11/26(火) 21:06:57.51
UNICODE リトルエンディアン
入力と出力時に変換している。

873 :デフォルトの名無しさん:2013/11/26(火) 22:15:12.78
>>866
いや明示的実装で隠せばクラスの外から見る限りは実質同じだ
VBやC++/CLIで明示的に別名で実装してもIDisposableにキャストすれば当然Dispose呼べるんだから

874 :デフォルトの名無しさん:2013/11/26(火) 22:23:40.20
C#の場合
ネストが深くなるとしたらswitchとif
どちらの方が速いですか?

875 :デフォルトの名無しさん:2013/11/26(火) 22:27:14.46
☆☆☆☆☆☆ここから想像で語る不毛なスレになります☆☆☆☆☆☆

自分で測定しろカス

876 :デフォルトの名無しさん:2013/11/26(火) 22:34:02.48
>>875
わからないならレスすんなよww

877 :デフォルトの名無しさん:2013/11/26(火) 22:35:23.87
>>874
実データで実行してみて、どの条件が何回に一回ヒットするか調べます
おそらく極端に偏っているはずです
その場合、頻度が高い順にifを並べます
もし偏ってない場合はswitchを使います

878 :デフォルトの名無しさん:2013/11/26(火) 22:40:58.35
>>877
神回答ですね

879 :デフォルトの名無しさん:2013/11/26(火) 22:59:54.34
>>873
だから明示的実装で隠したらIDisposableにキャストしないとDispose呼べなくなっちゃうでしょ?

VBの仕様なら、Closeという同じpublicメソッドにIDisposalbe.Disposeを
割り当てることが出来る。(重要なのは、言語的にIDisposable.Disposeの実態が
Closeであることを保証できること)

880 :874:2013/11/26(火) 23:08:43.37
>>877
頻度が高いもの特定する方法がわかりません
遺伝的アルゴリズムなどで頻度を特定するのでしょうか?

881 :デフォルトの名無しさん:2013/11/26(火) 23:12:47.68
え・・・?

882 :デフォルトの名無しさん:2013/11/26(火) 23:13:25.16
統計による分岐予測はCPUに実装済みです。

883 :デフォルトの名無しさん:2013/11/26(火) 23:15:27.76
>>879
でもDbConnectionは基底クラスのComponentがIDiposableだから
CloseにImplements IDisposable.Disposeは付けられないぞ

884 :デフォルトの名無しさん:2013/11/26(火) 23:18:27.51
Cとか使ってるわけでもないんだし
プログラムの見やすさ >>>> スピード
だろ
分岐が多いのはswitchでそんなに多くないのはifでいい

885 :デフォルトの名無しさん:2013/11/26(火) 23:20:13.16
ifを使わないブームが懐かしいな。

886 :デフォルトの名無しさん:2013/11/26(火) 23:20:27.02
まーたはじまった

887 :デフォルトの名無しさん:2013/11/26(火) 23:21:49.21
流れが速くなるのはマルチスレッド

888 :デフォルトの名無しさん:2013/11/26(火) 23:24:32.52
はいはい死ね

889 :デフォルトの名無しさん:2013/11/26(火) 23:46:07.20
AggregateException.Handle(() => true) でTaskのファイナライザの例外を抑止できるであってる?

エラーが発生したTaskを捨てる場合の話です

890 :デフォルトの名無しさん:2013/11/27(水) 00:54:08.46
どうしてそういう解釈になると思うの?

891 :デフォルトの名無しさん:2013/11/27(水) 00:59:13.97
ILSpyだとコメントも見えるのね

892 :デフォルトの名無しさん:2013/11/27(水) 01:00:50.84
なわけない
そんな情報はアセンブリに残らない

893 :デフォルトの名無しさん:2013/11/27(水) 03:03:26.97
頻度が高い云々というよりswitchはジャンプテーブルつかうから
定数値の比較には必ずswitch使うべきとかじゃないの

894 :デフォルトの名無しさん:2013/11/27(水) 03:34:26.73
つか、時間かけて調査するほどパフォーマンス改善は望めないから
読みやすさとか好みで選択しても構わんでしょ

895 :デフォルトの名無しさん:2013/11/27(水) 03:36:59.07
初心者ほど速度に拘る

896 :デフォルトの名無しさん:2013/11/27(水) 07:02:36.24
そうそう。
C#じゃなくてCでの実例だがだが、、
関数呼び出しを減らして1つの関数が何千行にもなってたりとか、
確かに同じ配列に対する処理ではあるが、for文を減らす為に
色んな異なる機能を1つのループに入れ込んだりとか。
当然それも関数分け無しで。。

897 :デフォルトの名無しさん:2013/11/27(水) 07:06:21.62
>>890
TaskScheduler.UnobservedTaskException でエラーが出なくなったことが根拠なんだが、そういうことがmsdnとかにも載ってないし、どこ見ればいいんだか・・

898 :デフォルトの名無しさん:2013/11/27(水) 07:18:31.63
メモリ管理を意識しない結果、メモリ不足に陥る.NETって欠陥じゃね?

.NETのプログラム4.5本流すとモッサリが始まる。
作りが悪いのは確かだろうが、メモリを潤沢に使いすぎ言語仕様が諸悪の根源な気がする

899 :デフォルトの名無しさん:2013/11/27(水) 07:25:22.46
だからってそんな連中にC++で書かせてもメモリ破壊で動かないプログラムが出来上がるだけだよ

900 :デフォルトの名無しさん:2013/11/27(水) 07:28:10.95
>>898
お前にウンコード書かれるよりマシなんだよ

901 :デフォルトの名無しさん:2013/11/27(水) 07:28:42.43
マシンスペック書かずにンな事言われてもなあ

902 :デフォルトの名無しさん:2013/11/27(水) 07:30:44.63
C++は誰でもMSやGoogleの社員ですら漏れなく
メモリリークやメモリ破壊を発生させまくる言語ですよ?

903 :デフォルトの名無しさん:2013/11/27(水) 07:41:02.34
メモリは使った方がいい

904 :デフォルトの名無しさん:2013/11/27(水) 07:42:55.58
C++だってメモリ管理は極力RAIIに任せるのが普通だろ
あれ安全のために処理効率をけっこう犠牲にしてるんだぞ
それだけ人力メモリ管理は嫌われてるんだ

905 :デフォルトの名無しさん:2013/11/27(水) 08:22:02.46
>>904
処理効率を犠牲にってどこで犠牲になってるの?

906 :デフォルトの名無しさん:2013/11/27(水) 08:30:38.83
メモリ拡張しろよ

907 :デフォルトの名無しさん:2013/11/27(水) 08:39:06.14
Form1枚だけなのに8MB
タスクマネージャーで一覧にされるとちょっと恥ずかしい

908 :デフォルトの名無しさん:2013/11/27(水) 08:43:15.54
>>902
C/C++の学習課題で2本ほどゲーム開発したがリリース時にリークは一件もなかったけどな
リークさせる人ってどこかおかしいのかも
注意力とかが散漫になる障害ってあるじゃん
ああいうの患ってんじゃね?

909 :デフォルトの名無しさん:2013/11/27(水) 08:50:26.00
>>908
規模が小さけりゃ余裕
大規模且つ多人数で開発する様になると、そんな事言っていられなくなる

910 :デフォルトの名無しさん:2013/11/27(水) 10:23:49.69
自己愛性パーソナリティ障害っぽいのがいるな

911 :デフォルトの名無しさん:2013/11/27(水) 10:41:37.50
C#やJavaでも酷いメモリリーク起こしてるプログラムは普通にあるけどな
画像など容量の大きなオブジェクトへの参照が残ったままでGCの対象外になってたり

912 :デフォルトの名無しさん:2013/11/27(水) 11:12:41.64
サーバーサイドでもないのにメモリリーク気にしなくてもいい

913 :デフォルトの名無しさん:2013/11/27(水) 11:15:15.32
>>912
メモリリークを気にしなくていいクライアントアプリケーションって何だ?
ゲームもWebブラウザもメモリリーク起こしたら終わりだが

914 :デフォルトの名無しさん:2013/11/27(水) 11:51:46.84
終わりとかおおげさだなw

915 :デフォルトの名無しさん:2013/11/27(水) 12:11:09.20
>>889,897
Taskでの例外は通常、
Task.Waitやその機能を内包するTask.Resultを使った時点で、
呼び出しもとのスレッドに伝播される。
WaitやResultを呼び出さずに放置された例外は、
TaskのファイナライザでTaskScheduler.UnobservedTaskExceptionを呼び出し、
そこで処理されなかった場合はプロセスを終了する(.NET4.0の動作)

AggregateExceptionをHandleするかどうかは、WaitやResultの後の話なので、
TaskScheduler.UnobservedTaskExceptionの呼び出しには直接は関係ない。

916 :デフォルトの名無しさん:2013/11/27(水) 17:41:25.57
>>898
おおっ!同じこと思ってるやつが居た!
メモリの解放までプログラマがやっぱり管理するべき!という思想で基本的には教え、学ぶべき。
最初からGCがやるから・・・・って習ったやつが作ると、結局、メモリ管理が適当でメモリリーク起こしてる。

どんなに最新のマシンを使っても、.netのプログラムを数本実行するとホントに重さを感じる。

917 :デフォルトの名無しさん:2013/11/27(水) 17:42:43.59
ないわー

918 :デフォルトの名無しさん:2013/11/27(水) 17:46:03.16
GCの解放の仕様やタイミング等々がわかりにくいのが最大の欠点なんだよ

GCの動作仕様の説明があるが、あれはプログラミングにだいぶ慣れた人間しかイメージで理解できない。
GCの動作仕様を理解していないやつが大半で、そいつらが頻繁にメモリリークを引き起こし、
ベテランのプログラマは、どんな言語でもメモリリークの発生はきわめて稀。

919 :デフォルトの名無しさん:2013/11/27(水) 17:50:55.59
>>912
こーゆー考えの人も多いよね
サポ「windowsを再起動してください。」
それで、一時的には速度は戻るけどさ。
でも客を目の前にしてwindowsの再起動〜業務プログラムの起動までって体感時間めちゃくちゃ長いんだよね

920 :デフォルトの名無しさん:2013/11/27(水) 17:56:59.17
>>918
GCの仕様以前の問題の奴も多い
デバッグしてみると不要になったオブジェクトへの参照がいつまでも残ってたりして、GC以前の問題だわって呆れること多い

921 :デフォルトの名無しさん:2013/11/27(水) 18:00:12.73
メモ帳とか電卓とか、ああいうアプリケーションなら気にしなくてもいいが
Webブラウザの様に開きっぱなしにしとくアプリだと、メモリリークは駄目だわな

>>916
>どんなに最新のマシンを使っても、.netのプログラムを数本実行するとホントに重さを感じる
すげー疑問なんだが
その「重さを感じる」のは、そもそもメモリが原因なのか?
(メモリ残量が、動作速度に影響を及ぼす程に圧迫されるのか?)

922 :デフォルトの名無しさん:2013/11/27(水) 18:08:08.43
>>919
○立ソフトは毎回それ言いやがる。どうみてもリソース解法忘れのバグなのに。

923 :デフォルトの名無しさん:2013/11/27(水) 18:25:11.63
検収通せばこっちのもんさw
せいぜい再起動を繰り返してクレタマエ

924 :デフォルトの名無しさん:2013/11/27(水) 18:30:05.89
>>923
この手のバグって検収で見抜くの無理ゲーだろww

925 :デフォルトの名無しさん:2013/11/27(水) 18:31:43.70
詐欺に近い

926 :デフォルトの名無しさん:2013/11/27(水) 18:33:24.14
>>921
俺もこれ知りたい

927 :デフォルトの名無しさん:2013/11/27(水) 19:18:11.36
>>921
さぁ
でも、.NETのプログラムしか起動してないし、
まったく同じ環境(同じ.NETのプログラムは入ってる。)で、.NETのプログラムを起動してない端末は、重くなったりしない。

928 :デフォルトの名無しさん:2013/11/27(水) 19:21:51.75
お も い こ み

929 :デフォルトの名無しさん:2013/11/27(水) 19:22:18.60
お も い こ ま な い
確実に重いの

930 :デフォルトの名無しさん:2013/11/27(水) 19:23:02.01
体重計にでも乗ったのか

931 :デフォルトの名無しさん:2013/11/27(水) 19:24:58.30
重いのがメモリが原因なのかって話じゃないの?

932 :デフォルトの名無しさん:2013/11/27(水) 19:26:34.39
定量性のかけらもない
不毛な話すんの止めろハゲ野郎

933 :デフォルトの名無しさん:2013/11/27(水) 19:26:39.79
>>927
「さぁ」って事ないだろwww
メモリ使用量なんてタスクマネージャでも見れば解るだろうが

934 :デフォルトの名無しさん:2013/11/27(水) 19:28:35.92
おそらくGCが原因だな。メモリ断片化してんだろ。
適当にコード書いてGCに頼りすぎるとそうなる。

935 :デフォルトの名無しさん:2013/11/27(水) 19:32:29.53
当て推量の思い込みか
本当に仕事してんのか

936 :デフォルトの名無しさん:2013/11/27(水) 19:33:29.25
さぁ
今手元にないし確認はできないな。
でも確かに重かったよ。

937 :デフォルトの名無しさん:2013/11/27(水) 19:35:52.96
>>916
少なくともマネージドなメモリ使ってる限り、「リーク」はない
あったらフレームワークのバグ

>>934
単純にメモリが少ないだけだろ
GCに行くまでも無く必要メモリに対して実装メモリがが少ないだけ
GCはあくまで使い終わったメモリを片付けてくれるだけで、必要メモリが減るわけじゃない

938 :デフォルトの名無しさん:2013/11/27(水) 19:38:35.57
じゃあ言い方を変えるよ
不必要に参照を残してしまう

939 :デフォルトの名無しさん:2013/11/27(水) 19:39:07.59
>>937
断片化のサンプルコード。
https://www.simple-talk.com/dotnet/.net-framework/the-dangers-of-the-large-object-heap/

940 :デフォルトの名無しさん:2013/11/27(水) 19:43:31.24
GCは悪くないな

941 :デフォルトの名無しさん:2013/11/27(水) 19:44:11.92
でも万能じゃないよね

942 :デフォルトの名無しさん:2013/11/27(水) 19:50:22.78
まあ、GCがあるからメモリのやりくり気にしないプログラマが増えるってのは真実かもしれんが
そもそもメモリのやりくりにプログラマが気を使わなくて良いようにシステムでメモリ管理するようにした結果がGCなわけで
本末転倒だな

943 :デフォルトの名無しさん:2013/11/27(水) 19:50:25.66
誰か万能とか言ってるのか…?

944 :デフォルトの名無しさん:2013/11/27(水) 19:52:12.11
他の言語でメモリーリークさせる馬鹿がいなければ生まれなかっただろうに

945 :デフォルトの名無しさん:2013/11/27(水) 19:54:02.12
Close()しない馬鹿がいるからな。

946 :デフォルトの名無しさん:2013/11/27(水) 19:54:53.45
人間は怠けたがる生き物だから
自分で開放しなくてもだれかが自動で開放してくれという要望はいずれ出るんじゃね

947 :デフォルトの名無しさん:2013/11/27(水) 19:55:43.11
いつになった自動でプログラム書いてくれるのか。

948 :デフォルトの名無しさん:2013/11/27(水) 19:57:16.22
>>937
> 少なくともマネージドなメモリ使ってる限り、「リーク」はない



> ただしガベージコレクションにおいても、今後使用することのないオブジェクトへのポインタを
> いつまでも保持しているようなコードでは、いつまでもオブジェクトが解放されず、メモリ不足を起こしてしまう。
> これは論理的な設計の問題であり、ガベージコレクションを持つ処理系においてもこの種のメモリリークは発生する。
http://ja.wikipedia.org/wiki/%E3%82%AC%E3%83%99%E3%83%BC%E3%82%B8%E3%82%B3%E3%83%AC%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3

949 :デフォルトの名無しさん:2013/11/27(水) 19:58:50.64
今度は定義の差で泥沼になりますねー
毛が生えてない挙句にジメジメしつこいんだよクソカス

950 :デフォルトの名無しさん:2013/11/27(水) 20:01:43.45
おいおいって感じ…

951 :デフォルトの名無しさん:2013/11/27(水) 20:04:22.98
小うるさいのは最後の断末魔だろうなー
こう猫も杓子もGCGCじゃたまにfreeやdeleteしたくなるよな

952 :デフォルトの名無しさん:2013/11/27(水) 20:06:51.29
>>949
プログラムの終了まで解放されないメモリ領域がメモリリークとみなされるか否か、で泥沼になるのか?

953 :デフォルトの名無しさん:2013/11/27(水) 20:12:01.86
…すでに兆候が見えているがw

954 :デフォルトの名無しさん:2013/11/27(水) 20:13:00.25
>>952
自分への指摘は絶対に認めないマって非常に多いのよ

955 :デフォルトの名無しさん:2013/11/27(水) 20:16:04.52
ファイッ!!

956 :デフォルトの名無しさん:2013/11/27(水) 20:21:09.24
GCは完全ではない。
であれば、GC機能がある言語は「メモリ管理(解放)は考えない。」って教え方は改めるべきな気がする。

メモリ管理はプログラマがやる。でも人間だからミスはする。それはGCが補助して解放する。
さて、掴みっぱなし問題が残る。
これは、
「メモリ管理をする気のないプログラマ」

「メモリ管理までしているプログラマ」
では、発生確率が違ってくると思う。

957 :デフォルトの名無しさん:2013/11/27(水) 20:35:56.02
違うよ
GC自体が邪悪な思想だから
メモリの解放はプログラマが管理するべき

958 :デフォルトの名無しさん:2013/11/27(水) 20:40:43.08
無限ループって怖くね?
プログラマーは無限ループを恐れない?
いやいやいやいやいや

959 :デフォルトの名無しさん:2013/11/27(水) 20:45:21.53
>マネージ コードのメモリ リークについて多くの開発者が
>示す最初の反応は、「そんなはずはない」というものです。
>馬鹿ですね。

http://msdn.microsoft.com/ja-jp/magazine/cc163491.aspx

960 :デフォルトの名無しさん:2013/11/27(水) 20:49:11.88
引用元にない文章を勝手に付け加えるのはやめようや

961 :デフォルトの名無しさん:2013/11/27(水) 20:50:00.79
馬鹿にされた気がしましたか?
それは失礼。

962 :デフォルトの名無しさん:2013/11/27(水) 20:50:57.89
下品だな

963 :デフォルトの名無しさん:2013/11/27(水) 20:54:14.61
お も い こ み は解決したのか?

964 :デフォルトの名無しさん:2013/11/27(水) 20:54:57.14
さっきから俺が書いたレスを、自分が書いたかのようにレスする奴がいるんだが
剽窃やめろや

965 :デフォルトの名無しさん:2013/11/27(水) 20:58:18.88
ああ〜それは俺ですね。
クソくだらない話を止めてくれる気配がないんで、
さっきから両方煽ってるわけですけど、なにか文句でも御座いますでしょうかね?

966 :デフォルトの名無しさん:2013/11/27(水) 20:59:53.63
おまえ俺だったのか…

967 :デフォルトの名無しさん:2013/11/27(水) 21:02:49.87
ID表示はよ

968 :デフォルトの名無しさん:2013/11/27(水) 21:04:24.28
自演っていいな〜

969 :デフォルトの名無しさん:2013/11/27(水) 21:04:49.43
彼らは自演し放題

970 :デフォルトの名無しさん:2013/11/27(水) 21:06:58.71
GCが管理してくれないかね

971 :デフォルトの名無しさん:2013/11/27(水) 21:16:23.87
なんか悲惨だな。

972 :デフォルトの名無しさん:2013/11/27(水) 21:25:16.37
なんやこれ。
読むの面倒だから有用なレスだけ挙げてくれ。

973 :デフォルトの名無しさん:2013/11/27(水) 21:31:12.11
もう次スレ要らないよね (´・ω・`)

974 :デフォルトの名無しさん:2013/11/27(水) 21:42:21.93
一人キチガイが荒らしてるようだ。

975 :デフォルトの名無しさん:2013/11/27(水) 21:57:15.33
まさにgarbage

976 :デフォルトの名無しさん:2013/11/27(水) 22:01:34.05
まあCloseとDisposeとかいう本当にどうでもいい議論よりはマシじゃね

977 :デフォルトの名無しさん:2013/11/27(水) 22:12:27.71
クラス同士の関係が複雑になってオブジェクトのライフサイクルが把握しづらくなると、
巨大なデータを読み込んだオブジェクトへの参照がうっかり残ったままになってメモリリークを起こすことがある。

例えばWebブラウザではタブを閉じたのにタブ内のリソースの一部が解放されないとかね。
タブ内のリソースに対しタブ外からの参照が残ってるとそういうことが起きる。

だからタブが閉じた際に連動して内部のオブジェクトも全て参照が切れるように適切にライフサイクルを構築する必要があり、
そのためにはUMLなどを用いてクラス同士の関係を明確に把握しておく必要がある。

978 :デフォルトの名無しさん:2013/11/27(水) 23:11:54.34
それはまことかねマスオ君

979 :デフォルトの名無しさん:2013/11/27(水) 23:16:22.04
俺まともな仕様書がある現場で働いたことないな
大抵最初にリキいれて作ったけど現状の実装とぜんぜん違う古いドキュメントだったり
ユースケースやERやUMLなんて必要なんですか?
それ読めばなんの説明もなしに顧客が望むソフトウェアが作れるんですか?
夢物語

980 :デフォルトの名無しさん:2013/11/27(水) 23:22:59.84
オープンソースで作ってるFirefoxとかChromeってUMLとか仕様書はあるのかな?
もしないのなら、仕様書なんてなくてもあの程度のソフトウェアが作れるってことだよね

981 :デフォルトの名無しさん:2013/11/27(水) 23:27:54.83
能力次第でしょうねえ

982 :デフォルトの名無しさん:2013/11/27(水) 23:34:16.25
仕様書は絶対必要
ただし仕様書が先行してはいけない
仕様書はかならずコードから生成するのが世界標準

983 :デフォルトの名無しさん:2013/11/27(水) 23:35:37.33
>>980はどうなんですか?
仕様書はなくてもWebブラウザのように巨大なソフトウェアを管理できていますよね?

984 :デフォルトの名無しさん:2013/11/27(水) 23:41:13.28
980はあるのかな?としか言ってないじゃん
ないなんて何を根拠にどこから断定してきたの?

985 :デフォルトの名無しさん:2013/11/27(水) 23:44:31.87
980というレス番は存在します

986 :デフォルトの名無しさん:2013/11/27(水) 23:45:02.60
俺、一部上場の大手の現場に何社も入ったけどさ
現実はウォーターフォールじゃないんですよ
顧客の我が侭で結局望まないアジャイルで仕様変更でイテレーションの連続になっちゃうんですよ
多かれ少なかれそうなるのに時間・お金のコストを多大にかけてまで、他人が読んだらわけわかめな仕様書って作る意味あるんすかね?

987 :デフォルトの名無しさん:2013/11/27(水) 23:51:21.97
意味が分からなくても、仕様書はないと困るなぁ。
だって、顧客がわがままだからと言って作る側への指示もそれをそのまま伝えてくるだけじゃ、こっちが大変じゃん。
試験仕様を作る時にあるのとないのとじゃ大違い。

まあ、後から読んで本当に信用できる仕様書がどのくらいあるの買って聞かれたら、答えに困るけどな。

988 :デフォルトの名無しさん:2013/11/27(水) 23:56:29.22
言質を紙に残すだけだろ
難しく考えるなよw

989 :デフォルトの名無しさん:2013/11/27(水) 23:56:50.82
一人で作れる程度の規模だったら別にいらんけど、
複数人数で作るときに、どういう設計で作るとかの認識を共有する為には必要だよな。

990 :デフォルトの名無しさん:2013/11/28(木) 00:15:13.05
仕様書書く人とプログラム作る人が同じなら後から作ればいいけど
他人にプログラム作らせるのに、仕様書なしで全部口頭で指示するのか

991 :デフォルトの名無しさん:2013/11/28(木) 00:21:26.45
このスレ働いている人あんまいないんじゃ

992 :デフォルトの名無しさん:2013/11/28(木) 00:42:57.86
雑談したいなら相談室でやれ
ここは質問スレだ

993 :デフォルトの名無しさん:2013/11/28(木) 00:44:01.90


994 :デフォルトの名無しさん:2013/11/28(木) 00:49:24.92
カッカすんなよ。

995 :デフォルトの名無しさん:2013/11/28(木) 08:20:54.18
>>990
他人に投げるならインターフェースとユニットテストはコードレベルまで固めて渡す
手間はかかるがやはりこれが1番安心できるね
ちなみに仕様書は混乱の元だから最低限の概要だけ有れば良い

996 :デフォルトの名無しさん:2013/11/28(木) 08:46:44.69


997 :デフォルトの名無しさん:2013/11/28(木) 10:03:30.28
いつの時代も下手くそプログラマのせいで資源不足に陥る

998 :デフォルトの名無しさん:2013/11/28(木) 10:10:38.73
つかメモリだけでなく、処理能力まで奪っていきやがる

999 :デフォルトの名無しさん:2013/11/28(木) 11:24:38.23
不憫やな

1000 :デフォルトの名無しさん:2013/11/28(木) 11:28:25.62
ふらっとVisual C#,C♯,C#(初心者用) Part109
http://toro.2ch.net/test/read.cgi/tech/1385605674/

1001 :1001:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

193 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.02.02 2014/06/23 Mango Mangüé ★
FOX ★ DSO(Dynamic Shared Object)