ふらっとVisual C#,C♯,C#(初心者用) Part102at TECH
ふらっとVisual C#,C♯,C#(初心者用) Part102 - 暇つぶし2ch1:デフォルトの名無しさん
13/02/07 19:09:35.44
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。

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

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

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

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

前スレ
ふらっとVisual C#,C♯,C#(初心者用) Part101
スレリンク(tech板)

関連スレ
C#, C♯, C#相談室 Part78
スレリンク(tech板)

2:デフォルトの名無しさん
13/02/07 19:34:43.04
>>1

3:デフォルトの名無しさん
13/02/07 20:56:19.79
フヒヒ

4:デフォルトの名無しさん
13/02/07 20:58:31.88
XNAが切られてからC#のやる気がでません

5:デフォルトの名無しさん
13/02/07 21:00:23.74
まだ5日じゃねえか
3か月やる気が出なくなったら心配してやるから

6:デフォルトの名無しさん
13/02/08 00:06:20.03
シェーダ2.0だっけ?
いつかそれを使えるPCに買い換えたらXNAやろうと思ってたけど
始まってもいなかった

7:デフォルトの名無しさん
13/02/08 00:47:59.51
>>1
なんだこのテンプレ
確認しないくせに勝手に書き換えんな
なんだよ2行目って

8:デフォルトの名無しさん
13/02/08 01:04:42.44
神経質な奴だなあ

9:デフォルトの名無しさん
13/02/08 08:33:11.00
>>1
おつ

10:デフォルトの名無しさん
13/02/08 09:48:28.69
始める気は最初からなかった癖によく言うわ

11:デフォルトの名無しさん
13/02/08 13:56:20.18
早速質問です。

ListViewの仮想モードで使用しているのですが、
コントロールのサイズを変更したりするとビューの
表示が消えて(見えなくなって)しまいます。
必ず出るわけではないので困っています。

実装方法はRetrieveVirtualItemイベントから
IList<ListViewItem>にアクセスして取得しています。

また、コントロールについてはアンカーを設定しており、
フォームのサイズが変わると併せて変わるようになっています。

ググっても似たような事例がないため手詰まり状態です。
よろしくおねがいします。

12:デフォルトの名無しさん
13/02/08 15:01:49.75
コード晒せ

