ふらっとVisual C#,C♯,C#(初心者用) Part109
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2013/11/28(木) 11:27:54.20他のスレッドでは書き込めないような低レベルな質問。
質問者自身なんだか意味がよく分からない質問。
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて、他スレ・他板へ行くことを勧められることがあります、ご了承下さい。
なお、テンプレが読めない回答者は邪魔なので後述のC#相談室に移動して下さい。
>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっとVisual C#,C♯,C#(初心者用) Part108
http://toro.2ch.net/test/read.cgi/tech/1383867970/
■関連スレ
C#, C♯, C#相談室 Part81
http://toro.2ch.net/test/read.cgi/tech/1381134494/
■コード貼るなら↓使ってください
http://ideone.com/
0052デフォルトの名無しさん
2013/11/30(土) 11:25:55.11brから一気にバイト列を読み込みたいんです。
ReadBytes()だとサイズ指定がありますが
元のストリームがHTMLの為上手くサイズが取得出来ないんですがどのようなやり方があるでしょうか?
・ReadBytes()の代わりに一気に読み込めるメソッドはあるか?
・ReadBytes()に指定するHTMLサイズを取得する為の方法は何か?
どちらかが分かれば解決するのですが。
0053デフォルトの名無しさん
2013/11/30(土) 11:29:24.79無ければMemoryStreamにでもCopyToしてToArrayじゃないの
0054デフォルトの名無しさん
2013/11/30(土) 11:32:19.80それが場合によってはContent-Lengthを返さないサーバがあるらしいので
この方法だと不安なんです…
後者の方法はどうやるのか少しご教授願えませんか?
0055デフォルトの名無しさん
2013/11/30(土) 11:35:29.60{
st.CopyTo(ms);
return ms.ToArray();
}
0056デフォルトの名無しさん
2013/11/30(土) 11:39:29.76C#もポインタは、実際は使えるようで使えないみたいだし。
0057デフォルトの名無しさん
2013/11/30(土) 11:42:30.41バッチリできました!ありがとうございます!
0058デフォルトの名無しさん
2013/11/30(土) 11:42:47.17コンパイル時にクソみたいなヘルパー関数呼び出しが大量に生成されます
あとTry-Catchもゴミまみれになる
0059デフォルトの名無しさん
2013/11/30(土) 11:45:05.840060デフォルトの名無しさん
2013/11/30(土) 11:46:33.99chunkedだと全部読み取るまでコンテンツサイズは判明しない
HTTP1.1の仕様のせい
chunkedがないとgzip等を返す場合一度tmpに出力しないといけなかったので
サーバー側は効率的ではあるのだが
0061デフォルトの名無しさん
2013/11/30(土) 11:48:43.83根拠はildasm
C#も2.0からはILとどんどん乖離していってるけど、VBランタイム相当のC#ランタイムが必要になるのはdynamicだけだね
0062デフォルトの名無しさん
2013/11/30(土) 11:54:22.71そんな問題があったのですね。勉強になりました!
0063デフォルトの名無しさん
2013/11/30(土) 13:30:23.900064デフォルトの名無しさん
2013/11/30(土) 19:16:18.54例えば、以下の様にOptionalAttributeという要素があり、
その場合は子要素を読み込み、要素名を取得したいと考えています。
どのようなメソッドを使えば良いでしょうか?
<AA Name="A1"
Category=""
Index="1">
<OptionalAttribute>
<BType>
<Value>A</Value>
<BType>
</OptionalAttribute>
なにとぞご教授ください。
0065デフォルトの名無しさん
2013/11/30(土) 19:24:39.870066デフォルトの名無しさん
2013/11/30(土) 19:56:19.490067デフォルトの名無しさん
2013/11/30(土) 20:01:07.71まあOptionalかどうかは要素の有無で判断するのが普通だと思うけど
0068デフォルトの名無しさん
2013/11/30(土) 20:03:43.33string s;
の宣言のときにnullをつっこんでるのはなぜ?
どーせ、すぐにsr.ReadLine()によって設定されるのに。
string s = null;
while((s = sr.ReadLine()) != null)
{
Console.WriteLine(s);
}
0069デフォルトの名無しさん
2013/11/30(土) 20:07:00.420070デフォルトの名無しさん
2013/11/30(土) 20:10:39.70007168
2013/11/30(土) 20:12:17.64なんで?
0072デフォルトの名無しさん
2013/11/30(土) 20:16:51.010073デフォルトの名無しさん
2013/11/30(土) 20:18:12.13CやC++のmalloc()、free()名残?
0074デフォルトの名無しさん
2013/11/30(土) 20:19:55.14世の中にはそういう難儀な言語もある
0075デフォルトの名無しさん
2013/11/30(土) 20:20:46.73string s;
Console.WriteLine(s);
だとエラーだし
まあ、コンパイラに警告されない限り代入の必要はないと思うけど
0076デフォルトの名無しさん
2013/11/30(土) 20:21:26.140077デフォルトの名無しさん
2013/11/30(土) 20:23:08.82別に悪い習慣ではないと思うがC#じゃいらんな
0078デフォルトの名無しさん
2013/11/30(土) 20:27:10.410079デフォルトの名無しさん
2013/11/30(土) 20:30:17.67いろいろいじっているうちにそのままになってた
ということもよくある話
0080デフォルトの名無しさん
2013/11/30(土) 20:30:19.24これだろうな
0081デフォルトの名無しさん
2013/11/30(土) 20:31:34.920082デフォルトの名無しさん
2013/11/30(土) 20:35:25.16わずかだけど、null初期化の方がコストも少ないし
0083デフォルトの名無しさん
2013/11/30(土) 20:35:53.520084デフォルトの名無しさん
2013/11/30(土) 20:57:53.970085デフォルトの名無しさん
2013/11/30(土) 20:58:09.940086デフォルトの名無しさん
2013/11/30(土) 20:59:56.170087デフォルトの名無しさん
2013/11/30(土) 21:17:15.48とか書くと初心者にはすごく見えるし初心者以外には馬鹿にされるからおススメ
0088デフォルトの名無しさん
2013/11/30(土) 21:21:37.65煽るな障害者
0089デフォルトの名無しさん
2013/11/30(土) 21:37:57.15わかんないんじゃんw
0090デフォルトの名無しさん
2013/11/30(土) 21:42:05.82っていう理由じゃないかな
0091デフォルトの名無しさん
2013/11/30(土) 21:52:57.750092デフォルトの名無しさん
2013/11/30(土) 21:55:18.86「DataColumnって何ですか」とか言い出すに決まってる
0093デフォルトの名無しさん
2013/11/30(土) 21:56:05.37XDocumentとXElement使ってます
0094デフォルトの名無しさん
2013/11/30(土) 22:00:27.380095デフォルトの名無しさん
2013/11/30(土) 22:01:59.03ありがとうござます!
試してみます!
0096デフォルトの名無しさん
2013/11/30(土) 22:03:26.230097デフォルトの名無しさん
2013/11/30(土) 22:06:13.01OptionalAttributeがないとクラッシュするじゃん
0098デフォルトの名無しさん
2013/11/30(土) 22:07:32.6010行もかからねーだろw
0099デフォルトの名無しさん
2013/11/30(土) 22:20:52.530100デフォルトの名無しさん
2013/11/30(土) 22:22:17.130101デフォルトの名無しさん
2013/11/30(土) 22:24:28.370102デフォルトの名無しさん
2013/11/30(土) 22:24:54.520103デフォルトの名無しさん
2013/11/30(土) 22:27:09.40こういうコードたまに見るけど、もうなんというか
最も酷い
0104デフォルトの名無しさん
2013/11/30(土) 22:30:24.43Formに動的に追加してクリックイベントを発生させたいのだけど
クラスBでクリックイベントが発生しません
大部分の機能は同じだけどクリックされたときの挙動を幾つか用意したいので
クラスB1、B2のように作っていこうと思っているんだけどどうすればいいですか?
0105デフォルトの名無しさん
2013/11/30(土) 22:30:37.050106デフォルトの名無しさん
2013/11/30(土) 22:32:34.62それ以外の書き方を知らない人間はそうやって道化を演じるしかないからな
0107デフォルトの名無しさん
2013/11/30(土) 22:42:05.55OnClick呼んでないとかイベントハンドラー登録してないとかそんな感じだろ
0108デフォルトの名無しさん
2013/12/01(日) 00:42:00.21DataRow[] rows = datatable.Select("xxx = ...");
じゃだめなの?
こういう意味じゃ無い?
0109デフォルトの名無しさん
2013/12/01(日) 00:42:19.02クラスBで取得するにはコードでイベントハンドラを登録させるしかないのかな?
0110デフォルトの名無しさん
2013/12/01(日) 01:33:02.14InitializeComponentメソッドが読まれてなかっただけだった
慣れない継承したからてっきり継承のせいだと思ってた
0111デフォルトの名無しさん
2013/12/01(日) 01:55:04.140112デフォルトの名無しさん
2013/12/01(日) 02:14:29.08protected virtual void button1_Click(object sender, EventArgs e)
{
}
0113デフォルトの名無しさん
2013/12/01(日) 02:56:37.81あと、コントロールのmodifiersをProtectedにしてもできた
でも他のクラスから直接コントロールを操作できるようにするは作法としてよろしくないのかな
やっぱり>>112のように触ってもいいところだけ仮想メソッドなりで公開するのがいいのかな
0114デフォルトの名無しさん
2013/12/01(日) 06:03:19.27{
this.OnButton1Click();
}
protected virtual void OnButton1Click()
{
}
こんな感じ
0115デフォルトの名無しさん
2013/12/01(日) 09:39:09.03どうやったら10行も必要なの?
int i = datatable.Rows.IndexOf(datatable.Select(".............")[0]);
0116デフォルトの名無しさん
2013/12/01(日) 09:48:33.340117デフォルトの名無しさん
2013/12/01(日) 09:55:46.23それ全件検索→配列作成→順次検索だからforで回すのの平均1.5倍かかるぞ
構文解析のコストとか無視しても
0118デフォルトの名無しさん
2013/12/01(日) 09:58:23.310119デフォルトの名無しさん
2013/12/01(日) 10:03:28.820120デフォルトの名無しさん
2013/12/01(日) 13:00:31.860121デフォルトの名無しさん
2013/12/01(日) 13:23:39.210122デフォルトの名無しさん
2013/12/01(日) 13:28:58.22全レコード該当した場合n要素の配列が2個必要だぞ
0123デフォルトの名無しさん
2013/12/01(日) 13:29:00.90各々のポリシーに従って不毛な言いあいを続けるようなら
また両方にまぎれて煽りますよ
12時間くらい
0124デフォルトの名無しさん
2013/12/01(日) 13:29:32.230125デフォルトの名無しさん
2013/12/01(日) 13:31:40.190126デフォルトの名無しさん
2013/12/01(日) 13:44:14.64こんな表現もあったか。
データ件数が100件程度以内なら
int i = datatable.Rows.IndexOf(datatable.Select(".............")[0]);
でいいなぁ。上にコメントでもつけてくれれば。
0127デフォルトの名無しさん
2013/12/01(日) 13:50:52.860128デフォルトの名無しさん
2013/12/01(日) 13:53:20.670129デフォルトの名無しさん
2013/12/01(日) 14:02:42.610130デフォルトの名無しさん
2013/12/01(日) 14:39:36.83C#とVBに差がないんならC#を何で選ぶの?
C一族なの?
0131デフォルトの名無しさん
2013/12/01(日) 14:47:44.760132デフォルトの名無しさん
2013/12/01(日) 14:54:36.050133デフォルトの名無しさん
2013/12/01(日) 14:58:13.950134デフォルトの名無しさん
2013/12/01(日) 15:04:00.18*YOU* are full of bullshit.
C++ is a horrible language. It's made more horrible by the fact that a lot
of substandard programmers use it, to the point where it's much much
easier to generate total and utter crap with it. Quite frankly, even if
the choice of C were to do *nothing* but keep the C++ programmers out,
that in itself would be a huge reason to use C.
だいたいこれと同じ理由
0135デフォルトの名無しさん
2013/12/01(日) 16:40:56.880136デフォルトの名無しさん
2013/12/01(日) 17:52:29.22javascriptを選択してしまった流れで
0137デフォルトの名無しさん
2013/12/01(日) 18:14:32.16低レベルなコードも書きたいならC#
COMと相互運用したいならVB.NET
常識だろ
0138デフォルトの名無しさん
2013/12/01(日) 18:14:34.870139デフォルトの名無しさん
2013/12/01(日) 18:16:20.04string unko;
どっちが見やすいかな?
0140デフォルトの名無しさん
2013/12/01(日) 19:56:01.66Dim number = 1, text = "hoge"
0141デフォルトの名無しさん
2013/12/01(日) 19:59:18.750142デフォルトの名無しさん
2013/12/01(日) 20:02:11.62If 5 == 5 Then
Console.WriteLine();
End If
if (5 == 5)
Console.WriteLine();
どっちが見やすいんだよ?
0143デフォルトの名無しさん
2013/12/01(日) 20:10:15.180144デフォルトの名無しさん
2013/12/01(日) 20:33:46.180145デフォルトの名無しさん
2013/12/01(日) 20:34:19.66If 5 = 5 Then Console.WriteLine()
0146デフォルトの名無しさん
2013/12/01(日) 20:44:30.76.lヽ,,| il,,..、 ,ゝ--′ | | 、 / ./ t-、 ,,, | レ''') ! . ゝ、,. t, > `!
゙ヽ、 __,ノ , -''',゙ ̄''、 <゙゙´ レ'',゙ ̄\ .l゙‐''"゛.,i、`'i lヽ _,_._,,、 ヘ ̄ .,,..-',゙ _ ト‐'" .,i l, l.ヽ / .厂 ̄゛
/ !/ ,l_r-,.´>、 ヽ,,./ | .l `フ / ̄│ .l `-7 ./ .l .! .l l l'‐'゙/'''''''、.ヽ / /ィニ二_,,,ノ ゝ7 ./ .l ! ゙l l .! !_.. - 、.
ヽ、 ./゙l .l l ! / ! } ! / ./ l /!││゙''" .} | l゙ / ,,.'"゛ / ./ l l | |.l ン"゙゙''、 ヽ
.! l ̄ .,ノ | ノ ノ∠ ! ノ ノ / .iト,,ノ / .゙''゙ / . l ,/ / ./.! ._....、./ .,l ト,,/ / .゙''゙ L./ / }
.ヽ `゙゛ . / ._,,/_,/ .! l ∠‐" |__/ ヽ ./ ._.. ‐,゙..-゙ ! / .l、.´ ,!| ./ l ./ . __,, / ,.ノ
.`゙゙゙゙゙゛ `⌒ `゛ `´ .  ̄´ `" `"'''''"゛ `゛ `゙'''''゙゙´
0147デフォルトの名無しさん
2013/12/02(月) 01:46:32.630148デフォルトの名無しさん
2013/12/02(月) 02:10:49.67ユーザーデータを追加させたいのですが
(MFCのCListCtrlのSetItemData/GetItemDataみたいなやつ)
どのようにすればいいでしょうか?
0149デフォルトの名無しさん
2013/12/02(月) 06:47:01.040150デフォルトの名無しさん
2013/12/02(月) 08:13:07.790151デフォルトの名無しさん
2013/12/02(月) 08:13:48.83○ListViewItemを継承してお好きなプロパティでもなんでも持たす
0152デフォルトの名無しさん
2013/12/02(月) 08:49:50.39どういう設計思想なのこれは?
■ このスレッドは過去ログ倉庫に格納されています