13:デフォルトの名無しさん
13/02/09 07:35:59.83
(´・ω・`)・・・

14:デフォルトの名無しさん
13/02/09 10:10:55.84
どうせなんかの例外握りつぶしてるんだろ

15:デフォルトの名無しさん
13/02/09 15:09:14.59
xmlで書かれた設定ファイルを読み込む際は
xmldoccumentとxmlreaderのどちらが一般的でしょうか

16:デフォルトの名無しさん
13/02/09 15:10:46.76
どちらでもなくXDocumentが一般的

17:デフォルトの名無しさん
13/02/09 15:12:23.80
>>16
そうなんですか
回答ありがとうございます

18:デフォルトの名無しさん
13/02/09 16:13:37.08
複雑でなければXmlSerializerにしておけ

19:デフォルトの名無しさん
13/02/09 21:10:14.50
XElementしか使わンなあ

20:デフォルトの名無しさん
13/02/09 21:12:22.54
JSONでいいよ
たかが設定ファイルごときに属性にするか要素にするかとか名前空間とか考えんのだるい

21:デフォルトの名無しさん
13/02/09 21:18:15.55
そっすねー
DataContractJsonSerializerなどで

22:デフォルトの名無しさん
13/02/09 21:19:58.05
C#の質問からずれるけど、MCPのC#試験とか受けてる?

23:デフォルトの名無しさん
13/02/09 21:20:09.15
DataContract系は出力が汚いから好きじゃないな。あくまで通信するためのものだと思う。
JSONならサードのライブラリ使ったほうがいい

24:デフォルトの名無しさん
13/02/09 21:27:10.07
そんなこと言ったってなるべく.NET内で完結したいじゃないですかぁー

25:デフォルトの名無しさん
13/02/09 21:34:06.73
前提を無視するのならSettings.settingsでいい

26:デフォルトの名無しさん
13/02/09 21:36:33.83
無視しすぎやw

27:デフォルトの名無しさん
13/02/09 21:42:17.68
>>20
名前空間は一応無視できる

28:デフォルトの名無しさん
13/02/09 21:46:41.22
XmlSerializerNamespacesでしたっけー
生成した段階は空じゃねーのかよオラオラと思うわけですが
なぜかAdd(String.Empty, String.Empty)しないと名前空間空になってくれないんですよね

29:デフォルトの名無しさん
13/02/09 23:01:08.69
>>22
十数個持ってるけどメリットを感じたことはない

30:デフォルトの名無しさん
13/02/09 23:53:37.16
objectの動的配列は、ArrayListとList<object>どっちがいいですか

31:デフォルトの名無しさん
13/02/09 23:56:09.78
ArrayListにはジェネリックインターフェイスが付いてないから不便

32:デフォルトの名無しさん
13/02/09 23:59:37.03
ArrayListの存在は忘れていいよ

33:デフォルトの名無しさん
13/02/10 00:11:20.69
ArrayListは.NET1.xに咲いた徒花だよ。

34:デフォルトの名無しさん
13/02/10 00:43:12.74
ArrayListとか互換性のために残ってるようなもの

35:デフォルトの名無しさん
13/02/10 00:55:53.95
Listってリサイズがないのが不便なんだけどみんなどうしてんの?
forで地道にAdd?
それとも空要素を返すEnumeratorでAddRange?

36:デフォルトの名無しさん
13/02/10 02:32:59.21
数決めて使うなら配列でいいだろ
JavaやC++の配列と違ってコレクションのインターフェースと互換性があるから不便じゃないし
後でどうしてもサイズ変えたくなったらArray.Resizeもある

37:デフォルトの名無しさん
13/02/10 02:45:47.51
>>35
意味あるかどうか知らないがこんなのは?
var x = new List<int>(new int[100]);

38:デフォルトの名無しさん
13/02/10 02:58:06.15
ヘルプ。
途方もないコードのデバック途中で寝たくなったときってどうしてる?
今、言ったん寝て昼から同じ所スタートでデバックし直したいんだけど…

39:デフォルトの名無しさん
13/02/10 03:01:02.26
ブレークしとけ

40:デフォルトの名無しさん
13/02/10 03:02:04.53
>>38
PC付けたまま寝るしかないんですかね…

41:デフォルトの名無しさん
13/02/10 03:02:11.67
そんなアンケートみたいなの聞いてヘルプになるのか?
眠けりゃ寝ればいいじゃないのよ

42:デフォルトの名無しさん
13/02/10 03:05:40.19
>>41
そういう使い方がないのかなと思ったのですが
アンケートでしたか申し訳ございませんでした

43:デフォルトの名無しさん
13/02/10 03:05:45.24
とりあえず保存してスリープか、休止状態にしておく。
起きた時に思い出せるように編集画面を出しておく。

44:デフォルトの名無しさん
13/02/10 03:13:14.50
>>42
すまん、眠いときに寝るかどうかを聞いてるのかと思ったよ
作業の中断/再開の話だったのね

45:デフォルトの名無しさん
13/02/10 04:36:07.63
くだらんことでマルチしてる暇あるなら寝ろ

46:デフォルトの名無しさん
13/02/10 06:22:01.28
>>36
Array.Resizeは必ず再確保じゃん
役に立たないよ

47:デフォルトの名無しさん
13/02/10 06:40:14.80
それは君が無能だから

48:デフォルトの名無しさん
13/02/10 10:07:30.27
JavaだとErlangとかscalaとかjavaで作られた言語?があるじゃないですか
C#で作られた言語ってありませんか?

49:デフォルトの名無しさん
13/02/10 10:10:34.45
あるけど、あったら何なの?

50:デフォルトの名無しさん
13/02/10 10:16:38.89
あるなら書けよゆとり

51:デフォルトの名無しさん
13/02/10 11:06:33.23
D言語

52:デフォルトの名無しさん
13/02/10 11:54:22.54
>>48
C#で書かれたコンパイラという意味ならIron*、Boo、C#(Mono,Roslyn)、PHP(Phalander)等々
ちなみにScalaはJavaではなくブートストラップだ

53:デフォルトの名無しさん
13/02/10 12:01:16.58
言語じゃないけどC#で書かれたJVMなんてのもあるぞ

54:デフォルトの名無しさん
13/02/11 00:17:19.81
DataGridViewコントロールで、このようなデザインを実現したいのですが
空行を追加せずに、余った背景を行同様のパターンで埋めてくれるプロパティってありますか

行を追加せずに、余った背景を行同様のパターンで埋めてくれるプロパティってありますか?
やはり、空行を追加してコントロールするしかないのでしょうか?

目的としてるデザインはこんな感じです。

55:デフォルトの名無しさん
13/02/11 00:18:09.39
打ってる途中で送ってしまった。。。

DataGridViewコントロールで、このようなデザインを実現したいのですが
空行を追加せずに、余った背景を行同様のパターンで埋めてくれるプロパティってありますか?
目的としてるデザインはこんな感じです。
URLリンク(www.dotup.org)

56:デフォルトの名無しさん
13/02/11 02:25:23.36
イベントの追加・削除はスレッドセーフですか?

あと、イベントを持つクラスのインスタンスを使用しなくなったら、イベントをすべて空にしないと、
そのインスタンスのメモリ領域は一生回収されないような気がするんですが、合ってますか?

57:デフォルトの名無しさん
13/02/11 02:34:09.35
>>56
スレッドセーフ。

合ってない。GC対象になる。

58:デフォルトの名無しさん
13/02/11 11:20:35.86
ジェネリックのwhereで値型だけってどうやるんですか?
+-*/とかが使えるもの全部を対象にしたいのですが

59:デフォルトの名無しさん
13/02/11 11:22:46.47
struct制約はあるが、演算子縛りは無理

60:デフォルトの名無しさん
13/02/11 11:23:14.51
FAQだけど不可能
遅くてもいいならdynamic使え

61:デフォルトの名無しさん
13/02/11 11:24:48.98
そうなんですか
ありがとうございます

62:デフォルトの名無しさん
13/02/11 11:25:43.64
Expression TreeやDynamicMethodを使う方法もあるが、型ごとに普通に書いた方が早いという

63:デフォルトの名無しさん
13/02/11 11:50:43.02
ListViewってピクセル単位でスクロールって可能でしょうか?
どうも行単位しかできなくて困ってます。

64:デフォルトの名無しさん
13/02/11 12:06:51.81
>>55
無いよーん

65:デフォルトの名無しさん
13/02/11 12:40:32.42
MFCはCListCtrl::Scroll使えばできるんだけどな
.NETはScrollControlIntoViewがスクロールの機能をカプセル化して行単位にしているようだ
PInvokeでやれるのかもしれないが、正しく動作するという保証はできないな

66:デフォルトの名無しさん
13/02/11 12:50:20.43
少し訂正する
ListViewはScrollableControlからの派生クラスではないんだな
ScrollableControlと同じIFになるようにAutoXXXのプロパティが定義されているだけだ
スクロールを行単位にする操作はListViewクラスの中でやっていると思われる

67:デフォルトの名無しさん
13/02/11 13:35:34.84
Javaもできる人に質問です
C#とJavaはどっちが覚える事が多いですか?

68:デフォルトの名無しさん
13/02/11 13:38:13.02
似てるから、両方やってると後からやった方は軽く感じてしまいそうだな

69:デフォルトの名無しさん
13/02/11 13:41:34.99
c#のほうが多いに決まってるじゃん。
サーバサイドからデスクトップ、ゲームまでなんでもできるんだから。

70:デフォルトの名無しさん
13/02/11 13:43:50.52
そういうところも含むのか?単に言語仕様の話だと思った

71:デフォルトの名無しさん
13/02/11 13:46:59.88
言語仕様としてはC#の方が多いと思うが
そんな事気にしてるようじゃまともなプログラマになんかなれんぞ
両方覚えるくらいじゃないと

72:デフォルトの名無しさん
13/02/11 13:50:22.78
いやJavaは勉強しないほうがいい。ハゲても責任取れんぞ。

73:デフォルトの名無しさん
13/02/11 13:50:59.74
C#はIDEすら言語仕様に含める事が多いよ
実際各コードジェネレーターが無いとC#開発は成立しないしね

74:デフォルトの名無しさん
13/02/11 13:52:21.88
既にハゲだから無問題

75:デフォルトの名無しさん
13/02/11 13:57:41.61
JAVAはOSSと組み合わせてどうこうって言うのが面倒
選定から使い方、ライセンス等々
C#は全て包含しているのでMS教に入信すれば幸せになれるよ

76:デフォルトの名無しさん
13/02/11 16:02:52.45
いままでJAVAなんて見向きもしなかったが
AndroidってJAVAなんだよね?
少しこころがうごごく

77:デフォルトの名無しさん
13/02/11 16:09:03.68
なら先にJavaやれ。その方が書籍とか多くて勉強しやすいし変なVB上がり文化に汚染されずに済む。
ただしJavaはいわゆる普通にイメージするようなPCのアプリには使い物にならんから
C#も両方やるべき。言語なんか複数使えて当たり前だ。

78:デフォルトの名無しさん
13/02/11 16:10:26.02
Windows PhoneはC#
AndroidはJava
iPhoneはObjective-C
3つ出来れば困らない。

79:デフォルトの名無しさん
13/02/11 16:19:25.96
言語なんてまず2つマスターすればあとは特に勉強しなくてもなんとなく使えるよ
Java/C#のどちらか一方とPHP/Perl/Python/Rubyのどれか一つを覚えるのがいい

80:デフォルトの名無しさん
13/02/11 16:19:40.17
>>78
全部monoのC#で解決。

xboxもプレステもWiiもmono。
ここまで来るとヤバ過ぎ。

81:デフォルトの名無しさん
13/02/11 17:54:35.54
C#の公式ドキュメントから必要なものを探すやり方を教えてください
たとえば、コマンドプロンプトの中央に赤文字で「Hello World」って表示したい場合、どのようにしてMSDNからこれを実現するための情報にたどっていけばいいのでしょうか?

82:デフォルトの名無しさん
13/02/11 18:03:09.50
コマンドプロンプトの中央か・・・
結構難題きたなw

83:デフォルトの名無しさん
13/02/11 18:06:23.70
コマンドプロンプトの中央となると
コンソール制御用Win32APIを使わないとだめなんじゃ
URLリンク(msdn.microsoft.com)

84:デフォルトの名無しさん
13/02/11 18:07:56.06
赤文字もそうだが、完全に環境依存というかC#でなくWin32APIの項目を調べた方がいい
あとはDllImport

85:デフォルトの名無しさん
13/02/11 18:12:38.37
Cosole見てたらいけそうだけどね
少なくとも赤文字は

86:デフォルトの名無しさん
13/02/11 18:15:37.13
赤文字はエスケープかな
どちらにしろC#の項目を調べてもダメな気が

87:デフォルトの名無しさん
13/02/11 18:18:16.52
文字の色と背景色ならC#だけでいけるはず。
真ん中となると、コンソールの1行の文字数をどうにかしてとって…みたいになるのか?

88:デフォルトの名無しさん
13/02/11 18:18:24.66
いやいやいやwin32api使わないだろ

89:81
13/02/11 18:19:53.07
文字列の開始位置は (一行の長さ + 文字列の長さ ) / 2
その他は半角スペースで埋める
これでいけますよ

90:デフォルトの名無しさん
13/02/11 18:22:36.63
エスケープ??Console.ForegroundColorで赤にしたらいいんでしょ?

91:デフォルトの名無しさん
13/02/11 18:27:57.97
くっそ、ググって出てきたMSDNはv1.1のだったw
確かにあるわすまん

92:デフォルトの名無しさん
13/02/11 19:45:23.26
プロパティにするかメソッドにするかって、なにか基準があるんですか?
例えばGetHashCode, GetType, ToStringなんかは、プロパティでもいいじゃんと思うんですが

93:デフォルトの名無しさん
13/02/11 19:48:44.69
明確な基準は無いが
比較的処理の軽いものか
変数的に扱った方が直感的だったり利便性が高かったりするものに
プロパティを使う傾向がある

94:デフォルトの名無しさん
13/02/11 19:50:44.74
GetHashCodeもToStringも重くなりうる処理だし、ToStringにはオーバーロードがある

95:デフォルトの名無しさん
13/02/11 19:53:13.88
逆にTypeをプロパティにすることは特に異論無いな
していいと思う



互換性の問題が無ければ

96:デフォルトの名無しさん
13/02/11 19:55:10.06
GetHashCodeやToStringはオブジェクトに付随する属性というよりは
オブジェクトそのものを別の形に変換するという意味合いが強いしな
そういうのはメソッドの方が好まれる傾向がある
あとプロパティをオーバーライドするのはあまり好まれない
GetTypeはプロパティでもいい気はする

97:デフォルトの名無しさん
13/02/11 19:57:03.63
GetTypeは本当なんで関数なんだろうか
リフレクションの都合?

98:デフォルトの名無しさん
13/02/11 19:57:10.73
どっちでもいいならメソッド
呼ばなきゃ絶対使用されないメソッドのほうが管理が楽

99:デフォルトの名無しさん
13/02/11 19:58:56.51
プロパティはデザイナ絡むといろいろめんどくさい

100:デフォルトの名無しさん
13/02/11 19:59:01.68
>>97
v1からあって消すのが難しい関数だからでしょ
そりゃ

101:デフォルトの名無しさん
13/02/11 20:00:33.69
プロパティをサポートしてない言語もある

102:デフォルトの名無しさん
13/02/11 20:02:35.41
確かにGetPropertiesでTypeが出てきたらウザいな。C#のコンセプトを考えるとそれが一番の理由かも。
プロパティは目立つし。

103:デフォルトの名無しさん
13/02/11 20:20:32.23
UserControlにApplication.Idle書いた馬鹿死ねよ
何事かと思ったぜ

104:デフォルトの名無しさん
13/02/11 20:23:20.80
俺だ

105:デフォルトの名無しさん
13/02/11 20:31:05.22
俺、俺、俺だよ、俺

106:デフォルトの名無しさん
13/02/11 21:02:39.34
ToStringとかGetHashCodeがプロパティだったら、
やたらとうざいことになるとおもう

107:デフォルトの名無しさん
13/02/11 21:04:11.66
プロパティだとセットできるの?みたいな瞬間があるので
その分無駄だよぬ

108:デフォルトの名無しさん
13/02/11 21:06:04.54
ToStringは変換処理なので
プロパティというイメージではないな

Get/Set の名前が付くメソッドは
プロパティにする事を検討してもいい

109:デフォルトの名無しさん
13/02/11 21:49:52.02
DBアクセスについては、意外なほど別スレッドでの処理のサンプルがないのですが、
アプリケーションで、DBアクセスするときは、UIスレッド以外に投げるのが定石ですよね?

WaitCallback act = (object) =>
{
    var conn = new SqlConnection();
    var command = new SqlCommand();
    var adapter = new SqlDataAdapter();
    var ds = new DataSet();
    conn.ConnectionString = "ぬるぽ";

    command.Connection = conn;
    command.CommandText = "ガット";

    adapter.SelectCommand = command;
    adapter.Fill(ds);
}

ThreadPool.QueueUserWorkItem(act);


こんなかんじで
戻り値の戻し方はともかく

110:デフォルトの名無しさん
13/02/11 21:53:47.28
俺はSynchronizationContext派

111:デフォルトの名無しさん
13/02/12 00:09:36.09
ネットワーク上のファイルを表示する方法を教えてください

112:デフォルトの名無しさん
13/02/12 00:11:20.02
>>111
WebClient

113:デフォルトの名無しさん
13/02/12 03:59:20.44
ASP.NET用のGUIエディタってないのかね…
htmlエディタ流用するのが普通なの?

114:デフォルトの名無しさん
13/02/12 11:01:11.11
>>113
Visual Studioって使ったことありますか?
タダじゃないやつね

115:デフォルトの名無しさん
13/02/12 11:15:17.18
タダのやつでもできるぞ

116:111
13/02/12 11:18:49.94
すいまえん質問の仕方が悪かったです
string[] files = Directory.GetFiles("c:\\");
でファイルが表示されるじゃないですか
これ、ネットワーク上のファイルを表示したかったんですが表示できませんでした
ネットワーク上には3個のファイルがあるので
a.txt
b.txt
c.txt
って表示できるように変数に入れたいんです

117:デフォルトの名無しさん
13/02/12 11:20:05.68
string[] files = Directory.GetFiles(@"\\hoge-pc\c$");
でおk

118:デフォルトの名無しさん
13/02/12 11:25:22.49
ネットワーク上ってどこ?

119:デフォルトの名無しさん
13/02/12 11:44:32.72
>>117
すいませんこれでできましたありがとうございます
すいません最後の$ってなんですか?
>>118
windowsからlinuxのやつです

120:デフォルトの名無しさん
13/02/12 11:45:56.51
通信のプロトコルは?
質問の意味が分からないなら諦めてね

121:デフォルトの名無しさん
13/02/12 11:59:37.38
>string[] files = Directory.GetFiles("c:\\");
>でファイルが表示されるじゃないですか

って言ってるんだからSMBなんだろ

122:デフォルトの名無しさん
13/02/12 12:35:45.41
そう思うのはやっぱ質問者と同レベルだから?

123:デフォルトの名無しさん
13/02/12 13:16:08.25
>通信のプロトコルは?

だっておwwwwww

124:デフォルトの名無しさん
13/02/12 13:25:25.10
ふらっとスレでそれはないわな
質問者を罵倒して憂さを晴らしたいのが見え見えで寒い

125:デフォルトの名無しさん
13/02/12 13:25:56.88
エスパー以外は帰ってください

126:デフォルトの名無しさん
13/02/12 13:36:26.75
>>114
あのhtmlみたいなのチマチマ書き込むんじゃなくてFormとかみたいに作りたいんだけれど、ああいうのもあるの…?

127:デフォルトの名無しさん
13/02/12 13:44:20.63
クロスワードが作りたいんですが文字が入力できるやつって何ってコントロールでできますか?

128:デフォルトの名無しさん
13/02/12 13:56:02.03
TextBox

129:デフォルトの名無しさん
13/02/12 13:58:37.08
>>126
Visual Web Developerかな?
URLリンク(ascii.jp)

130:デフォルトの名無しさん
13/02/12 14:18:47.70
>>128
TextBoxでやりたいとおもいます
今やってみたんですがVC#2010 Expressを立ち上げてデザイナで配置してみたんですが
配置したTextBoxごとにサイズが同じにしたり綺麗に配置できませんでした
これは私のマウスの使い方が足りなくて、今までマウスで修行をしてこなかったのが原因です
これを3x3で綺麗に並べる方法ってありませんか

131:デフォルトの名無しさん
13/02/12 14:22:32.62
ツールバーに大きさを揃えるとかいろいろボタンがあるっしょ

132:デフォルトの名無しさん
13/02/12 14:23:48.07
TableLayoutPanel

133:デフォルトの名無しさん
13/02/12 16:50:53.64
プロパティウィンドウに数字入力

134:デフォルトの名無しさん
13/02/12 16:57:00.85
>>126
だからEXPRESSじゃないVisual Studio使ってみろ
EXPRESSならVisual Web Developerかな、2012はしらんが

135:デフォルトの名無しさん
13/02/12 20:40:02.50
あるクラスのインスタンスを複数個作成した場合はそのクラスのメンバ変数用のメモリ領域も複数個作成されると思うんですがメンバメソッドもそうなのでしょうか?
だとしたら複数個インスタンスを作成されるであろうクラスにはメソッドを作らない方が良さそうですがどうなんでしょうか?
流石にメソッドは一つ分のメモリしか消費しないですよね?

136:デフォルトの名無しさん
13/02/12 20:42:24.32
気にしても仕方ない量にしかならないけど
クラスにつき一つだよ 第0引数にthisをこっそり渡してる

137:デフォルトの名無しさん
13/02/12 20:43:25.15
仮想メソッドを持ってる場合その数のポインタができる
メソッドのコード領域は確かに一つしか存在しないが

138:デフォルトの名無しさん
13/02/12 20:55:39.97
なんか誤解されそうだ
仮想メソッドの話もクラス一つにつきね
インスタンスごとに、じゃない

139:デフォルトの名無しさん
13/02/12 20:58:29.27
C++なら仮想関数テーブルへのポインタを隠しメンバとして持つ
仮想関数がいくら増えようが、ポインタ1個分しかサイズは増えない

C#でも似たような事をやってるかもしれないし、
別の方法を取ってるかもしれないが、
とにかくその数のポインタを全部ベタで隠しメンバに持つという事はあり得ない

140:デフォルトの名無しさん
13/02/12 21:04:08.60
回答としては、質問のような話は気にしなくてよい
それよりはクロージャーの変数お漏らしの可能性の方が高い

141:135
13/02/12 21:34:41.20
ありがとうございます
やはり一つ分の領域+インスタンスの個数分の参照という感じでしたか
インスタンスを作成する個数は気にせずにメソッドを実装することにします

142:デフォルトの名無しさん
13/02/12 23:48:17.25
<?xml version="1.0" encoding="utf-8"?>
<root>
<Data>
<Point X="A" Y="B" />
<Point X="C" Y="D" />
</Data>
<Data>
<Point X="E" Y="F" />
<Point X="G" Y="H" />
</Data>
</root>

上記のような内容のxmlを読み込んで、各DataごとにPointクラスのリスト(List<Point>)を作成し、そのリスト(List<List<Point>>)を出力したいです。
どのように記述したらいいのでしょうか。
全体をXElementとして読み込むところまではできたのですが、その先がわからず・・・
どなたか教えていただけないでしょうか。

143:デフォルトの名無しさん
13/02/13 00:19:22.19
こんなところかい

using System;
using System.Linq;
using System.Drawing;
using System.Xml.Linq;

public class Test
{
public static void Main(string[] args)
{
var root = XElement.Load("test.xml");
var data = (from datum in root.Elements("Data")
select (from point in datum.Elements("Point")
select new Point((int)point.Attribute("X"),
(int)point.Attribute("Y"))
).ToList()).ToList();

foreach (var points in data) {
Console.WriteLine("---");
foreach (var pt in points) {
Console.WriteLine("({0}, {1})", pt.X, pt.Y);
}
}
}
}

144:デフォルトの名無しさん
13/02/13 00:28:47.94
Windows FormでlistBoxを使うのですが、1番最初に入ってる物は0、2番目に入ってるものは1、と
配列のインデックス?を標準したいのですが、どうすればいいですか?

145:デフォルトの名無しさん
13/02/13 00:38:56.24
>>129
おー、ありがとう!すっげー助かったよ!
>>134
2012 Expressでもいけたよー、ありがとー

146:デフォルトの名無しさん
13/02/13 03:09:53.55
>>144
「標準する」ってどこの方言だ
誤字のような気もするから、もう一度落ち着いて質問しろ
表示したいのは配列のインデックスなのか?配列の中身じゃないのか?そこもハッキリさせろ
そもそも区別が付いてないならググッてこい

147:デフォルトの名無しさん
13/02/13 05:39:54.09
配列のインデックスは基本ゼロスタートだよね。

148:デフォルトの名無しさん
13/02/13 05:48:05.05
ゼロオリジンな

149:デフォルトの名無しさん
13/02/13 06:49:26.85
.NETではzero-basedが正しい

150:デフォルトの名無しさん
13/02/13 07:15:42.29
オリジン弁当食いたい

151:デフォルトの名無しさん
13/02/13 07:25:08.25
普通にインデックスをそのままつっこめばいいんじゃないのか

152:デフォルトの名無しさん
13/02/13 08:21:47.06
>>143
できました、ありがとうございます!
ToList()という便利なメソッドがあったのですね。
これを見つけられず、1人で数時間悩んでいました・・・
もう少しLinqのことを勉強してみます。ありがとうございました。

153:デフォルトの名無しさん
13/02/13 08:28:49.60
linqきめー

154:デフォルトの名無しさん
13/02/13 09:26:36.78
つーてもSQLがデファクトスタンダードな昨今
この流れは止まらんだろな

155:デフォルトの名無しさん
13/02/13 09:34:30.98
やはりC#は1.1が最高だわ

156:デフォルトの名無しさん
13/02/13 10:14:45.15
ArrayListしかないなんて(´・д・`)ヤダ

157:デフォルトの名無しさん
13/02/13 11:46:02.86
リンキューの糞構文使うなよ気持ち悪い
拡張メソッドでいいだろ

158:デフォルトの名無しさん
13/02/13 12:02:20.01
C#をコンパイルしないでPHPとかRubyとかPerlとかPythonみたいにスクリプト言語で使う方法教えてください
簡単な作業を簡単な20~30行未満のコードを動かすのにコンパイルしないで動かしたいんです

159:デフォルトの名無しさん
13/02/13 12:33:45.77
貴方にできる方法はない

160:デフォルトの名無しさん
13/02/13 12:34:29.94
VBScriptを使えばいい


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch