ふらっとC#,C♯,C#(初心者用) Part79
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2011/09/21(水) 21:34:56.61「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。
ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からない場合など、勇気をもって書き込んでください。
内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。
なお、テンプレ2行目が読めない回答者は邪魔なので後述のC#相談室に移動して下さい。
>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっとC#,C♯,C#(初心者用) Part78
http://hibari.2ch.net/test/read.cgi/tech/1312310658/
■関連スレ
C#, C♯, C#相談室 Part67
http://hibari.2ch.net/test/read.cgi/tech/1308128665/
ミスターサタンのC#相談室
http://hibari.2ch.net/test/read.cgi/tech/1092656075/
VB.NET質問スレ(Part36)
http://hibari.2ch.net/test/read.cgi/tech/1301828549/
くだすれC++/CLI(初心者用)part2
http://hibari.2ch.net/test/read.cgi/tech/1268613679/
0002デフォルトの名無しさん
2011/09/21(水) 21:36:10.55コードの量が多い場合は下記サイトを使うなどしたほうがいいかも
http://codepad.org/ ←遅い時間は重い事があります
http://ideone.com/
http://pastebin.com/ ←たまにテンポるので上の2つが混んでいる時以外はなるべく使わないで下さい
コードを貼り付けてrun codeのチェックをはずしてsubmitボタンを押すと
コードを鯖側にアップして専用のアドレスが発行されます。
0003デフォルトの名無しさん
2011/09/21(水) 21:39:02.63codepadはC#に対応してないぞ
0004デフォルトの名無しさん
2011/09/21(水) 22:47:32.26おせっかいちゃん
0005デフォルトの名無しさん
2011/09/22(木) 22:55:18.94どういうコードを書けば良いでしょうか?
出来れば、Windows API 的な物は使わずに .Net Framework 内の機能だけで実装したいと思います。
0006デフォルトの名無しさん
2011/09/22(木) 22:57:44.48ファイル削除でいいだろうけど、UAC関連でシステムフォルダに
対するアクセスが厳しくなってるアプリはどうだろう・・・
0007デフォルトの名無しさん
2011/09/22(木) 22:57:45.470008デフォルトの名無しさん
2011/09/22(木) 23:43:45.47簡単にAPI呼び出せるやろ
0009前スレ979
2011/09/22(木) 23:56:02.01すいません、MouseDownの中身だけでいいので書いてもらえませんか?
ちょっとTabプロパティについてはわからないです。
0010デフォルトの名無しさん
2011/09/23(金) 01:01:37.70この際、全ユーザのクッキーを削除してもOKです。
嫌、寧ろクッキーをまるごと消し去るプログラムを作りたいです。
0011デフォルトの名無しさん
2011/09/23(金) 01:04:02.590012デフォルトの名無しさん
2011/09/23(金) 02:46:04.89TabControl1_DrawItem()の
string text = tab.TabPages[e.Index].Text;
の前に
if(e.Index >= tab.TabPages.Count) return;
を入れればArgumentOutOfRangeExceptionは出なくなる
これで全部解決できるかは分からない
0014デフォルトの名無しさん
2011/09/23(金) 14:11:22.55一箇所だけ必要なのですが、その為だけにBinaryReaderをnewするのは無駄な気がするし
Stream.Readで読んでBitConverterで変換するのもごちゃごちゃして嫌だなぁ、と思いまして。
0015デフォルトの名無しさん
2011/09/23(金) 14:42:11.49ループ内で秒間数千数万回呼ばれるようなもんでなければ
BinaryReaderのnewくらい全くどうでもいい
0016たつろう
2011/09/23(金) 15:10:29.75そこで行き詰ってしまいました。
(1) DataGridViewのセルにImageListの画像を表示させることはできるでしょうか。
該当セルのcolumnsのデータ型はイメージ型にしています。
(2) DataGridViewのセルにアニメーションGIFを表示させることは可能でしょうか。
すみませんが、よろしくおねがいいたします。
0017デフォルトの名無しさん
2011/09/23(金) 15:16:06.410018デフォルトの名無しさん
2011/09/23(金) 19:52:40.40コントロールの切り離しは最終的にユーザーの
操作が終わってからの方がいいんじゃね?
Firefoxなんかでもタブ移動できるけどユーザーの操作が
決定するまでタブは移動しないままだしな
掴んだらいきなり切り離すっていう危なっかしいのはいかがかと
0019デフォルトの名無しさん
2011/09/23(金) 21:10:32.16いずれかの言語でしか実装(利用)出来ない機能とかってあるのでしょうか?
0020デフォルトの名無しさん
2011/09/23(金) 21:16:03.55あとyieldもC#のみ。LINQ to XMLみたいなのをyieldのないVBで作ろうとすると死ねる。
ちょっと前まではExcel操作なんかはVBの独壇場だったけどC#4.0で差がなくなった。
0021デフォルトの名無しさん
2011/09/23(金) 21:20:18.74まあある機能が言語限定って言うのはあるが
それはコードを書きやすくなるかどうかというレベルの話であって
最終的に実現可能な物に有意な差はない
0022デフォルトの名無しさん
2011/09/23(金) 21:28:43.29On Error Resume Nextもあるし静的クラスのメンバをグローバル変数やグローバル関数のように使えるし
0023デフォルトの名無しさん
2011/09/23(金) 22:39:54.65・VBではActionが作れない
・VBには3項演算子が無いので遅延評価の分岐が組めない
って酷い差があって、自分でクロージャ型を定義したりしないといけない
0024デフォルトの名無しさん
2011/09/23(金) 22:50:03.46SubとかステートメントとかはVB10からだけどさ
0025デフォルトの名無しさん
2011/09/23(金) 23:09:56.51C# が VB.net をリードしてる?
という判定でよいですか?
0026デフォルトの名無しさん
2011/09/23(金) 23:14:35.570027デフォルトの名無しさん
2011/09/23(金) 23:19:22.07今はVBの開発チーム無くなって「C#と同じにする」方針になった
0028デフォルトの名無しさん
2011/09/23(金) 23:20:24.81それにVB.net関連の機能もC#で使えるし
0029デフォルトの名無しさん
2011/09/23(金) 23:24:59.70良いと思う
0030前スレ979
2011/09/23(金) 23:27:03.72どうやってそれを実装するか、思いつかないんですよね。TabControlのD&Dも探して拾ってきたやつです
x軸とかy軸を取得してなんかがわからないんです。参考になるHPとかないでしょうか?
0031デフォルトの名無しさん
2011/09/23(金) 23:28:50.89サンキューC#厨
0032デフォルトの名無しさん
2011/09/24(土) 00:55:04.84byte b = 2;
byte c = a + b;
a + bの所でintからbyteに暗黙的に変換できないと出るのですが
intより小さい型は全てintに格上げされて演算されるという理解でいいですか?
0033デフォルトの名無しさん
2011/09/24(土) 00:59:10.29感謝された気がしない。。。
0034デフォルトの名無しさん
2011/09/24(土) 01:06:03.50そういう仕様のはず<int に格上げ。
0035デフォルトの名無しさん
2011/09/24(土) 01:21:02.66cだとintが一番早く実行出来る基本型だって本で読んだから、c#もそうなんじゃ無いか?
0036デフォルトの名無しさん
2011/09/24(土) 01:22:31.38格上げされるというよりbyte同士で四則演算できるようなってないってことじゃないの?
0037デフォルトの名無しさん
2011/09/24(土) 01:25:50.20流石に明治的にキャストすれば出来るだろ
0038デフォルトの名無しさん
2011/09/24(土) 01:26:55.70だからしてくださいねって話だろ
0039デフォルトの名無しさん
2011/09/24(土) 01:27:47.380040デフォルトの名無しさん
2011/09/24(土) 01:28:26.390041デフォルトの名無しさん
2011/09/24(土) 01:33:30.92俺の言った意味で理解するのが当然みたいな言い方は馬鹿っぽいしみっともない。
0042デフォルトの名無しさん
2011/09/24(土) 01:39:34.35直感的かなと思うけど、それだとshortとushortの演算のような場合には迷いが生じるのは確かだな
0043デフォルトの名無しさん
2011/09/24(土) 01:42:44.64ここを順に読むと疑問が解決するかと
http://www.atmarkit.co.jp/fdotnet/csharp_abc2/csabc2_007/cs2_007_01.html
0044デフォルトの名無しさん
2011/09/24(土) 02:05:33.96結果がshortやbyteになる仕様ならその都度縮小しないといけないでしょわざわざオーバーフローの可能性を増やさなくても
0045デフォルトの名無しさん
2011/09/24(土) 14:58:24.86そのようなクラスの場合、使わなくなったら両方呼ぶべきですか?それとも片方だけでいいのでしょうか。
0046デフォルトの名無しさん
2011/09/24(土) 15:21:44.10http://msdn.microsoft.com/ja-jp/library/ms182334.aspx
0047デフォルトの名無しさん
2011/09/24(土) 16:29:42.70コンストラクタとかインスタンスとか継承とか・・・
いわゆるオブジェクト指向な設計方法を実例を挙げて解説してる参考書でお勧めありませんか?
雑誌のバックナンバーでもいいです。
JAVAだとそういう記事をよく見かけますがC#で無いですかね?
JAVAの記事でも概念的には参考にはなるんだろうけど・・・
やっぱC#のほうが具体的なTipsも学べるからC#がいいな。
0048デフォルトの名無しさん
2011/09/24(土) 16:43:24.78C#はデリゲートがあるせいかJavaほど語ることが無いんだよな・・・
0049デフォルトの名無しさん
2011/09/24(土) 17:02:01.060050デフォルトの名無しさん
2011/09/24(土) 17:23:10.22思い切り古い本だがこれとか?
http://www.amazon.co.jp/C-%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9-%E7%9F%A2%E5%B6%8B-%E8%81%A1/dp/4897974070/ref=sr_1_1?ie=UTF8&qid=1316852287&sr=8-1
読んだことはないけど、MSDNで立ち読みできる部分と目次を見た感じでは
初心者がC#でOOPの基礎を学ぶには良さそうに思える。
http://msdn.microsoft.com/ja-jp/library/cc440970.aspx
0051デフォルトの名無しさん
2011/09/24(土) 17:40:33.99http://www.amazon.co.jp/%E3%83%97%E3%83%AD%E3%83%95%E3%82%A7%E3%83%83%E3%82%B7%E3%83%A7%E3%83%8A%E3%83%AB%E3%83%9E%E3%82%B9%
E3%82%BF%E3%83%BC-Visual-C-2010-MSDN%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA/dp/4822294277
Java信者がおちいりがちなクラスベースのオブジェクト指向信仰の戒めが興味深い
0052デフォルトの名無しさん
2011/09/24(土) 18:03:36.48みなさん、ありがとうございます。
参考にさせて頂きます!
0053デフォルトの名無しさん
2011/09/24(土) 18:54:46.15http://www.amazon.co.jp/dp/4897974070
http://www.amazon.co.jp/dp/4822294277
0054デフォルトの名無しさん
2011/09/24(土) 19:39:58.42ttp://d.hatena.ne.jp/griefworker/20090918/linq_create_delete_database
を参考にSystem.Data.SQLiteでやってみると例外が発生します(SQLite error no such table
DataContextのメソッドにテーブルを作成するようなものがないので自動的に作られるのだと思ったのですが。
CreateDatabaseはデータベース自体を作るメソッドのようですし
(CreateDatabaseも例外起こしますがコメントアウトしてもデータベースは作られるので一応何とかなっています
ちなみにSQLiteのコマンドでテーブルを先に作ると例外は起きません。
0055デフォルトの名無しさん
2011/09/24(土) 19:42:06.86URLの削り方ぐらい知っとけw
0056デフォルトの名無しさん
2011/09/24(土) 19:47:31.46>// テーブルも一緒に作成される
>context.CreateDatabase();
って書いてあるじゃん
一般論として通常の更新メソッドで勝手にテーブル作られたら困るでしょ
0057デフォルトの名無しさん
2011/09/24(土) 19:57:22.56もう絶滅したと思ってた
0058デフォルトの名無しさん
2011/09/24(土) 20:02:41.490059デフォルトの名無しさん
2011/09/24(土) 20:20:21.31あorz
ということはCreateDatabaseで例外起こすからコメントアウトした所為ですね
"SQLite error
near "DATABASE": syntax error"という例外でイミフです…
>>57
最近データベースを使おうと思ってたどり着いたのがこれなのですけど
最近の主流はどんなやり方なのでしょうか?
0060デフォルトの名無しさん
2011/09/24(土) 20:23:13.26Entity Framework
つーかLINQ to SQLはSQL Server用
0061デフォルトの名無しさん
2011/09/25(日) 00:04:26.100062デフォルトの名無しさん
2011/09/25(日) 00:05:19.690063デフォルトの名無しさん
2011/09/25(日) 00:06:52.020064デフォルトの名無しさん
2011/09/25(日) 00:13:04.530065デフォルトの名無しさん
2011/09/25(日) 00:16:52.090066デフォルトの名無しさん
2011/09/25(日) 00:47:19.00同じようなものだ。
0067デフォルトの名無しさん
2011/09/25(日) 00:53:08.850068デフォルトの名無しさん
2011/09/25(日) 01:05:55.530069デフォルトの名無しさん
2011/09/25(日) 12:26:45.520070デフォルトの名無しさん
2011/09/25(日) 13:58:46.630071デフォルトの名無しさん
2011/09/25(日) 17:25:39.97haraga \\\ iatakute
http://wisdom.sakura.ne.jp/programming/cs/cs54.html
0072デフォルトの名無しさん
2011/09/25(日) 17:28:14.48質問がザックリしすぎ。
上手な質問が出来る程度にまでは勉強しようぜ。
とりあえず雑誌買えば?アスキーとか日経ソフトウエアとか。
それの「今日から始める○○」みたいな記事読みなよ。
多分分からないことばかりだろうけど、何が分からないのかが見えてくる。
俺も最初は、CもC++もC#も区別が付かなかった。
0073デフォルトの名無しさん
2011/09/25(日) 17:32:01.550074デフォルトの名無しさん
2011/09/25(日) 21:52:53.55その座標にTabPageが存在しているかどうか判別するメソッドか何かないんでしょうか?
0075デフォルトの名無しさん
2011/09/25(日) 21:54:25.030076デフォルトの名無しさん
2011/09/25(日) 22:51:19.880077デフォルトの名無しさん
2011/09/25(日) 22:54:21.160078デフォルトの名無しさん
2011/09/25(日) 22:57:07.750079デフォルトの名無しさん
2011/09/25(日) 23:00:50.470080デフォルトの名無しさん
2011/09/25(日) 23:08:27.84{
.entrypoint
// コード サイズ 8 (0x8)
.maxstack 8
IL_0000: ldc.i4.0
IL_0001: call native int [mscorlib]System.IntPtr::op_Explicit(int32)
IL_0006: pop
IL_0007: ret
} // end of method Program::Main
ちなみにこんな感じになります
0081デフォルトの名無しさん
2011/09/25(日) 23:10:37.23JIT後の扱いは知らんが
0082デフォルトの名無しさん
2011/09/25(日) 23:29:47.95それなら実質Int32のようなプリミティブ型と扱い変わらないのにop_Explicitは必要なのね
0083デフォルトの名無しさん
2011/09/25(日) 23:40:12.28MSIL知らんけど、普通にSystem.IntPtr::op_Explicit(int32)というサブルーチンを
コールしてるだけに見えるけど....
0084デフォルトの名無しさん
2011/09/26(月) 00:00:54.94コンパイラが特別に同一視してるんだよ
プリミティブ型と同格の扱いだ
0085デフォルトの名無しさん
2011/09/26(月) 00:35:21.37本気で何言ってるのかわかんない
0086デフォルトの名無しさん
2011/09/26(月) 00:36:36.10ていうか言語仕様だけ見るとIntPtrはvolatileでだけ出てくる正体不明の型だな
>>85
普通の値型はvaluetypeってなるから
0087デフォルトの名無しさん
2011/09/26(月) 01:01:11.08native int=IntPtrと解釈されてるってこと。
native intは実行環境でのポインタと同じサイズをもつ整数で、CILの組み込み型。
Int32のようなプリミティブ型はコンパイラが特別にCILの組み込み型として扱う。
0088デフォルトの名無しさん
2011/09/26(月) 01:03:38.61ごめん、何か変なこと書いてるな俺。
疲れてるな....
0089デフォルトの名無しさん
2011/09/26(月) 01:26:41.110090デフォルトの名無しさん
2011/09/26(月) 01:29:52.45現在自作のソフトウェアで
1.「処理開始時にスリープを抑止」
2.「処理完了時にスリープ抑止を解除」
をしようとしています。
Vista・7ではSetThreadExecutionStateを使った方法で
1と2どちらも期待どおりに動作します。
しかし、XPでは1の「抑止」はできるものの、2の「抑止の解除」ができず、
OSを再起動するまでスタンバイにならなくなってしまいます。
基本的に下記のサイトの処理をコピペしています。
こちら解決策をご存じの方いらっしゃったらご教示ください。
基本的に下記のサイトの処理をコピペしていて、
http://d.hatena.ne.jp/aont/20100121/1264089608
・1の時には
SetThreadExecutionState(ExecutionState.SystemRequired | ExecutionState.Continuous);
・2の時には
SetThreadExecutionState( ExecutionState.Continuous);
としています。
0093デフォルトの名無しさん
2011/09/26(月) 01:46:48.00すいません。
インデックスで各要素にO(1)でアクセスできる、という条件が抜けてました。
0094デフォルトの名無しさん
2011/09/26(月) 01:49:42.340095デフォルトの名無しさん
2011/09/26(月) 02:14:23.34それくらい自作すれば
0096デフォルトの名無しさん
2011/09/26(月) 12:29:41.090097デフォルトの名無しさん
2011/09/26(月) 14:38:24.58Timerは間隔でしか指定できないので、どうやったらいいのでしょうか
UNIXのcronやタイムスケジューラようなものと考えてもらえば
分かりやすいかと思います
0098デフォルトの名無しさん
2011/09/26(月) 15:06:33.790099デフォルトの名無しさん
2011/09/26(月) 15:19:40.56しかし、たとえば1秒ごとにイベントを発生させて、時間を調べても
もし00分でなかったら、その処理は無駄なCPUを使ってることになります
だから毎時00分に呼び出してくれるような方法はないかと考えてるんです
0100デフォルトの名無しさん
2011/09/26(月) 15:23:59.510101デフォルトの名無しさん
2011/09/26(月) 15:24:21.69試しにプログラム作って負荷みてみなよw
どんなマシンで運用するか知らんけど誤差のレベルだよ
0102デフォルトの名無しさん
2011/09/26(月) 16:22:56.50コンピュータの動作原理を勉強しろよ
0103デフォルトの名無しさん
2011/09/26(月) 17:38:48.410104デフォルトの名無しさん
2011/09/26(月) 17:40:57.23ゞヾ〃ゞ- '、~ ┌┐
_,ノノ_ヾゞ, -、ヾゝゞ| ̄・│
丿 ,.'_-ーヾゝゞヾゝゞ、...  ̄| .│
iiii/ νゞυ `-ヾ. ││
./ ││ キリンで比較すると
i| ││ 韓国の方がメシウマだということがわかる
i| ││
ii i| ││
0)|. ┌┐ ││
i| | ̄・│ ││
ii i|  ̄| .│ │└──┐
ii|. ││ ├┬─┐│
;ii| │└─┐ ││ ││
iii0)|. ├┬┐│ ││ ││
iiii|. ││││ ││ ││
,,_,ヽ, ││││ ││ ││
"i´"�=R─────────────
1$=76円 1$=1192ウォン
0105デフォルトの名無しさん
2011/09/26(月) 17:41:07.79そういう事?
0106デフォルトの名無しさん
2011/09/26(月) 18:04:45.090107デフォルトの名無しさん
2011/09/26(月) 19:26:05.110108デフォルトの名無しさん
2011/09/26(月) 19:49:18.53今の時間と起動時間の差をIntervalにセットしたらOKな気もする(実験必要だが)
スリープなどが気になるならタスクスケジューラしかないが
0109デフォルトの名無しさん
2011/09/26(月) 19:55:11.06いいだけなんだけどな〜
0110デフォルトの名無しさん
2011/09/26(月) 19:55:11.130111デフォルトの名無しさん
2011/09/26(月) 20:38:59.53実際どういう時に使うのかがわからず躊躇してます
LINQはXMLだとかSQLだとかデータ処理だと思うんですけど相変わらずSQL文ベタ書きなんですが
特にラムダは"これこれこういう処理する時はこれだよな!"みたいなのはあるんでしょうか
0112デフォルトの名無しさん
2011/09/26(月) 20:59:49.08慶尚南道南海郡は26日、在日コリアンの移住者を対象にした「日本集落」の建設を推進すると明らかにした。
集落の説明会は10月5日に東京で、10月9日に大阪で開催する。
http://japanese.yonhapnews.co.kr/headline/2011/09/26/0200000000AJP20110926003100882.HTML
愛する祖国が在日の皆さんを待っています。 韓国が、在日韓国人の集落を建設することを決定。
http://hatsukari.2ch.net/test/read.cgi/news/1317035191/
愛する祖国が在日の皆さんを待っています。 韓国が、在日韓国人の集落を建設することを決定。 ★2
http://hatsukari.2ch.net/test/read.cgi/news/1317037569/
0113デフォルトの名無しさん
2011/09/26(月) 21:12:40.92どういうのを想像してるのか分からんけどできるよ
0114デフォルトの名無しさん
2011/09/26(月) 21:17:47.79LINQ使う時はラムダだよ
0115デフォルトの名無しさん
2011/09/26(月) 22:33:37.23Hoge.method()
が表示され続けるんですが、
デリゲートでメソッドを登録していれば、
ガベージコレクションの対象にはならない、というのは正しいですか?
ttp://ideone.com/KMUnH
0116デフォルトの名無しさん
2011/09/26(月) 22:38:48.10actがhogeへの参照を持っています
イベントでメモリリークの原因になったりするので注意
0117デフォルトの名無しさん
2011/09/26(月) 22:39:54.93ありがとうございます。
なるほど、これはちょっと気をつけないと・・・
0118デフォルトの名無しさん
2011/09/26(月) 22:57:08.50まず、LINQ 全般でいうと、データベース問い合わせ以外でも、
「チェックボックスでチェック入れた項目だけ抜き出したい」とかいうときに
items.Where(x => x.IsChecked); とかやると便利。
データベースに関しては、型安全で静的チェック効くことが大事。
文字列で SQL べた書きだと実行してみるまでその SQL が正しいかわからないけど、
LINQ 使うとそれがビルド時チェックになる。
まあ、ビルド時チェックの価値がよくわからないってなら SQL べた書きでいいと思う。
0119デフォルトの名無しさん
2011/09/26(月) 23:43:18.560120デフォルトの名無しさん
2011/09/27(火) 00:12:20.44ありがとう
0121デフォルトの名無しさん
2011/09/27(火) 00:16:26.06ここの
// Get the rest of the data.
client.BeginReceive(state.buffer,0,StateObject.BufferSize,0,
new AsyncCallback(ReceiveCallback), state);
これがわからないんですが、
StateObject内のBufferSizeを溢れた分はこのstateを引き継いで、
state.sb.Append(Encoding.ASCII.GetString(state.buffer,0,bytesRead));
これで継ぎ足されていくという認識で良いんですか?
0122デフォルトの名無しさん
2011/09/27(火) 08:51:11.60どういう認識なのかよく分からんが
bufferはBeginReceive毎の使い捨て、sbは受信結果全部ということ、
で回答になってるのかよく分からん
0123デフォルトの名無しさん
2011/09/27(火) 10:14:53.821mSまで取得するにはどうしたらいいのでしょうか?
MSDNがCGIエラーで表示されないので調べられないで困ってます。
0124デフォルトの名無しさん
2011/09/27(火) 11:11:52.96タイマ割り込み自体の間隔は10-15ms程度だな
ttp://d.hatena.ne.jp/NyaRuRu/20060910
この辺見てればいいよ
どうでもいいがS大文字にすると意味不明に見える
あとMSDNは一旦cookieと一時ファイル消してみれば
0125デフォルトの名無しさん
2011/09/27(火) 11:30:44.48APIのQueryPerformanceCounterと同じ
0126デフォルトの名無しさん
2011/09/27(火) 12:26:47.62ありがとうございます。勉強してきます。
>>125
最終的には複数ポイントの累積経過時間(ラップタイム?)を取りたいのですが、
Stopwatchクラスって、1回1回止めないと取得できないようですが、
リスタート→加算を繰返すと誤差は生じないのでしょうか?
0127デフォルトの名無しさん
2011/09/27(火) 12:40:49.690128デフォルトの名無しさん
2011/09/27(火) 12:44:09.43もろにStopwatchの仕事じゃないか
Stop/Startで中断再開できるぞ
0129デフォルトの名無しさん
2011/09/27(火) 12:45:47.86通常の関数は一度実行したら最後まで実行するまで制御を戻さないが、
コルーチンは途中で止めて別の機会に中断点から再開したりできる。
0130デフォルトの名無しさん
2011/09/27(火) 12:48:43.80ありがとうございます。
よくわかりました。
0131デフォルトの名無しさん
2011/09/27(火) 12:49:10.41double timeSec = (double)Stopwatch.GetTimestamp() / Stopwatch.Frequency;
0132131
2011/09/27(火) 12:55:47.05long time1 = Stopwatch.GetTimestamp();
// 処理1
long time2 = Stopwatch.GetTimeStamp();
double elapsed = (double)(time2 - time1) / Stopwatch.Frequency;
こうかな
0133デフォルトの名無しさん
2011/09/27(火) 14:03:35.21クッキー、一時ファイル、IEのプロパティから選択できるものは全部削除してみたけど
MSDN表示できません・・・orzなんでだ・・・
>>128
RESETなんていうメソッドもあるんですね。
ということはRESETするまでは最初のスタートから時計は継続して動き続けてると言うことなんですかね。
>>131-132
GetTimeStampなんてのもあるんですね。これはストップしなくても取得できると言うことですか。
ありがとうございました。
まずMSDN復活に取り組みます・・・(~~;;;
0134デフォルトの名無しさん
2011/09/27(火) 16:51:29.64ここで、Labelのフォントを「小塚ゴシック」にしたいのですが、Fontプロパティに「小塚」シリーズのフォントが出てきません。
AdobeのIllustlatorをインストールしており、PCには「小塚」シリーズのフォントが入っているはずです。
(EXCELなどのOfficeアプリケーションでは「小塚」シリーズのフォントを使用できます。)
(1)
なぜ、VS2010上で、「小塚」シリーズが出てこないのでしょうか。
フォントを追加する方法はあるのでしょうか。
(2)
この「小塚」シリーズのフォントをアプリケーションに埋め込む形で取り込み、
「小塚」シリーズのフォントが入っていないPCでも正常に表示させることができたらと思っています。
どうすれば良いのでしょうか。ご教示ください。
0135デフォルトの名無しさん
2011/09/27(火) 17:02:36.35> この「小塚」シリーズのフォントをアプリケーションに埋め込む形で取り込み、
> 「小塚」シリーズのフォントが入っていないPCでも正常に表示させることができたら
ライセンス違反にならね?
0136デフォルトの名無しさん
2011/09/27(火) 20:24:32.88遅レスですが111です
>LINQ 使うとそれがビルド時チェックになる。
非常に有用だと感じます
ありがとうございました
0137デフォルトの名無しさん
2011/09/27(火) 20:28:25.08型付けるだけならTypedDataSetでも出来るし、LINQでも実行するまでスキーマが正しいかどうかは分からない
0138デフォルトの名無しさん
2011/09/27(火) 21:12:15.90だれか知りませんか
0139デフォルトの名無しさん
2011/09/27(火) 21:13:59.070140デフォルトの名無しさん
2011/09/27(火) 21:21:02.23具体的にはOAuthで使いたいです
oauth_consumer_key=1234&oauth_nonce=13345&oauth_signature=1234&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1234
みたいな文字列を得たいのですが、
hoge.Add("oauth_consumer_key", "1234");
hoge.Add("oauth_nonce", "12345");
...
string result = hoge.ToString();
といった使い方ができるクラスがあったようにおもうのです
0141デフォルトの名無しさん
2011/09/27(火) 21:39:01.340142デフォルトの名無しさん
2011/09/27(火) 21:58:47.32.netにクラスが用意されてるのならそっちに書き換えようと思った
OAuthのライブラリ使えば解決というのは
その通りです
0143デフォルトの名無しさん
2011/09/27(火) 23:31:11.810144デフォルトの名無しさん
2011/09/27(火) 23:42:31.88SortedList<key, value>で、UnionWithメソッドを呼び出す時、
ユニオン後にコピーされるのってkey及びvalueが共に異なる要素だけですか?
keyあるいはvalueの一方だけ同じ要素があった場合、どうなるかわかりません
0145デフォルトの名無しさん
2011/09/27(火) 23:51:49.220146デフォルトの名無しさん
2011/09/27(火) 23:54:27.09何のための LINQ to Entities だと…
0147デフォルトの名無しさん
2011/09/28(水) 00:00:19.76SortedList<,>はIEnumerable<KeyValuePair<,>>を実装しているので
識別比較の挙動はKeyValuePair<,>の仕様に依存する。
KeyValuePair<,>はEqualsをオーバーライドしていないので、ValueTypeのEqualsの実装が使われる。
ValueType.Equalsはリフレクションを使ってすべてのフィールドの値を比較する。
基本的には、IDictionary<,>をはじめとするIEnumerable<KeyValuePair<,>>には
識別比較を行うようなクエリ演算子は使ってはいけない、でいいと思う。
0148147
2011/09/28(水) 00:03:59.670149デフォルトの名無しさん
2011/09/28(水) 00:11:22.86特別そんな重くなるような処理を加えたわけではないのに
0150デフォルトの名無しさん
2011/09/28(水) 00:32:12.94ありがとう
0151デフォルトの名無しさん
2011/09/28(水) 00:33:26.90.edmxのメタデータが正しいかどうかは保証されてないだろ
0152デフォルトの名無しさん
2011/09/28(水) 13:49:33.82ヘッダー
------------
メ|
ニ| コンテンツ
ュ|
ー|
メニューはWebユーザーコントロールを使って作ろうと思ってます。
ヘッダー、メニューとコンテンツの指定はマスタページで行って、コンテンツを子ページで作る予定です。
レイアウトの指定はどうやったらできますか?
divを使って、メニューの位置とコンテントプレイスホルダーの位置を指定すればいいでしょうか
0153デフォルトの名無しさん
2011/09/28(水) 14:40:16.060154デフォルトの名無しさん
2011/09/28(水) 16:54:59.06phpとかで作った方が早いんじゃね
0155デフォルトの名無しさん
2011/09/28(水) 17:00:02.81その辺はC#関係ないな
htmlとかweb系の話
0156デフォルトの名無しさん
2011/09/28(水) 17:23:38.290157デフォルトの名無しさん
2011/09/28(水) 17:38:23.42http://msdn.microsoft.com/ja-jp/library/cc671436.aspx
とりあずここを見ればいいんじゃね
違ったらすまんのう
0158デフォルトの名無しさん
2011/09/28(水) 18:20:30.550159デフォルトの名無しさん
2011/09/28(水) 19:42:18.00ほれ
/* --- コンテンツ ----------------------------------------------------------------------- */
#content {
width: 650px;
margin: 0px 0px 0px 0px;
padding: 0px 0px 0px 0px;
float: left;
background-color: #ffffff;
}
/* --- メイン ----------------------------------------------------------------------- */
#main {
width: 500px;
margin: 0px 0px 0px 0px;
padding: 0px 0px 0px 0px;
float: left;
background-color: #ffffff;
}
/* --- サイドナビ ----------------------------------------------------------------------- */
#sidenav {
width: 150px;
margin: 0px 0px 0px 0px;
padding: 0px 0px 0px 0px;
float: left;
background-color: #ffffff;
}
0160デフォルトの名無しさん
2011/09/28(水) 20:02:14.91#A{
position:relative;
padding-top:aaa;
padding-left:bbb;
}
#B{
position:absolute;
top:0;
left:0;
width:100%;
height:aaa;
}
#C{
position:absolute;
top:aaa;
left:0;
width:bbb;
}
<div id="A">
<div id="B">ヘッダー</div>
<div id="C">メニュー</div>
<div id="D">コンテント</div>
</div>
0161デフォルトの名無しさん
2011/09/28(水) 20:04:08.080162デフォルトの名無しさん
2011/09/28(水) 21:14:23.91メインスレッドから任意のメソッドを実行させたいんですが
ループ内に条件分岐つけてフィールド変数を条件にして実行させるくらいしか思いつかないんですが、
もっとスマートな方法ってありませんか?
このイベントを発生させるとこのスレッドの上で動く的な
0163デフォルトの名無しさん
2011/09/28(水) 21:16:46.48なんで「その」スレッドに拘る必要があるの?
何かスレッドのこと根本的に勘違いしてるんじゃないの?
0164デフォルトの名無しさん
2011/09/28(水) 21:22:38.66メインスレッドで他のスレッド立ち上げても次の瞬間にJoinしてたらほぼ意味が無い。
設計としては、スレッドにキューを持たせてそのキューに分岐変数をガシガシ突っ込みつつ、
スレッドは頑張って関数を処理するという感じだと思うんだが。。。
並列化したいんであれば、そういう処理を書いて、ワーカースレッドを増やすのがいいだろうね。
0165デフォルトの名無しさん
2011/09/28(水) 21:28:55.30待機はループ回したりしないでWaitHandle使う
.NET4ならBlockingCollection<T>使えば超簡単
0166デフォルトの名無しさん
2011/09/28(水) 21:33:27.600167162
2011/09/28(水) 22:01:20.44整理して出直します
0169デフォルトの名無しさん
2011/09/29(木) 10:04:33.58C#における参照渡しは中身の場所を表し、中身をそのまま渡すのは値渡しになっていますが
http://ufcpp.net/study/csharp/oo_reference.html
C++の参照渡しは内容そのものを渡して、場所を表すのはポインタ渡しと考えてよろしいのでしょうか?
http://www.kab-studio.biz/Programing/Codian/Pointer/06.html
・C#の参照渡し=C++のポインタ渡し
・C#の値渡し=C++の参照渡し
と、いうように思えてきました。
ググっていたらちょっと混乱してきたので、すいませんがよろしくお願いします。
0170デフォルトの名無しさん
2011/09/29(木) 10:23:52.00C++のポインタ付きとポインタなしが参照型と値型に大体重なる
参照渡しはC++にあった引数で(Hoge& hoge)って書く奴と大体同じ
C++だと参照&はローカル変数とかでも使えたがC#では引数のref/out限定
0171デフォルトの名無しさん
2011/09/29(木) 10:26:54.64C#で参照型を引数に渡すのは参照渡しじゃないよ。上のサイトにも参照渡しとは書いてないだろ。
変数の場所を渡すのがC#やC++でいう参照渡し。
変数の中身をコピーして渡すのがC#やC++でいう値渡し。
で、値型と参照型の違いは、値型は変数の中身そのものがオブジェクトなのに対して
参照型はヒープ上にあるオブジェクトの識別番号(ハンドル)が変数の中身になる。
0172デフォルトの名無しさん
2011/09/29(木) 11:35:29.54ああっ、参照型と参照渡しは全くの別物なのですか。
ところどころ「参照」「ポインタ」とだけ出てくるので混乱していました。
・変数のアドレスを渡す:参照渡し(参照型=アドレス=ポインタの位置のコピー)
・変数の中身を渡す:ポインタ渡し(ポインタが指定した場所の値を渡す)=値型の渡し
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1320144958
で、大体良いのですね。
ありがとうございました。
>C++ の参照型(&がつくやつ)は、本当に参照です。
>元の値をそっくりそのまま渡すというのが一番しっくりくるイメージです。まさに「参照」。
>#実際は、ポインタの特殊系と言うべき代物ですがw<怒られそうだw
>ちなみに、.NET の参照型と、Native C++ の参照型は、日本語にすれば同じですけど、意味(実装)はまったく違いますw
>#で、こういうこと言うと知らない人は頭抱えてしまうんだwww
>まず、C++でいうと、関数呼び出し時の渡し方って3パターンなることになってる(コーディングスタイル上)。
>・値渡し
>・ポインタ渡し
>・参照渡し
>で、イメージで言うと黒龍さんの言う通り、値渡しとポインタ渡しは結局はものをコピーで渡しているので、「渡し方」において違いはない。
>でも、参照渡しはそれでは説明がつかないので、私の場合は「同じ領域に別名がつくんだよ」と説明します。
http://blogs.wankuma.com/kokuryu/archive/2007/07/25/87015.aspx
0173デフォルトの名無しさん
2011/09/29(木) 11:56:16.89参照型の変数にはオブジェクトのIDが入っている。渡すときにはその値が渡る。それだけ。
0174デフォルトの名無しさん
2011/09/29(木) 14:22:50.58ソースのタブのフローティングを切る設定はどこですればいいですか?
0175デフォルトの名無しさん
2011/09/29(木) 15:17:17.26余計ややこしいだけだなwww
0176デフォルトの名無しさん
2011/09/29(木) 15:24:41.20C#やるならC++の記憶は消した方が楽かもね
0177169
2011/09/29(木) 15:51:41.42ポインタ渡しを直接使えるかC++/CLIでクロスライブラリを作るか考えてみたとこだったんです
0178デフォルトの名無しさん
2011/09/29(木) 15:57:42.58>参照型はヒープ上にあるオブジェクトの識別番号(ハンドル)が変数の中身になる。
って事実上は参照渡しじゃないの?
アドレスじゃないから厳密には違うんだろうけど
0179デフォルトの名無しさん
2011/09/29(木) 16:04:11.340180デフォルトの名無しさん
2011/09/29(木) 16:06:47.830181デフォルトの名無しさん
2011/09/29(木) 18:27:29.97ポインタや参照渡しの引数が指してるのは場所。
.netのハンドルが指してるのは場所じゃなくてオブジェクトそのもの。全然違う。
0182デフォルトの名無しさん
2011/09/29(木) 21:48:25.420183デフォルトの名無しさん
2011/09/29(木) 21:53:18.820184デフォルトの名無しさん
2011/09/29(木) 22:06:16.830185デフォルトの名無しさん
2011/09/29(木) 22:44:41.27C++で、「ポインター変数の参照渡し」って言われてちゃんと理解できる?
0186デフォルトの名無しさん
2011/09/29(木) 22:45:48.55http://ufcpp.net/study/csharp/sp_ref.html
こっちも合わせて読んで。
図を特に。
0187デフォルトの名無しさん
2011/09/29(木) 22:50:55.56C++には参照はあるけど参照渡しなんて用語はないでしょ。
何が「ちゃんと理解できる?」だよ。
後ろ向きに鏡指差してるAA貼られるぞw
0188デフォルトの名無しさん
2011/09/29(木) 22:52:35.76あくまでジョークだからな。
#include <iostream>
void f(int *(&p)){
*p = 100;
}
int main(){
int i=0;
int *p = &i;
f(p);
return 0;
}
0189デフォルトの名無しさん
2011/09/29(木) 23:00:26.91それはでも、「C++ には抽象メソッドはない」(やってることは純粋仮想関数と一緒)という程度の話では。
ジョークどころか、わりあいに書きやすい印象を受けました。二重ポインタよりも受け入れやすい、と考える人もいるかも。
http://hibari.2ch.net/test/read.cgi/tech/1277860967/504
http://codepad.org/nHqWWH51
0191デフォルトの名無しさん
2011/09/29(木) 23:10:15.48C++、書きやすいのは確実に参照渡しの方だけど、
呼び出し側が値渡し(& なし)と区別つかないから、
呼び出し側が気づかずに関数内で値書き換わって嫌だって話も多々ある。
それが結局、関数の引数に参照使わない文化生んでた。
0192デフォルトの名無しさん
2011/09/29(木) 23:10:41.140193デフォルトの名無しさん
2011/09/29(木) 23:14:24.28呼び出し側が気づかない、っていうのは普通はないでしょ。
そんなことが起こるとしたら、関数の命名もしくは仕様そのものが腐ってる場合だけ。
0194デフォルトの名無しさん
2011/09/29(木) 23:16:03.53聞いたことないけど
0195188
2011/09/29(木) 23:18:48.94あらあらあら、実用してる人いるのか。へぇー。
書き換えないときは参照で書き換えるときはポインタ。っていう感じでしか考えたこと無いな。
まー、引数でやってきたポインタを書き換えるのあんまりスキじゃないのだけどね。
んー、値渡しの対象がオブジェクトだったりすると、コンストラクタが裏でうごめくのが嫌、というのと、でもポインタを渡すのも嫌、というのとで
int &f(const someclass &a, const someclass &b);
というなんだかよくわからない(わけでもないけれども)やりかたがスタンダードなんですね。最近知りました。
0197デフォルトの名無しさん
2011/09/30(金) 00:59:25.29C++では変数参照をポインタの値のように扱えるから事情が複雑だけど
参照渡しはごく一般的な言葉だろ
VBのByRefとかまんま
0198デフォルトの名無しさん
2011/09/30(金) 05:15:03.06ライブラリ使う側はほんと底辺だと思って作ったうえで、
さらにその斜め下をいかれるものよ。
でなきゃ、気づかないなんて心配しない。
0199デフォルトの名無しさん
2011/09/30(金) 05:17:53.19そうそう、const 付きなら何の問題もない。
それはそれで、const に対応するようにクラス書くのが大変なんだけど。
あと、その const& な引数を COM Interop とかで C# から見ると、
ref だらけになって悲惨なことに。
0200デフォルトの名無しさん
2011/09/30(金) 21:52:55.16C#を勉強するのにお勧めの本は何?
0201デフォルトの名無しさん
2011/09/30(金) 22:16:15.76MSDNを見ながらいきなり作れるはず
0202デフォルトの名無しさん
2011/09/30(金) 22:27:46.68ご愁傷様
0203デフォルトの名無しさん
2011/09/30(金) 22:42:38.88本とかいらん
0204デフォルトの名無しさん
2011/09/30(金) 22:53:12.49VBのみだとどんなもんなのかな?
0205デフォルトの名無しさん
2011/09/30(金) 23:10:55.21一応C#とVBの新機能の紹介のはずなのにVB完全無視どころかdisってた
0206デフォルトの名無しさん
2011/09/30(金) 23:13:20.34なんか老けたなw
0207デフォルトの名無しさん
2011/09/30(金) 23:19:00.38例えば↓みたいなLINQと2重ループで地道に探すロジックとどっちが処理早いんでしょう?
var ret =
from a in hogeAList
join b in hogeBList on a.Id == b.Id
select a.Name
0208デフォルトの名無しさん
2011/09/30(金) 23:19:40.070209デフォルトの名無しさん
2011/09/30(金) 23:20:24.900210デフォルトの名無しさん
2011/09/30(金) 23:25:48.911・2割、LINQ の方が遅い。
けども、ループで回す方が早いからって、一時配列作ってそれにコピーを作ったりしたら、
今度はメモリ効率悪くなるし、データ量多いと性能も落とす。
0211デフォルトの名無しさん
2011/09/30(金) 23:26:17.17ToLookup使うとか考えるべき
0212デフォルトの名無しさん
2011/09/30(金) 23:36:08.03俺の感覚ではほとんど変わらないと思うけど
微妙に興味があるんで実際に測ってみてくれ
0213デフォルトの名無しさん
2011/09/30(金) 23:43:58.23でも>>210の言うようにループだと、結果を溜めるための一時配列が必要なんですよね。
結局はLINQは万能ではなく場合によって使い分けろということですか。
だがFindAllメソッドだけはクソ便利すぎるのでどんな時でも使うのをやめない!
JavaもLINQパクって標準仕様にすればいいのに。
0214デフォルトの名無しさん
2011/09/30(金) 23:44:08.68メモリ効率や速度より読みやすさが一番大事だったりするよな
0215デフォルトの名無しさん
2011/09/30(金) 23:50:22.690216デフォルトの名無しさん
2011/09/30(金) 23:54:41.77へ?
Listクラスからなくなったことですか?
0217デフォルトの名無しさん
2011/10/01(土) 00:11:12.770218デフォルトの名無しさん
2011/10/01(土) 00:15:15.23ICloneableとか
0219デフォルトの名無しさん
2011/10/01(土) 00:48:47.34どう設計するのが正しかったんだろうか
0220デフォルトの名無しさん
2011/10/01(土) 00:50:04.520221デフォルトの名無しさん
2011/10/01(土) 00:53:12.461000件のリスト2つでの結果。Stopwatchクラスで計測。
LINQ:00:00:00.0002997
ループ:00:00:10.4558394
LINQのほうが圧倒的に早いんだけど、何か間違ってるのかな・・・。
必要ならソースはりますが。
0222デフォルトの名無しさん
2011/10/01(土) 00:58:32.82LINQの方、多分クエリ作っただけでクエリを実行してないだろ
0223デフォルトの名無しさん
2011/10/01(土) 01:13:55.71うあ。その通りです。しにたい。
LINQの結果のToList()メソッド呼べばクエリ実行されますよね?
でもLINQのほうが早い。謎です。
LINQ:00:00:00.0027321
ループ:00:00:00.1062660
0224デフォルトの名無しさん
2011/10/01(土) 01:18:26.81要するに馬鹿の考え休むに似たり、ある物はどんどん使うべきということだな
0225デフォルトの名無しさん
2011/10/01(土) 01:25:11.87それなら最適化されるのはわかる
==と普通の式みたいに書いてあると素直にラムダ式に変換されてしまって最適化されなそうに見える
0226デフォルトの名無しさん
2011/10/01(土) 01:29:49.35へ〜。なるほど。ありがとうございます。
>>208,210は嘘ってことですか。
やっと寝れる。
0227デフォルトの名無しさん
2011/10/01(土) 01:31:46.91あ、そうです。equalsです。
勢いで書いたので == って書いちゃった。
なんかぐだぐだになってすみません。
0228デフォルトの名無しさん
2011/10/01(土) 16:27:38.10嘘じゃあなくてさ、Joinのやっているようなことをちゃんと再現すれば、
余計なオーバーヘッドがなくて速い。
でも、ちゃんと色々考慮して正しく書ける人って存外少ないんだろうね、
だから、色々考慮してメソッド化されたLINQ to Objectsを使うのが大体正しい。
0229デフォルトの名無しさん
2011/10/01(土) 16:33:09.73同一人物が連投してるだろう
0230デフォルトの名無しさん
2011/10/01(土) 16:37:22.78ちゃんと色々考慮したものとLINQを実際に測定してみてくれ
0231デフォルトの名無しさん
2011/10/01(土) 17:36:01.67http://ideone.com/HkAaw
先行が若干不利なので正しく計るならもっと丁寧にやらなきゃだけど。
あと、結局、要になるのはToLookupなのでそこも自前で書けば、だけどまぁ面倒なので。
0232デフォルトの名無しさん
2011/10/01(土) 18:20:16.93つか両方とも十分な速さだから、これが律速になることは無さそうですね・・・
0233デフォルトの名無しさん
2011/10/01(土) 18:22:21.620234デフォルトの名無しさん
2011/10/01(土) 20:06:19.64whileし続けるありふれた挙動をさせたいとき、
bool is_thread_must_running = true;
と用意して
while(is_thread_must_running)
{
}
というスレッドを外部からis_thread_must_running = false
で終了させるコードをネットで見つけましたが、
単一の変数への読み出しのみ、
書き出しのみはアトミックであると保障されていますか?
(javaはたしかそうだったような気がしますが)
また、is_thread_must_running はここを見る限り、
http://msdn.microsoft.com/ja-jp/library/x13ttww7.aspx
volatile にすべきですよね?
0235デフォルトの名無しさん
2011/10/01(土) 20:21:04.88volatileは必要
0236235
2011/10/01(土) 20:21:54.600237デフォルトの名無しさん
2011/10/01(土) 20:25:18.95なるほど、ありがとうございました!
0238デフォルトの名無しさん
2011/10/01(土) 20:51:45.290239デフォルトの名無しさん
2011/10/01(土) 20:54:46.510240デフォルトの名無しさん
2011/10/01(土) 22:36:28.75Timerなんかで定期的に監視して、指定の時間経ったらSocket.shutdown()とClose()したら良いんですかね
それとも同期ソケットを別のスレッドで実行する形が定石なんでしょうか
0241デフォルトの名無しさん
2011/10/01(土) 23:42:45.250242デフォルトの名無しさん
2011/10/02(日) 19:47:52.17という名前空間の中のクラスを、N1だけ省略して N2.C と書いて使いたいです。
ソースコードの先頭に using N1; を書いたのですが、ダメでした。
完全に N1.N2.C と書くか、using N1.N2; として C と書くしかないですか?
0243デフォルトの名無しさん
2011/10/02(日) 19:56:29.290244デフォルトの名無しさん
2011/10/03(月) 00:05:43.240245デフォルトの名無しさん
2011/10/03(月) 00:09:01.36ランダムで数値作って奇数は-1偶数は+1とかやれば?
0246デフォルトの名無しさん
2011/10/03(月) 00:11:21.11スクリプト言語っぽく(new[]{-1,1})[random.Next(2)]とか
0247デフォルトの名無しさん
2011/10/03(月) 00:17:03.93==0と!=0は半々の確率なの?
0248デフォルトの名無しさん
2011/10/03(月) 00:20:54.680249デフォルトの名無しさん
2011/10/03(月) 01:09:11.50の人?まだ困ってたんだw
0250デフォルトの名無しさん
2011/10/03(月) 18:51:44.80たとえば、イベントオブジェクトを大量に発行するプログラム(ゲームとか)動かすときにメモリ使いすぎてボトルネックになるってことはないの?
メモリ食って動きが鈍くなるとか、ガベージコレクションが頻繁に起こって動きがカクカクするとかしないのかな?
0251デフォルトの名無しさん
2011/10/03(月) 19:12:05.75第0世代のGCは頻繁に動くけど非常に高速
重いのは中途半端に長生きするオブジェクトが引き起こす上の世代のGC
0252デフォルトの名無しさん
2011/10/03(月) 19:45:02.090253デフォルトの名無しさん
2011/10/03(月) 20:43:15.87Windows Form アプリケーションを配布していました。
その際、必須コンポーネントに
Visual Vasic Power Packs 1.2
を加えていました。
そして、Visual Studio 2010 が登場し、
そのアプリケーションもVS2010用に変換して改修を行っていたのですが、
いざClick Once マニフェストで発行しようとすると、
必須コンポーネントに
Visual Vasic Power Packs 1.2
がなく、
Visual Vasic Power Packs 10.0
しか列挙されていません。
これだと、ユーザがClick Once マニフェストの利点を享受できず、
結局、サイトからVisual Vasic Power Packs 10.0
を落としてもらうしかなくなってしまいます。
この回避方法はありますでしょうか。
VS2010でも、VS2008時代の
Visual Vasic Power Packs 1.2
をコンポーネントに加えることはできないのでしょうか。
よろしくお願いします。
0254デフォルトの名無しさん
2011/10/03(月) 20:48:58.770255デフォルトの名無しさん
2011/10/03(月) 20:50:45.23ミッションクリティカルすぎて怖いんだが。
0256デフォルトの名無しさん
2011/10/03(月) 20:54:10.31>>253ですが、やはりVS2008で開発したものはVS2008を使用し続ける方がよいのでしょうか…。
0257デフォルトの名無しさん
2011/10/03(月) 21:04:15.300258255
2011/10/03(月) 21:07:26.57ボケが通じないとはヤルナ!!というのは置いておいて。
有る考え方だが、
開発スイートってお作法が有るわけよ。バージョン変わるとお作法も変わるわけだ。
それをよしとするならバージョンアップすればいいと思うし、嫌ならそのまま使うしか無い。
しかし、古いお作法はどこかで淘汰されるので適度に切り替える必要はあるが、君にとって今はその時かな?
どうだい??
っていう詭弁・・・。
正直、クリックワンスを発行したことが無いのでわからん。
ただ、プロジェクトの開発環境をアップデートするなら、根本から治すくらいでやらないと割りに合わないと思う。
小手先でやるなら、保守大変だよ。
0259デフォルトの名無しさん
2011/10/03(月) 21:20:07.25ありがとうございます。
何とか、Power Packs 1.2 をVS2010に連れてきたかったのですが、
Microsoft社は、それを許してくれないのでしょうか…。
ただ、おっしゃるとおり、新しいバージョンと世代交代して衰退するバージョンを
いつまでも抱きかかえても、いずれ行き止まりがくるでしょうね。
0260255
2011/10/03(月) 21:36:57.73ttp://msdn.microsoft.com/ja-jp/library/ms165429(v=VS.100).aspx
俺、ド素人だから外してるかもしれんけど。
0261デフォルトの名無しさん
2011/10/03(月) 22:29:29.630262デフォルトの名無しさん
2011/10/03(月) 22:36:54.15動的な型はヒープに確保される型じゃないの?C#だとClass型??
0263デフォルトの名無しさん
2011/10/03(月) 22:36:54.88リソースとしてZIPを登録してみました。
そのZIPの取り出しをしたいのですが・・・ネット上に圧縮ファイルの取り出しなんかやっている人はいないですね・・・
リソースファイルを取り出して指定した場所にコピーする方法はありますか?
0264デフォルトの名無しさん
2011/10/03(月) 22:38:18.26プロパティでバイト配列だったか、ストリームがとれたと思うのでそれをコピーするっていう話かな?
0265デフォルトの名無しさん
2011/10/03(月) 22:45:46.90ttp://dobon.net/vb/dotnet/programing/vsresource.html
0266261
2011/10/03(月) 23:11:40.59解決した、ここでいう静的てのはインスタンスの入れ物を指すみたい
動的ってのは262のいったとおり
説明不足だったwエスパーさんくす
0267デフォルトの名無しさん
2011/10/03(月) 23:32:53.44今はヒープに確保されるけどね
0268デフォルトの名無しさん
2011/10/04(火) 01:46:48.53いままで悩んでたのがあほらしくなった
0269デフォルトの名無しさん
2011/10/04(火) 09:16:45.43なにそれ
0270デフォルトの名無しさん
2011/10/04(火) 18:22:51.54既存のPrintDocumentをPDFに出力することはできませんか?
出来れば無償で。
0271デフォルトの名無しさん
2011/10/04(火) 18:33:00.02出力をPDF出力したければPDFプリンタ入れるだろ
素直にPDFとして保存するでいいじゃねえか
0272デフォルトの名無しさん
2011/10/04(火) 19:12:43.92下記のアクションを経た時にエラーとなってしまいます。
�@ メインフォームから、モーダルで別のフォーム(フォームA)を呼ぶ
�A フォームAが前面に立ち上がっている状態で、フォームA内にコードを記述しテキストファイルの読み込みを行う
�B テキストファイルの読み込みが終わった時点で、フォームA内のコードでフォームAをCloseする
�C メインフォームにてフォームAのDisposeを行う。ここで次のようなエラーが出ます。
↓
「コレクションは変更されました。列挙操作は実行されない可能性があります。」
上記のエラーについてGoogleで検索しましたが、
Foreach文で回しているときに起こりうるエラーであると記述しているサイトを多く見かけました。
しかし、メインフォームでもフォームAでも Foreach文 は使用していません。
なぜDispose時にエラーとなってしまうのでしょうか。
ご存知の方、教えてください。よろしくお願いします。
0273デフォルトの名無しさん
2011/10/04(火) 19:17:01.93VS2008で動作していた頃からこのロジックの部分を変更していないのですが、
CS2010に変換してから起きるようになりました。
コンポーネントの問題もあるのかなと感じてもいます。
0274デフォルトの名無しさん
2011/10/04(火) 20:07:34.91現在印刷出来る帳票を特定の場所にボタン一つで保存したい
↓
PDFプリンタだとダイアログが出てそのフォルダまで自分で移動しないといけない。
また、それがAcrobatのようなものなら、たぶんAPIが公開されてるので
細かい指定も出来るだろうけど、安っぽいやつだとそこまで出来ない。
↓
iTextSharp.NETを使えばPDFを作成して書き込むことが出来るけど、
現在ある帳票をiTextSharp用に作り直さないといけない。
そして、新規帳票も2種類作らないといけない。
↓
じゃ、PrintDocumentからPDF出力する方法があればいいんじゃね?
という流れで上の質問に行き着きました。
Accessの時は標準の機能でPDF化が出来たのですが、Accessには戻りたくない・・・。
0275デフォルトの名無しさん
2011/10/04(火) 20:22:23.94>>265
ありがとうございます。
とりあえず動くものは出来ました。でも、開発環境と別マシンでテストしたら
「UnauthorizedAccessExceptionは、ハンドルされませんでした。」
と蹴られました。
ソースはこんなソース
Byte[] data = Properties.Resources.Z;
using (System.IO.Stream srm = System.IO.File.Open(@"D:\\Z.zip", System.IO.FileMode.Create) )
0276デフォルトの名無しさん
2011/10/04(火) 20:24:04.730277デフォルトの名無しさん
2011/10/04(火) 20:25:49.27他のマシンでプログラムに読み込み権限か書き込み権限がない、または両方だとおもう。
0278デフォルトの名無しさん
2011/10/04(火) 20:34:04.95>>277
早速ありがとうございます。
お二方に頂いている内容は、プログラムを動かしているOSのドライブの
フォルダにそもそも権限が無いのではないか?
という意味で捉えてよろしいでしょうか?
ドライブのプロパティを確認したのですが、フルコントロール状態にしてみても
同じエラー出ました・・・
仮に権限がない場合は、プログラムで対策しなくてはいけないのですか?
0279デフォルトの名無しさん
2011/10/04(火) 21:27:22.46ご存知の方、教えていただけないでしょうか(>_<)。
0280デフォルトの名無しさん
2011/10/04(火) 21:48:49.95問題が再現できるコードをイデオンに貼らないのは何故?
例外と関係あるかどうか不明なプログラムの動作を書いても意味ないでしょ。
世の中にエスパーは存在しないこと分かってる?
0281デフォルトの名無しさん
2011/10/04(火) 21:51:53.94フォームをCloseしたらDisposeしなくていいんだけどな
Disposeメソッドとかで余計なことしてるんじゃない?
関係なかったらごめんね
0282デフォルトの名無しさん
2011/10/04(火) 21:54:04.77デバッグの仕方は分かるけど原因は分からんな
とりあえず例外の型(InvalidOperationException?)を調べて、エラーの出る直前までデバッグで実行
そしたら「デバッグ」の「例外」でCLR例外かから問題の型を探して「スローされるとき」にチェック
んで例外を発生させて、呼び出し履歴をチェックすればどのインスタンスが問題なのか分かるはず
どう直すべきかは判断できないので自分で考えて
0283デフォルトの名無しさん
2011/10/05(水) 00:56:09.59それをpictureBox1に表示させたいのですが、下記のように記述してみたもののエラーが出ます。
どのように記述すれば良いのかご指導頂けませんでしょうか?
pictureBox1.Image = pass[0];
型 'object' を 'System.Drawing.Image' に暗黙的に変換できません。
明示的な変換が存在します。(cast が不足していないかどうかを確認してください)
0284デフォルトの名無しさん
2011/10/05(水) 00:56:49.39地図表示をさせようと上記のサイトを参考に作りました
2ページ目の中央黒色のプログラムを書き、デバッグは通ったのですが
フォームに地図が表示されません
Visual C# 2008を使用しています
よろしくおねがいします
0285デフォルトの名無しさん
2011/10/05(水) 02:17:04.140286デフォルトの名無しさん
2011/10/05(水) 02:30:25.06>pass[0];
配列なのはわかるけど何の配列なのよ
Bitmap?
0287284
2011/10/05(水) 02:32:27.82ページに書いてあるサンプル「みんなの地球地図プロジェクト」から
「bnda.zip」と「hydrol.zip」を入手しました。
プロジェクトのShapeFilesフォルダに配置すると書いてありますが
ソリューションエクスプローラーに「ShapeFiles」フォルダーを作り
デスクトップに解凍したbnda.zipとhydrol.zipの中身をドラッグ&ドロップで
持っていったのですがこの方法で合ってますか?
あと、2ページ目のプログラム部分で(省略)って書いてあるのも気になります
0288デフォルトの名無しさん
2011/10/05(水) 02:37:52.73プロジェクト一式が入ってるフォルダの中に配布用とデバッグ用の
exeが入ってるところがあるのでその辺に実行に必要なファイルを置くしかないよ
0289デフォルトの名無しさん
2011/10/05(水) 02:44:10.43本質的な事じゃないけどファイル名ならpassじゃなくてpathじゃないのか?
0290デフォルトの名無しさん
2011/10/05(水) 07:16:42.49http://dobon.net/vb/dotnet/graphics/pictureboximageanddrawimage.html
0291デフォルトの名無しさん
2011/10/05(水) 09:08:01.92ダイアログの場合は呼んでね、Dispose
0292デフォルトの名無しさん
2011/10/05(水) 20:07:52.01皆様、回答くださりありがとうございます。
>>281さん
ShowDialogにてFormを呼び、そのForm内でClose()を実行し、呼び出し元のFormでDispose()をしています。
いくつかのPCで試してみた結果、
VisualStudio2008(または2010)がインストールされているPCではエラーとならず、
インストールされていないPCのみ、Dispose()時にエラーとなることが分かりました。
また、Dispose()の記述を外したら、エラーとなっていたPCもエラーとならなくなりました。
パソコンの環境によってエラーとなる場合とならない場合があります。
VSが入っているPCではエラーとならないことを考えると、
何かコンポーネントが足りないのかなとも思いました。
また、Dispose()を外したらエラーとならなくなったのですが、
本当にDispose()しなくて良いのかどうか不安です。
何が原因なのか分からなくなってきました。
0293デフォルトの名無しさん
2011/10/05(水) 20:12:37.63スクロールバーをドラッグしてる間はPanelの内容が全く動かず
ドロップ時にスクロール先に瞬間移動する
ちょっとなにいってるかわからんがもしれんが
普通のスクロールバーの挙動と違う
解決策教えてください
0294デフォルトの名無しさん
2011/10/05(水) 20:13:47.58Process.Startで動画ファイルに関連付けられたプレイヤーを起動するようにしているのですが
フォームはアクティブな状態を保ちたいのに、プレイヤーの方がアクティブになってしまいます
TopMostをtrueにしたり、this.Activate();にしてもアクティブ状態を維持できませんでした
どうすればいいでしょうか
0295デフォルトの名無しさん
2011/10/05(水) 20:28:39.66知らんけど
0296デフォルトの名無しさん
2011/10/05(水) 20:35:31.84数字は選べているのですが、どうも並び替えるほうが問題のようです。どこが悪いのでしょうか。
for( i = 0; i < 10; i++){
for( j = i+1; j < 10; j++){
if(a[i]>a[j]){
min = j;
}
tmp=a[i];
a[i]=a[min];
a[min]=tmp;
}
}
for( i = 0; i < 10; i++){
printf("%d\n", a[i]);
}
return 0;
}
0297デフォルトの名無しさん
2011/10/05(水) 20:38:14.28あとa[]の宣言は?
0298デフォルトの名無しさん
2011/10/05(水) 20:41:16.97エラーというか、乱数を選んだあと、プログラムが停止してしまいます。
0299デフォルトの名無しさん
2011/10/05(水) 20:42:17.750300デフォルトの名無しさん
2011/10/05(水) 20:43:26.84…と思ったがprintf?
0301デフォルトの名無しさん
2011/10/05(水) 20:45:22.96printf?質問するスレ間違えてないか?
0302デフォルトの名無しさん
2011/10/05(水) 20:45:36.39エラーコードといいますか、
実行すると、「問題があるので解決策を探しています」→「問題が発生したため、プログラムが正しく動作しなくなりました。」としか表示されません。
ちなみにさっきの前のコードはこうなっています。
#include<stdio.h>
#include<time.h>
int main (){
int a[10];
int i;
int j = 0;
int min;
int tmp;
srand((unsigned)time(NULL));
for( i = 0; i < 10; i++){
a[i] = rand () % 10;
printf("%d\n", a[i]);
}
printf("\n");
0303デフォルトの名無しさん
2011/10/05(水) 20:46:03.640304デフォルトの名無しさん
2011/10/05(水) 20:46:36.880305デフォルトの名無しさん
2011/10/05(水) 20:46:55.050306デフォルトの名無しさん
2011/10/05(水) 20:47:57.680307デフォルトの名無しさん
2011/10/05(水) 20:48:02.00お邪魔しましたすいません
0308デフォルトの名無しさん
2011/10/05(水) 20:54:48.92無理
0309デフォルトの名無しさん
2011/10/05(水) 20:57:49.73ShellExecute/ShellExecuteExでなんとかなるかも
0310デフォルトの名無しさん
2011/10/05(水) 21:06:53.90WinAPIを使ってやるしかないみたいですね
ありがとうございました
0311デフォルトの名無しさん
2011/10/05(水) 21:13:17.58ですが、お心当たりのある方、どなたか教えていただけないでしょうか(>_<)。
0312デフォルトの名無しさん
2011/10/05(水) 21:26:43.94ソース一式とスタックトレースを見られる人間にしか原因調査できないと思うよ
0313デフォルトの名無しさん
2011/10/05(水) 23:22:44.050314デフォルトの名無しさん
2011/10/05(水) 23:31:29.08だから、問題を再現できるコード出せよ馬鹿
0315デフォルトの名無しさん
2011/10/05(水) 23:34:40.130316デフォルトの名無しさん
2011/10/06(木) 00:35:02.430317デフォルトの名無しさん
2011/10/06(木) 16:09:15.55そのアンマネージコードからコールバックされる関数の引数にポインタが渡されてくる場合
C#側ではどうやって参照すればいいんでしょう?
0318デフォルトの名無しさん
2011/10/06(木) 17:43:50.82マジで腹減ってくるし
0319デフォルトの名無しさん
2011/10/06(木) 18:11:06.76PtrToStructureとかなんかそんな名前の奴
0320デフォルトの名無しさん
2011/10/06(木) 18:22:30.44コールバック?
0321デフォルトの名無しさん
2011/10/06(木) 18:49:12.33GetFunctionPointerForDelegateとかじゃないの?
初心者だから詳しくは知らないけど、ググればサンプルはたくさんありそうだよ。
マーシャリングは難しいねぇ。
0322デフォルトの名無しさん
2011/10/06(木) 23:30:33.05渡されてくるポインタが構造体なら
それと同じ構造体を作ってやってPtrToStructure
0323デフォルトの名無しさん
2011/10/07(金) 14:47:35.64"""とか3つ重ねてみてもうまくいかなかったんだが
0324デフォルトの名無しさん
2011/10/07(金) 14:49:38.93または
@""""
0325デフォルトの名無しさん
2011/10/07(金) 14:52:54.92文字リテラルっていうので覚えておきましょう
http://msdn.microsoft.com/ja-jp/library/aa691087%28v=vs.71%29.aspx
0326デフォルトの名無しさん
2011/10/07(金) 15:31:52.63さんくす
0327デフォルトの名無しさん
2011/10/07(金) 21:14:27.88一応、それぞれのボタンにマウスイベントを追加して、マウスの移動量に合わせて
ボタンのインデックスを変更して移動させるようにはできたのですが
これでよかったのでしょうか
ぐぐってもD&Dで順序を変える方法が見つからなかったので不安です
0328デフォルトの名無しさん
2011/10/07(金) 21:23:42.590329デフォルトの名無しさん
2011/10/07(金) 22:23:30.000330デフォルトの名無しさん
2011/10/08(土) 17:29:56.04・publicな抽象メソッドだけを持つクラスのようなもの
これについてですが、実際publicな抽象メソッドだけを持つクラスではだめなのですか?いまいちメリットがわかりません
あとIDisposableインターフェースなんですが、自作クラスに実装しただけでusing文が使えるようになるんですか?
class MyClass : IDisposable
{
〜略〜
}
こんな感じに書いて他のクラスからこんなことをやってみたんですが、うまくいきません
using(MyClass myclass = new MyClass())
{
}
どうすればIDisposableインターフェースを実装してusing文を使えるようになるでしょうか?
例としてソースを貼ってもらえると助かります
0331デフォルトの名無しさん
2011/10/08(土) 17:39:12.960332デフォルトの名無しさん
2011/10/08(土) 17:39:49.75クラスは多重継承できない
どこからか継承してきたクラスにIDisposableを追加したい場合を考えてみる
>あとIDisposableインターフェースなんですが、自作クラスに実装しただけでusing文が使えるようになるんですか?
使えるようになるよ
どうせVSが古いか、: IDisposableと書いただけで中身を実装してないか、どちらかだろ
0333デフォルトの名無しさん
2011/10/08(土) 17:42:11.39何が下さいだ
0334デフォルトの名無しさん
2011/10/08(土) 17:42:11.79・MyClassにpublic void Dispose(){}またはvoid IDisposable.Dispose(){}が定義されていない
0335デフォルトの名無しさん
2011/10/08(土) 17:45:41.071について、
インターフェースの宣言は何も実装してないことが美徳なのですよ。
あるフレームの手続がこんな感じ。ということを示せればそれでいいからです。
実装の際には未実装があるとコンパイルエラーになりますし、
半端な初期実装を持つよりも、奇妙な動作をしなくなります。
0336デフォルトの名無しさん
2011/10/08(土) 17:45:43.18{
public void Dispose(){}
}
これで動かなければ、誰も分からん
0337デフォルトの名無しさん
2011/10/08(土) 17:47:37.95今はね
0338デフォルトの名無しさん
2011/10/08(土) 22:25:42.38メモリのかたまりとして一気に、高速に比較できないでしょうか
0339デフォルトの名無しさん
2011/10/08(土) 22:31:16.71めもりまっぷとまっぷ
ttp://msdn.microsoft.com/ja-jp/library/dd997372.aspx
開発の基本だ
0340デフォルトの名無しさん
2011/10/08(土) 22:36:10.860341デフォルトの名無しさん
2011/10/08(土) 22:37:15.100342デフォルトの名無しさん
2011/10/08(土) 22:38:14.15これってマップトになるの?w
0343デフォルトの名無しさん
2011/10/08(土) 22:44:31.98http://www.clear-english.com/db/mapped.html
0344デフォルトの名無しさん
2011/10/08(土) 22:49:44.64IT業界ってまあ日本人が発音したのだろうけどマップドが多かった気がするんだよな
0345デフォルトの名無しさん
2011/10/08(土) 23:11:39.48AdvancedWindowsの目次が確かマップトになってたせいで
0346デフォルトの名無しさん
2011/10/08(土) 23:14:24.15ジョブス? ジョブズ
0347デフォルトの名無しさん
2011/10/08(土) 23:15:33.790348デフォルトの名無しさん
2011/10/08(土) 23:31:29.960349デフォルトの名無しさん
2011/10/09(日) 00:11:18.450350デフォルトの名無しさん
2011/10/09(日) 00:16:06.54どうせスレと無関係のこと書くならせめて他人の心を動かすこと書けよ。
面白いとか、いい事教えてもらったとか思えるようなこと。
そんなオッサンのオヤジギャグ以下の1行レス書いて何が楽しいの?
0351デフォルトの名無しさん
2011/10/09(日) 00:22:31.62駄目駄目言ってるだけじゃ駄目なんだぜ?!
ってくらい駄目なレスだな
0352デフォルトの名無しさん
2011/10/09(日) 01:42:39.710353デフォルトの名無しさん
2011/10/09(日) 14:29:30.67this.label1.Text =str;
this.toolStripStatusLabel1.Text = str;
labelには表示されてけどもう一方には表示されない
何か制約があるんでしょうか?
0354デフォルトの名無しさん
2011/10/09(日) 14:32:53.41フォント違いとかどうよ
0355デフォルトの名無しさん
2011/10/09(日) 14:52:10.10先頭からいくつかの文字を抜き出して表示したらちゃんと行けました
どうやら末尾に何かの文字列?があってそれが表示されない原因のようです
labelの表示で見た感じでは普通に英文字なだけなんですが
何か調べる方法はありますか?
\r\n\tこれらはついていませんでした。
0356デフォルトの名無しさん
2011/10/09(日) 15:00:33.21なんとなく原因がわかってきました
dllを利用してそこから返してくるバイト文字列をbytes[512]を
Encoding.Defaultで変換しているんですが
文字数を調べたら見た目はは10文字程度なんですが、str.Lengthは512文字になっていました
0357デフォルトの名無しさん
2011/10/09(日) 15:08:07.95dllの方はnull終端文字列のつもりで返してるんだろうけど
C#の文字列にはその概念が無いから\0にしてしまう
0358デフォルトの名無しさん
2011/10/09(日) 15:09:58.800359デフォルトの名無しさん
2011/10/09(日) 15:16:30.32そういうのがあったんですね
str=str.TrimEnd(new char[]{'\0'});
とすることでいけました
ありがとうございました
0360デフォルトの名無しさん
2011/10/09(日) 15:17:34.350361デフォルトの名無しさん
2011/10/09(日) 15:35:23.33行の値に応じてボタンの可視・不可視を制御することはできますか?
0362デフォルトの名無しさん
2011/10/09(日) 18:30:28.37WPFはそういうの得意だけどね
0363デフォルトの名無しさん
2011/10/09(日) 23:01:20.94サンプルや、Webサイト、書籍ご存知のかた教えて下さい。
0364デフォルトの名無しさん
2011/10/09(日) 23:08:38.430365デフォルトの名無しさん
2011/10/09(日) 23:21:56.930366デフォルトの名無しさん
2011/10/09(日) 23:40:31.43あれから>>358のやり方をやってみようと
格闘しているのですが、マーシャルエラーばかりでてうまくいきません
やろうとしているのは
"Sinku.dll を使う"でぐぐった一番上にあるサイトのソースと同じなんですけど
0367デフォルトの名無しさん
2011/10/10(月) 00:00:03.010368デフォルトの名無しさん
2011/10/10(月) 00:26:27.14winformなら、wmpを使うのが簡単で、他にはDirectShow.netやVLCのライブラリが使える
tagはtaglib-sharpが割と使えた
0369デフォルトの名無しさん
2011/10/10(月) 00:31:40.590370デフォルトの名無しさん
2011/10/10(月) 00:35:17.310371デフォルトの名無しさん
2011/10/10(月) 01:07:48.060372デフォルトの名無しさん
2011/10/10(月) 01:35:20.840373デフォルトの名無しさん
2011/10/10(月) 02:54:30.61[ StructLayout(LayoutKind.Sequential, CharSet=CharSet.Ansi)]
public struct StrParam
{
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 512)]
public byte[] str;
};
これを
[ StructLayout(LayoutKind.Sequential, CharSet=CharSet.Ansi)]
public struct StrParam
{
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 512)]
public String str;
};
こう
0374366
2011/10/10(月) 03:10:25.81ずっと悩んでました
public StringBuilder name;
とやっていてもマーシャルエラーが出て
どうやってsbを渡せばいいのかと悩んでました
それで試してみます
ありがとうございます
0375デフォルトの名無しさん
2011/10/10(月) 03:15:56.46ナンパしまくる;
俺.Dispose();
0376デフォルトの名無しさん
2011/10/10(月) 03:25:30.480378デフォルトの名無しさん
2011/10/10(月) 20:42:38.21変更したい場合、System.IO の Move()メソッドやMy.Computer.FileSystem の
Rename〜()メソッドではできないようです。これはどう解決していますか?
0379デフォルトの名無しさん
2011/10/10(月) 20:44:47.65DOSのころから大文字だろうか小文字だろうが同じファイル名称とみなすはず
なのでAPIも・・・
0380デフォルトの名無しさん
2011/10/10(月) 20:47:03.960381デフォルトの名無しさん
2011/10/10(月) 20:49:12.77a123.txt→A123.Txtなどの変更は、Explorerでは可能でした。
できれば同じようにならないものでしょうか。
0382デフォルトの名無しさん
2011/10/10(月) 20:51:58.87それはあくまで表示が違うだけだからなあ・・・
細かい話になるとファイルシステムの仕様を理解しないとできないかもしれない
0383デフォルトの名無しさん
2011/10/10(月) 20:54:07.27ということは、Explorerでは個々のファイル名を個別に覚えている、ということ
でしょうか。
0384デフォルトの名無しさん
2011/10/10(月) 20:58:08.790385デフォルトの名無しさん
2011/10/10(月) 21:02:36.52いや
DOSのころのファイル名称っていうのは8.3形式なんだよね
ファイル名称8文字と拡張子3文字
でwindowsのいつごろからか忘れたけどロングファイルネームっていう
拡張が行われてて大文字小文字を覚えてくれてるのはおそらく
8.3で収まるファイル名称であってもExplorerがロングファイルネーム扱いで
やってるんだと思う
なのでこの辺のファイルシステムにアクセスする方法もしくは
アクセスしてる関数もしくはアクセスさせるためのパラメーターが
わかればできないこともない
ただC#のファイル関連でそこまで気にしたことないのでC#の中で
できるのかわからん
APIを呼び出せば確実にできるだろうけど(OSやOSに関連するExplorerがやってるんだし
0386デフォルトの名無しさん
2011/10/10(月) 21:04:01.500387デフォルトの名無しさん
2011/10/10(月) 21:06:21.05前作った時はそうした
0388デフォルトの名無しさん
2011/10/10(月) 21:12:24.38すでに管理情報はあるしそこにファイル名称はあるから
(windowsにおいてはa123.txtもA123.Txt同じファイルとして扱われる)
ロングネーム(ロングファイルネームというのは一般的ではないようだスマソ)の
方は書き換えされないんだな
0389デフォルトの名無しさん
2011/10/10(月) 21:14:45.49http://www.itmedia.co.jp/help/tips/windows/w0490.html
ファイル属性の中にロングネーム使うかどうかとかあったはずなんだよな
もう忘れちゃった
0390デフォルトの名無しさん
2011/10/10(月) 21:14:53.730391デフォルトの名無しさん
2011/10/10(月) 21:24:17.31そうですか、APIで可能なものがありそうか調べてみます。
>>386>>387
その手がありましたか、なるほど。
0393デフォルトの名無しさん
2011/10/10(月) 21:35:49.980394デフォルトの名無しさん
2011/10/10(月) 21:38:20.860395378
2011/10/10(月) 23:36:21.47ttp://www.serpress.co.jp/winapi/no007.html
このAPIで出来ることがわかりましたが、これでやれるということは、
.NETは単純にラッピングすればいいのに、グレードダウンしていたことになる
んでしょうか。これってどうなんでしょね。
0396デフォルトの名無しさん
2011/10/11(火) 00:21:27.97日本のこんな偏狭スレの人間が知ってるとも思えないしw
0397デフォルトの名無しさん
2011/10/11(火) 00:56:41.84ドトネトは、恐らくパフォーマンスのために元の名前とファイルシステム上
等価の名前が与えられた時は無視する仕様になってるんだろう。
これは低レベルの操作をしたい場合には余計なお世話だけど、
ライブラリとしてはまあ妥当な仕様じゃない?
0398デフォルトの名無しさん
2011/10/11(火) 01:05:48.80再帰関数を用いて二分探索を作ろうと思うのですが、
再帰関数をうまく用いる方法が思いつかず困っています。
用いなければ以下のように作ったらうまく作動すてくれたのですが・・・
優しい人教えてください。
Int nibuntansaku (int x, int v[], int n)
{
int p, q, m;
p = 0;
q = n – 1;
while (p <= q) {
m = (p + q)/2;
if (x < v[m])
q = m – 1;
else if (x > v[m])
p = m + 1;
else
return m;
0399デフォルトの名無しさん
2011/10/11(火) 01:17:05.29再起関数はスタックを食いつぶすので深い再起は避けるべき。
むしろ、ループでどうにかなるならソッチの方がベターだな。
0400デフォルトの名無しさん
2011/10/11(火) 01:19:43.100401デフォルトの名無しさん
2011/10/11(火) 01:23:31.22ネスト数は大体200くらいだったような気がする。
0402デフォルトの名無しさん
2011/10/11(火) 01:40:46.84>>400
レスありがとうございます。
使っている資料の演習に
再帰を用いて作ってみろ
とあるので解いてみたいので、よろしければご教授お願いします。
資料は昔兄が大学で貰った資料なので答えがないです。
0403398
2011/10/11(火) 01:46:59.05お前らに聞いたのが間違いだったわww
0404デフォルトの名無しさん
2011/10/11(火) 02:10:02.09カッコワルw
0405デフォルトの名無しさん
2011/10/11(火) 02:16:05.03’この程度の問題’をなぜ質問したのか・・・。
数分で音を上げて勝利宣言とかどうなんだろうね。
0406デフォルトの名無しさん
2011/10/11(火) 02:18:16.940407デフォルトの名無しさん
2011/10/11(火) 03:09:49.850408デフォルトの名無しさん
2011/10/11(火) 04:16:04.330409デフォルトの名無しさん
2011/10/11(火) 07:37:43.230410デフォルトの名無しさん
2011/10/11(火) 07:38:51.040412デフォルトの名無しさん
2011/10/11(火) 08:57:48.03管理者うらやましす
0413412
2011/10/11(火) 09:13:24.73全然バレないしな
0414デフォルトの名無しさん
2011/10/11(火) 10:29:16.230415デフォルトの名無しさん
2011/10/11(火) 12:30:05.81自動化厨御用達のSendInputすら無いんだぞ
期待するだけ無駄
0416デフォルトの名無しさん
2011/10/11(火) 13:07:20.940417398
2011/10/11(火) 13:11:00.670418デフォルトの名無しさん
2011/10/11(火) 13:24:24.210419デフォルトの名無しさん
2011/10/11(火) 17:08:13.330420デフォルトの名無しさん
2011/10/11(火) 22:39:16.87結合セルの動作がよくわかんない。
3×3の結合セルから3行ってのを取りたくて
mergearea.rows.countってやっても
1が帰って来ちゃう。
どうやったら3行って取れるの?
0421デフォルトの名無しさん
2011/10/11(火) 22:41:54.04あんたの質問こそよくわかんない。
日本語でお書きください。
0422デフォルトの名無しさん
2011/10/11(火) 22:42:50.83描画がちらつきます。
ちらつかないようにするにはどうしたらいいでしょうか?
private void button1_Click(object sender, EventArgs e)
{
while (true)
{
foreach (Control con in panel1.Controls)
{
panel1.Controls.Remove(con);
}
if (panel1.Controls.Count == 0) break;
}
for (int i = 0; i < 10; i++)
{
TextBox tb = new TextBox();
tb.Top = i * 20;
tb.Left = 10;
panel1.Controls.Add(tb);
}
}
0423デフォルトの名無しさん
2011/10/11(火) 22:46:27.810424デフォルトの名無しさん
2011/10/11(火) 22:46:42.33フォームのチラつき制御で調べるとでてくるとけど
winformの場合完全にチラつきを排除できないよ
0425デフォルトの名無しさん
2011/10/11(火) 22:46:46.660426デフォルトの名無しさん
2011/10/11(火) 22:49:35.51Windows Formだもの
0427デフォルトの名無しさん
2011/10/11(火) 22:55:21.56XNAで作り直します。
0428デフォルトの名無しさん
2011/10/11(火) 23:04:32.11cell.MergeArea[cell.MergeArea.Count].Row - cell.Row + 1ってな感じかな?
0429デフォルトの名無しさん
2011/10/11(火) 23:08:16.91意味はよく飲み込めないけど
明日試してみるわ。
ありがとう。
0430デフォルトの名無しさん
2011/10/12(水) 02:06:24.70他の人のコードみると驚くほど短い
何がいけないんだ・・・
0431デフォルトの名無しさん
2011/10/12(水) 02:10:41.85というかそれなりの処理してればコードは増えるよ
気になるならMSのSystem.xxxのソースコード見てきなよ
0432デフォルトの名無しさん
2011/10/12(水) 08:14:14.480433デフォルトの名無しさん
2011/10/12(水) 08:28:42.90こうするのと、usingディレクティブを使用して
XmlSerializer ser= new
こうするのだとコストが違ったりするの?
開設サイトは分かりやすくするために修飾子つけているだけ?
0434デフォルトの名無しさん
2011/10/12(水) 08:33:52.63しないよ
0435デフォルトの名無しさん
2011/10/12(水) 08:48:20.99ビルドして出来上がる物はかわらない
コードの見た目の問題とか入力の問題とか
usingで使うところを指定しておけば
XmlSerializer ser= new・・・
ではじめれるからねえ
usingを書いてなければその都度
System.Xml.Serialization.XmlSerializer ser = new・・・
と書いていかなきゃいけなくなる
いくら支援があるとはいえね・・・
>開設サイトは分かりやすくするために修飾子つけているだけ?
そうだと思う
using ・・・・
と
XmlSerializer ser= new・・・
ってコピペする場合は書く位置が違うからね
そんなの説明するくらいなら解説サイトは
System.Xml.Serialization.XmlSerializer ser = new・・・
とusingで分離しない方が簡単だし
0436デフォルトの名無しさん
2011/10/12(水) 13:07:00.76usingをどんどん使っていきます
0437デフォルトの名無しさん
2011/10/12(水) 13:12:53.67どういったものを使えばできるようになるでしょうか?
0438デフォルトの名無しさん
2011/10/12(水) 13:15:03.12もしくは3.5でChartコントロールをインストール
0439デフォルトの名無しさん
2011/10/12(水) 14:26:16.57オレもそうだ。
条件分岐なんかしてると、それぞれにメソッド作って分けて書けばいいんだろうけど、
ついつい、そのままifとeise ifの間にズルズル書いちゃう。
こういうのスパゲッティっていうのだろうな。
0440デフォルトの名無しさん
2011/10/12(水) 14:28:55.570441デフォルトの名無しさん
2011/10/12(水) 15:24:24.040442デフォルトの名無しさん
2011/10/12(水) 15:25:07.030443デフォルトの名無しさん
2011/10/12(水) 16:24:44.500444デフォルトの名無しさん
2011/10/12(水) 17:20:29.780445デフォルトの名無しさん
2011/10/12(水) 18:24:02.18いいプログラムって出発点から違うんだろうな。
おれなんか逐次的な処理のコードしか書けん。情けないorz
0446デフォルトの名無しさん
2011/10/12(水) 18:26:03.01その考えは改めたほうがいい
0447デフォルトの名無しさん
2011/10/12(水) 18:26:44.33それにオブジェクトだってそれほど大きく逸脱した物でもないし
0448デフォルトの名無しさん
2011/10/12(水) 19:00:35.71役割りの不明瞭なクラスが量産されて大変な事になりそう
0449デフォルトの名無しさん
2011/10/12(水) 19:07:19.93privateなメソッドが増えていく
0450デフォルトの名無しさん
2011/10/12(水) 19:17:27.45機能別にまとめてpartial classをいくつか作ることが多い。
1ファイル500行くらいが限界?みんなどう?
0451デフォルトの名無しさん
2011/10/12(水) 19:21:56.92そんなもんで大体収まるから、
収まらないのも例外として認めてるかな
0452デフォルトの名無しさん
2011/10/12(水) 19:53:25.95メソッドは全部畳んでおく。
あとエディタじゃなくて一覧から探す。
0453デフォルトの名無しさん
2011/10/12(水) 19:54:07.14あれも使えばいい
0454デフォルトの名無しさん
2011/10/12(水) 20:00:46.270455デフォルトの名無しさん
2011/10/12(水) 20:05:36.65VS2010EEかなり力技で作ってるからwww
誰か教えてよ。
0456デフォルトの名無しさん
2011/10/12(水) 20:17:55.810457デフォルトの名無しさん
2011/10/12(水) 20:55:27.71あんたの目は節穴ですかw
0458デフォルトの名無しさん
2011/10/12(水) 21:00:18.980459デフォルトの名無しさん
2011/10/12(水) 21:11:48.89VC++ではクラスビュー使いまくるんだけど
0460デフォルトの名無しさん
2011/10/12(水) 21:14:37.16なぜかないのが謎。
0462デフォルトの名無しさん
2011/10/13(木) 01:35:05.63変更しても、反映されない
0463デフォルトの名無しさん
2011/10/13(木) 01:36:44.110464デフォルトの名無しさん
2011/10/13(木) 01:41:22.700465デフォルトの名無しさん
2011/10/13(木) 01:52:03.83using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
static class Program
{
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
Draw draw = new Draw();
draw.change();
}
}
class Draw:Form1
{
public void change()
{
button1.Enabled = false;
}
}
実行すると、button1はfalseになるはずなのですが、実際にはtrueです。
0466デフォルトの名無しさん
2011/10/13(木) 01:54:43.02Application.Run(new Form1());
のところでずっと処理してるんじゃないの?
0467デフォルトの名無しさん
2011/10/13(木) 01:56:43.530468デフォルトの名無しさん
2011/10/13(木) 01:59:04.11Form1上でやれば済む話なのですが
0469デフォルトの名無しさん
2011/10/13(木) 01:59:33.630470デフォルトの名無しさん
2011/10/13(木) 01:59:58.00.netはほとんどが参照渡しだから
メソッドやクラスを作りまくってもいけるんだけど
VBとか昔のに慣れているから、おれもついそういう感じにしちゃう
0471デフォルトの名無しさん
2011/10/13(木) 02:00:26.910472デフォルトの名無しさん
2011/10/13(木) 02:01:58.49Form1の中に書くように
0473デフォルトの名無しさん
2011/10/13(木) 02:04:27.52{
Draw draw = new Draw();
draw.change();
}
こうですか?できません
0474デフォルトの名無しさん
2011/10/13(木) 02:06:14.500475デフォルトの名無しさん
2011/10/13(木) 02:07:56.81private void Form1_Load(object sender, EventArgs e)
{
button1.Enabled = false;
}
あとその場合の尋ね方は
「こうですか?わかりません><」
が正しい
0476デフォルトの名無しさん
2011/10/13(木) 02:09:45.97無理なようなので、諦めます
0477デフォルトの名無しさん
2011/10/13(木) 02:12:09.62飽きるだろうし
0478デフォルトの名無しさん
2011/10/13(木) 02:13:32.38そういう実装をしようと思ったのかとか説明できない時点であれなんだな・・・
Application.Run(new Form1());
Draw draw = new Draw();
draw.change();
これを
Draw draw = new Draw();
Application.Run(draw);
draw.change();
ってやればいいよ
でもそれで本当に正しいかどうかは何をやりたいのかという
本筋が説明されてないのでわからんけどw
0479デフォルトの名無しさん
2011/10/13(木) 02:15:59.070480デフォルトの名無しさん
2011/10/13(木) 02:16:42.51ListViewで項目が削除されたイベントが起きたら
データを管理しているクラスにイベント内容を送り
それを元にデータ管理クラスが項目を削除して
Formに削除実行したとイベントを発行する
それを元にListViewの項目を削除する
物凄く遠回りな感じだけど、Formでデータ管理も削除判定も
全部やってた頃より、見た目がすっきりした気がする
0481デフォルトの名無しさん
2011/10/13(木) 02:18:29.70そういう最終的な仕様を想定した中でこの部分はこうしたいっていうのは
あるのはわかるがそのなんで>>465になったのかがわからないと
対処療法的な回答しかできないだよな
本当はそんなことしなくてもいいことなのかもしれないのに
でも過程を答えてくれない以上は対処的は話しかできない
しかも教える側としても気持ちの悪い対処方w
0482デフォルトの名無しさん
2011/10/13(木) 02:19:13.48ハンドメイドとは恐れ入る
0483デフォルトの名無しさん
2011/10/13(木) 02:21:46.47コントロールを直接いじるクラスを別に作りたいなら
継承じゃなくて、Form1のインスタンスを管理するクラスに丸ごと渡すしかないんじゃないかな
継承してもそれはform1とは別のボタンだよ
こういうことじゃなくて?
0484デフォルトの名無しさん
2011/10/13(木) 02:23:08.84仕様の説明を聞くことで本人の理解度もわかるかなあと思ったけどそれすら
しないってことは・・・・
0485デフォルトの名無しさん
2011/10/13(木) 02:29:19.42ハンドメイドじゃないやり方となると
やっぱりWPFになるのかな?
0486デフォルトの名無しさん
2011/10/13(木) 02:30:18.52for文使ってDataGridView.Rows[i].Cells[i].Valueでループさせて取り出していくしかないんでしょうか?
何かいい方法があったら教えて下さい
0487デフォルトの名無しさん
2011/10/13(木) 02:31:54.03Panelとかのコンテナで管理させてもいいのにね
でもやりたいことの大枠を教えてくれないことにはアドバイスのしようもない
0488デフォルトの名無しさん
2011/10/13(木) 02:33:08.69そのインターフェースを通して操作する方が楽だよ
MVPてやつ
0489デフォルトの名無しさん
2011/10/13(木) 02:38:49.44配列っていうかDataGridView自体[row,column]のインデクサ持ってなかったか
0490デフォルトの名無しさん
2011/10/13(木) 02:43:55.91BitmapFrameを生成中に(bf = BitmapFrame.Create...の行)他の画像を読み込ませたくて、中断したいときどうすればいい?
CancellationPendingプロパティで判断したくともできないし。
あと、高解像度画像を扱う場合の定石みたいなのある?MemoryStream使うと良いとか。
ds = Dispatcher.CurrentDispatcher;
bw.DoWork += (s, e) =>
{
BitmapFrame bf;
using (var st = File.OpenRead(((string[])e.Argument)[0]))
{
bf = BitmapFrame.Create(st, BitmapCreateOptions.None, BitmapCacheOption.OnLoad);
bf.Freeze();
}
ds.BeginInvoke(new Action<BitmapSource>((bs) => ImageData = bs), bf);
};
0491デフォルトの名無しさん
2011/10/13(木) 02:45:56.50今ある程度アプリが出来て
よりわかりやすいようにコードを修正している段階なんだけど
インターフェースってものを今まで使ったことが無かった
この機会に調べてみます、MVPについても
ありがとう
0492デフォルトの名無しさん
2011/10/13(木) 03:02:10.450493デフォルトの名無しさん
2011/10/13(木) 04:26:30.53入れてない人のためにオススメ書いとく
タブの表示状態をいろいろ変更できる
productivity power tools
プロジェクトが保存されているフォルダを開くことができる
powercomands
インデントのラインをひいてくれる
Indent Guides
左にコード全体を簡略化して表示
VS10x Code Map v2
0494デフォルトの名無しさん
2011/10/13(木) 09:58:59.00コンストラクタでコールバック食わせて
Readメソッドをオーバーライドして
バッファサイズ×100読んだら1回くらいの割合で問い合わせる感じ
0495デフォルトの名無しさん
2011/10/13(木) 17:18:39.85データがソートされるとListViewもソートされるようにしたいんですが
0496デフォルトの名無しさん
2011/10/13(木) 17:32:05.17相手がDataViewならListChangedイベントで再構成するぐらい?
0497486
2011/10/13(木) 18:50:27.65DataGridViewってインデクサ持ってたんですね。
でもやっぱりfor文でループさせて1個ずつ取り出すしかないんですね。ありがとうございました
0498デフォルトの名無しさん
2011/10/13(木) 19:30:45.79データのポインタをListViewItemのTagにセットしておけば・・・
0499デフォルトの名無しさん
2011/10/13(木) 20:51:38.66どうやって使い分ければいいんでしょうか?
0500デフォルトの名無しさん
2011/10/13(木) 20:54:41.42new -> メモリを確保して機能を使えるようにする。
override -> すでに定義されているメソッドを上書きして機能を変更する。でも元機能がoverride可能でないと不可能。
なぜそこをまとめて質問するのかちょっとわからん。
0501デフォルトの名無しさん
2011/10/13(木) 20:56:16.63おいおいw
C#のnewには、他の言語でいうシャドウイングの機能もある。
0502デフォルトの名無しさん
2011/10/13(木) 20:56:43.69ちゃんとした開発でのバージョン管理のための機能なのでわかんないなら使わなくていい。
0503デフォルトの名無しさん
2011/10/13(木) 21:02:20.37>>502
初心者が初心者にデタラメ教えてどうすんの
0504500
2011/10/13(木) 21:04:32.69>>502の言葉を信じるなら、すでに使われてる名前の別の機能のメソッド定義って感じか。
この別定義は継承元のオブジェクトの機能とは全く関係がない。
ってことだよね??
0505デフォルトの名無しさん
2011/10/13(木) 21:05:53.71基底クラスに追加されたときに、前からその派生クラスを使ってたコードが誤動作しないようにするのが目的
最初から使うもんじゃない
そういうのをC#の言語仕様の中ではバージョン管理と呼ぶんだよ
0506500
2011/10/13(木) 21:12:16.19すでに継承済みの実装があるときに、根っこを変えた時の副作用を抑制する感じか。
でも、なるべくそういう機能は使わないで基底は最初からスーパーセットにしておくのが理想だよな。
なるほど。一個賢くなったよ!=D
0507505
2011/10/13(木) 21:14:01.39>>505の状況になる→派生クラスをコンパイルしたときに警告が出る→問題ないことを確認したらnewで警告抑制
という流れになる
0508デフォルトの名無しさん
2011/10/13(木) 21:20:32.14overrideではなくnewすべきなのかな?
0509デフォルトの名無しさん
2011/10/13(木) 21:23:02.150510デフォルトの名無しさん
2011/10/13(木) 21:27:14.33インターフェイスを実装する場合に必要になることはあるけど
0511デフォルトの名無しさん
2011/10/13(木) 21:37:17.14書いてあるのは「new修飾子を付けずに同名のメソッドを定義してもエラーとならない理由」だな
0512デフォルトの名無しさん
2011/10/13(木) 21:43:01.28http://msdn.microsoft.com/ja-jp/library/ms173153.aspx
意図がとてもよくわかる
0513500
2011/10/13(木) 22:11:06.17その文章を読んでバージョン管理という命名の意図が読めたきがする。
継承の世代管理と互換性の切り分けがうまく仕組みに入ってるんだな。
まだモヤっとしてるから、実験してみるよ。うむ〜。
0514デフォルトの名無しさん
2011/10/13(木) 22:16:51.53「newだとポリモーフィズムできないよ」
でいいんじゃないの?
0515500
2011/10/14(金) 00:04:50.35http://ideone.com/1Exdn
しかし、納得しても説明するのが難しいな。
newはnewで宣言したとある継承世代以降の同名の実装を切り替える。基底には触れないし実装後の名前をしらないと基底から呼べない。
overrideは基底にあるvirtualを上書きするから、基底世代が構築したフレームワークを書き換えるまたは上書きする。
世代の概念があるからバージョン管理。かなぁ。。。
newは>>502が正解のような気がする。気がする・・・。
さて、そろそろ名無しに戻るよ。戻るよ!!ノシ
0516デフォルトの名無しさん
2011/10/14(金) 00:24:04.70Javaでは、派生クラスが存在する可能性のあるクラスに対して、既存のコードが絶対に誤動作しないように
パブリックメソッドを追加するということはできないの。
派生クラスに同名のメソッドがあったら勝手にオーバーライドされてしまって、派生クラス作成者が意図しない動作になるから。
C#ではそうならないようにするためにシャドウイングをデフォルトの動作にしたりoverrideを明示的に書かせたりしてるわけ。
0517デフォルトの名無しさん
2011/10/14(金) 00:35:21.72命名ルールの観点で参考になるc#の
オープンソースなんかない?
0518デフォルトの名無しさん
2011/10/14(金) 00:37:26.67.NET Framework
0519デフォルトの名無しさん
2011/10/14(金) 01:55:43.790520デフォルトの名無しさん
2011/10/14(金) 02:05:02.660521デフォルトの名無しさん
2011/10/14(金) 02:26:44.52public な部分に関しては、ソースなくても見れるじゃん。
private な部分はあんまりとやかく言わないってのは MS ガイドライン。
0522デフォルトの名無しさん
2011/10/14(金) 04:30:04.90定めなくても枠に嵌りたい人から不満が出るけど
0523デフォルトの名無しさん
2011/10/14(金) 04:32:54.82(MSみたいな所が)規約を定めると
です
集団に規約が存在することは大事だと思いますよ
0524デフォルトの名無しさん
2011/10/14(金) 04:36:59.33>>498
大変そうなのでDataGridViewでやったら簡単にできました
ありがとうございます
0525デフォルトの名無しさん
2011/10/14(金) 06:41:45.830526デフォルトの名無しさん
2011/10/14(金) 08:31:05.170527デフォルトの名無しさん
2011/10/14(金) 08:36:40.550528デフォルトの名無しさん
2011/10/14(金) 09:52:12.24状態遷移図とか、gotoの方が書きやすい場合もある
0529デフォルトの名無しさん
2011/10/14(金) 10:30:30.90DataGridViewにバインドしたList<自作クラス>をソートしようと
いろいろ調べた結果ラムダ式が簡潔みたいなのでやってみたんですが
こんな感じになっちゃいました、項目が増えると同じようなコードが・・・
普通はどういうことをするんでしょうか?
自作クラスをIComaparableにしたり、IComparerインターフェースを作る方法が思うのですが。
データの量は10列の一万行ぐらいです
0530デフォルトの名無しさん
2011/10/14(金) 10:39:53.26違ってていい
0531デフォルトの名無しさん
2011/10/14(金) 11:29:06.47その場合、MS のソースコードを参照するってあんまり役に立たないのよ。
private フィールドはおおむね _hoge なんだけど、規約違反も多いというか。
MS は最大で10人程度のチームが最小単位で、その中で自由にやっていい(テストさえ通れば)。
その外側でレビューされるのは public メンバーだけなんじゃないかな。
0532デフォルトの名無しさん
2011/10/14(金) 12:54:05.90したんですが、パネルがフォーカスを得られないのでいまいちです。
マウスがパネルの上にいるときにマウスホイールが効くように
するにはどうしたらいいでしょうか?
0533デフォルトの名無しさん
2011/10/14(金) 13:03:06.170534529
2011/10/14(金) 13:03:10.21表示に合わせてというのがどういう意味かよくわからないんですが
バインドしないとなると、データの受け渡しと、DataGridViewに追加削除する
作業などを自前でやらなくてはいけなくなると思うんだすが
それにDGVでソートされたアイテムと同じものをDBから削除する場合
idxが変わってしまっていてどれを削除すればいいか、項目と一致するものを
探さないといけなくなると思うんですが
0535デフォルトの名無しさん
2011/10/14(金) 13:05:58.17インデックスでやらないでデータの中でキーに使えそうな物で検索すればよくね?
0536デフォルトの名無しさん
2011/10/14(金) 13:47:35.91面倒くさいから親フォームでWM_MOUSEWHEELが来たら
メッセージをリダイレクトしたら
0538デフォルトの名無しさん
2011/10/14(金) 15:49:47.87ならないって言ってるような物だろw
0540529
2011/10/14(金) 16:09:46.81ソートについて教えてくれよ
0541529
2011/10/14(金) 16:11:31.03529の質問は取り下げます
0542デフォルトの名無しさん
2011/10/14(金) 17:46:39.95仕事の合間に和ませてもらったよ
0543デフォルトの名無しさん
2011/10/14(金) 18:52:15.08javascriptならjQuery読んどけ!ってなるけどC#にコールドリーディングの定番はないかな
ないならTwintailを読む
作りたいものがTwintailに近いからなんだけど
0544デフォルトの名無しさん
2011/10/14(金) 18:54:52.770545デフォルトの名無しさん
2011/10/14(金) 18:56:25.59他に薦めるものもないから止めないけどね
0546デフォルトの名無しさん
2011/10/14(金) 19:53:16.00今気づいたけど設計の勉強と割りきってしまえばJavaでもいいんだよな。。。
0547デフォルトの名無しさん
2011/10/14(金) 20:24:26.93いわゆる MVC 的なものって、HTML アプリを想定するか、クライアントアプリを想定するかで全然パターン違うんで、あんまり参考にならないかも。
0548デフォルトの名無しさん
2011/10/14(金) 20:25:39.83アプリケーションアーキテクチャガイドで出してるやつか、
Code Recipe で MS が公式提供してるサンプルかかなぁ。
0549デフォルトの名無しさん
2011/10/14(金) 21:26:12.230550490
2011/10/15(土) 03:10:07.35ありがとう。
しかし実際に試してみたけどストリームの読み込み自体は時間かからず、
ネックになるのはデコードとImage.Sourceへの適用だった。
デコードはBackgroundWorker上で可能だけど、Image.Sourceへの適用は
どうしてもUIスレッド上で行わなければならず、UIのフリーズが避けられない状況。
中断自体も困難ぽいのでまたほかの方法模索してみる。
0551デフォルトの名無しさん
2011/10/15(土) 04:27:38.83このようなC#の自動プロパティってどんな時に使うんですか?クラス継承した時とかですか?
0552デフォルトの名無しさん
2011/10/15(土) 06:20:50.23Publicだとどのクラスからでもアクセスできる可能性があるけど
インターフェースを利用することで特定のクラスに向けてトンネルを作るような感じ
必要ないPublicなメソッドやプロパティを見えなく出来るのはわかりやすい
0553デフォルトの名無しさん
2011/10/15(土) 07:07:30.72あのー、そのアクセスレベルについて便乗質問なんですが、
時々「公開するつもり無いからpublicは使いたくない。てことでintarnal使ってる」
とか、「公開」にこだわってる人見かけますが、どういうことなんでしょ?
privateで無理なアクセスならpublicでいいじゃん?と初心者なオレは思ってしまうんだけど、
publicにすることでどんなデメリットがあるんですか?
初心者にも分かるよう、具体的に教えていただけるとうれしいです。
0554デフォルトの名無しさん
2011/10/15(土) 07:43:36.58データを書き換えられちゃったら困る場合がある
だからインターフェース使うなりinternalにするなりして見えなくしてしまう
全体像を覚えているうちはいいけど、規模が大きくなっていくと忘れてしまう
忘れててもいいように、もしくは複数で開発してもいいように作ってる
0555デフォルトの名無しさん
2011/10/15(土) 07:51:10.59理由の一つは、非公開の変数は内部でどのように使おうが自由だって事もある
拘束される部分が出来るだけ少ない方が作るのもメンテナンスも簡単になるでしょ
0556デフォルトの名無しさん
2011/10/15(土) 08:26:35.90ありがとうございます。
外部アプリからいじられちゃうんですか?
それって、namespace名やclass名、変数名をオリナリティなものにしたら、
ほとんど回避できませんか?
それでも可能性はゼロじゃないということですか?
それとも意図的に解析して進入してくることに対するセキュリティってことですか?
いずれにしても、すごーく確率の小さいことを言ってるわけですね?
でも大きなプロジェクトになるとそういう配慮が必要なんだろうなあ。
0557デフォルトの名無しさん
2011/10/15(土) 08:30:52.23進入 →侵入
0558デフォルトの名無しさん
2011/10/15(土) 08:41:59.05名前が独自のものだとか、そういうものは関係ない。
わざとわかりづらい名前に変える難読化というのもあるが、それは別のお話。
誤って操作しなくていいものを容易に操作できないようにするというのは、
例えば非常用ベルを誤って操作しないようにガラスの中に入れておくとかそういうイメージ。
0559デフォルトの名無しさん
2011/10/15(土) 08:49:24.09複数の人間が一緒に作ってるときは効果的かなと思ったのですが。
0560デフォルトの名無しさん
2011/10/15(土) 08:57:58.06「そんなことしても無駄だ」ということか。
0561デフォルトの名無しさん
2011/10/15(土) 09:05:01.33一人でやっていても作りこんでいくと
どのクラスが何をしているかを忘れるでしょ
そんなことはないって思うのは1000行未満の小規模だから
例えばform1にファイルへのアクセス、Viewの応答、データの処理など
1つのクラスのコード書いているときにあらゆる可能性を意識しながら
書くなんて疲れると思わない?
ファイルに安全にアクセスできるクラス、データに安全にアクセスできるクラスを作るなどして
クラスが増えてくると、ありがたみがわかってくる
0562デフォルトの名無しさん
2011/10/15(土) 09:12:47.33なるほどー。まだそういうレベルじゃないから実感できないんだな。
大きな規模になったときの保険みたいなもんですかね?
ありがとうございました。
0563デフォルトの名無しさん
2011/10/15(土) 09:22:47.55そしたら確実にどの変数は弄ったらだめなのかなど
わからなくなるから
そういうことに実際に出会わないといくら説明しても納得いかないもんなんだよ
0564デフォルトの名無しさん
2011/10/15(土) 09:32:06.63public int hyakkai=100;
public int tasizan()
{
for(int i=0;i<hyakkai;i++)
{
count++;
}
return count;
}
上のようなクラスAがあったとして
別のクラスCでやっぱり1000回ぐらいがいいと思って
面倒だから同じメソッドを利用したいと思い、hyakaiに1000を代入して利用する
その後、別のクラスBが100回の足し算をさせるために同じクラスA利用する
クラスBは戻り値が100以外はエラーを吐くようになっている
0565デフォルトの名無しさん
2011/10/15(土) 09:33:26.02namespace Foo{
[DataContract]
class Hoge{ (略) }
}
↑を DataContractSerializer でファイルに保存して、
↓(ネームスペースだけ変わったデータ構造はかわらず)に読み出す方法ってありますか?
namespace Bar{
[DataContract]
class Hoge{ (略) }
}
DataContractResolver を実装すればいけるかと思ったのですが、
なぜか、DataContractResolver は呼び出されませんでした。
0566デフォルトの名無しさん
2011/10/15(土) 09:38:05.30分かりやすくエラーがでるならいいけど、エラーが出ない場合気づかなかったりする
ここは絶対触られたくないところならprivateにしたり
一部のクラスだけが使えるようにしたいならinternalや明示的にインターフェイスにしたり
事前にしておけば、変な事をしなくて済むし、エラーも出てくれる
実行後よりコードを書いているときにエラーが出る方がいいんだよ
0567デフォルトの名無しさん
2011/10/15(土) 09:46:38.04目安みたいなのある? usingだけで10行超えたら多いだろ、とか。
0568デフォルトの名無しさん
2011/10/15(土) 09:54:55.88インテリセンスで候補としてあがらなくなる点も大きいと思う。
インテリセンス便利すぎる。
0569デフォルトの名無しさん
2011/10/15(土) 09:55:26.080570デフォルトの名無しさん
2011/10/15(土) 10:08:42.96ほぼ常時それ使う。
あとから自動実装じゃないプロパティに書き換えても、
利用側の再コンパイル必要ないから。
0571デフォルトの名無しさん
2011/10/15(土) 10:09:16.52privateのありがたみは非常に良く分かるんだけど、
それより上、intarnal、protect、publicの使い分けとかがよく分からない。
0572デフォルトの名無しさん
2011/10/15(土) 10:13:58.930573デフォルトの名無しさん
2011/10/15(土) 10:17:09.63だから、private以外は全部publicになっちゃうw
0574デフォルトの名無しさん
2011/10/15(土) 10:25:23.17mjd
いま平均7〜8個+別名using2〜3個くらいあるわ 見直そう…
0575デフォルトの名無しさん
2011/10/15(土) 10:27:01.910576デフォルトの名無しさん
2011/10/15(土) 10:28:11.94internal はわかりやすいと思うけど。
ライブラリを作る側と使う側分けたときに使えるわけで。
protected はそれこそ継承時限定機能で、継承自体そんなめったに使うものじゃないんで。
0577デフォルトの名無しさん
2011/10/15(土) 10:38:26.16ヒントをください
0578デフォルトの名無しさん
2011/10/15(土) 10:50:45.950579デフォルトの名無しさん
2011/10/15(土) 11:00:33.39[DataContract(Namespace="http://schemas.datacontract.org/2004/07/Foo")] class Hoge
厳密に同じじゃないかもしれないのでNamespaceのところは自分でXML見てxmlnsを確認してくれ
XML名前空間は最初から明示的に付けとくようにしたほうがいいと思う
0580デフォルトの名無しさん
2011/10/15(土) 19:54:17.20なのにItems.AddやItems.Removeができるのはなじぇ?
自分でこういうもの作ろうとするにはどうすればいいの?
0581デフォルトの名無しさん
2011/10/15(土) 19:58:31.600582デフォルトの名無しさん
2011/10/15(土) 19:59:07.90もしくは
var items = obj.Items;
items.Add();
こう書けばわかるか?
0583デフォルトの名無しさん
2011/10/15(土) 19:59:48.36まー、プロパティ書くときにIntとかListとかの型を指定するのでそれを参照してる。
0584デフォルトの名無しさん
2011/10/15(土) 20:01:08.120585デフォルトの名無しさん
2011/10/15(土) 20:08:11.72List<T>を返しているようなものと思っていたけど
Getメソッドなんですね
そしてそのGetメソッドはPrivateで公開はしていないという感じですか?
0586デフォルトの名無しさん
2011/10/15(土) 20:13:09.740587デフォルトの名無しさん
2011/10/15(土) 20:14:48.97getが参照を返すのでそういうことができるんだわな。
0588デフォルトの名無しさん
2011/10/15(土) 20:15:21.47public List<Item> Items
{
get{return getItems();}
private set{ _items=value;}
}
こんな感じですか?
Setできないのか型チェックに問題があるからかな?
コレクションなどにはAddメソッド通して設定するって仕様があるのかな
自分ではよく itemsA=itemsB的なことをクラス間でやっちゃったりするんだけど
0589デフォルトの名無しさん
2011/10/15(土) 20:16:06.570590586
2011/10/15(土) 20:25:11.780591デフォルトの名無しさん
2011/10/15(土) 20:25:29.13自分だったらこういう感じで書くかな。
http://ideone.com/y3XpI
0592デフォルトの名無しさん
2011/10/15(土) 20:26:32.31おっと、ま〜、頑張ってくれ。
0593デフォルトの名無しさん
2011/10/15(土) 20:33:15.53private List<T> _Items;
public List<T> Items { get{ return _Items ?? (_Items = new List<T>()); } }
0594デフォルトの名無しさん
2011/10/15(土) 20:36:26.81List<T>は最初に要素を追加したときに内部の配列が確保されるからnewはほとんどコストない
0595デフォルトの名無しさん
2011/10/15(土) 20:46:34.24これ見てるとAddで追加させるためだけに
プロパティを作ったような印象がする
ListBox.Add()だと変なのかな
0596デフォルトの名無しさん
2011/10/15(土) 20:53:47.78直交性が良くなる
List<int>返すのはあんまり良くないからIList<int>にするべきだけど
0597デフォルトの名無しさん
2011/10/15(土) 20:53:53.18ライブラリにあるList<T>を公開してこれを使わせようって感じか
今までAddを自前で作ってたから参考になった
でも、型が違うデータをクラス間でやりとりする場合
コンバーター作らないといけないんだよね
0598デフォルトの名無しさん
2011/10/15(土) 20:59:37.68なるほどーインターフェイスを明示的にすることで
使用制限するのかー勉強になるなー
0599デフォルトの名無しさん
2011/10/15(土) 22:17:50.29それともちゃんとControl.Invokeを通して呼ばなければなりませんか?
0600デフォルトの名無しさん
2011/10/15(土) 22:20:16.290601デフォルトの名無しさん
2011/10/15(土) 22:24:33.18ありがとうございます
ということはこれはスレッドセーフではないということですね?
あるSDKサンプルに別スレッドからInvalidateしている
サンプルがあったので疑問に思いまして
0602デフォルトの名無しさん
2011/10/15(土) 22:55:32.66SendMessageでやってる奴は呼べるよ
0603デフォルトの名無しさん
2011/10/15(土) 23:01:52.92>SendMessageでやってる奴は呼べるよ
SendMessageは分かりますがこれはどういう意味ですか?
0604デフォルトの名無しさん
2011/10/15(土) 23:03:31.290605デフォルトの名無しさん
2011/10/15(土) 23:15:48.22メッセージキューを使った処理なら安全って意味じゃない?
0606デフォルトの名無しさん
2011/10/15(土) 23:17:09.70SendMessageはAPIの方で勝手に同期してるからどこからでも呼べる
0607デフォルトの名無しさん
2011/10/15(土) 23:29:56.97ということは結局Invalidateはmsdnには明記されてはいないが、
スレッドセーフであるということですか?
SendMessageとInvalidate()が等価である保障はないですよね?
0608デフォルトの名無しさん
2011/10/15(土) 23:34:18.41スレッドセーフのファンなの?
0609デフォルトの名無しさん
2011/10/15(土) 23:40:54.88スレッドに痛い思い出もあるので注意深くなっているだけです
ひとまずスレッドセーフであるということで使っていきます。
ありがとうございました
0610デフォルトの名無しさん
2011/10/15(土) 23:43:18.360611デフォルトの名無しさん
2011/10/15(土) 23:56:16.95ならやはり他スレッドからはInvokeを通してInvalidateすべきですか?
0612デフォルトの名無しさん
2011/10/15(土) 23:59:19.93頭悪そうだし、それが賢明だと思うよ
0613デフォルトの名無しさん
2011/10/16(日) 00:03:37.17自分は頭が悪くてかまわないので、
頭のそこそこいい、自分以外の人のためにも、
私が勘違いしているところを説明してもらえますか?
0614デフォルトの名無しさん
2011/10/16(日) 00:06:28.720615デフォルトの名無しさん
2011/10/16(日) 00:25:49.75.NETのスレッドセーフとWin32のコントロールが要求している同一スレッドの制限を混同しているところ
0616デフォルトの名無しさん
2011/10/16(日) 00:26:11.960617デフォルトの名無しさん
2011/10/16(日) 00:36:36.71System.Timersの方は「より精度がいい」らしいけど、分解能が書かれていないので保証できない
0618デフォルトの名無しさん
2011/10/16(日) 00:39:10.890619デフォルトの名無しさん
2011/10/16(日) 00:41:51.600620デフォルトの名無しさん
2011/10/16(日) 00:50:23.860621デフォルトの名無しさん
2011/10/16(日) 04:45:26.73あと気になるのが、リストを丸ごと渡したいんだけど
内容は変えられたくないから、setはできないようにしているわけだけど
.Addでできちゃうのがねぇ・・・
こういう場合はcloneでも作ってコピーして渡すのかな?
0622デフォルトの名無しさん
2011/10/16(日) 06:21:27.330623デフォルトの名無しさん
2011/10/16(日) 06:45:31.880624デフォルトの名無しさん
2011/10/16(日) 10:03:06.01あとDOBONを見ると直接APIを利用する方法も紹介されてますが.NETのライブラリから利用するより直接APIを利用するほうが安定しているものでしょうか?
0625デフォルトの名無しさん
2011/10/16(日) 12:47:50.28すげーわかりやすい
訳さなくてもいい単語まで無理やり訳しているから
あんな分けのわからない説明になっているんだな
0626デフォルトの名無しさん
2011/10/16(日) 13:37:58.31点数が低いページは修正して、翻訳者はクビで
0627デフォルトの名無しさん
2011/10/16(日) 13:45:28.240628デフォルトの名無しさん
2011/10/16(日) 13:57:32.660629デフォルトの名無しさん
2011/10/16(日) 14:11:23.680630デフォルトの名無しさん
2011/10/16(日) 14:14:39.99英語だと一つの単語で表すのに
日本語だと複数の言葉に訳せるからな
constraintを制約と訳したり整合性と訳したり
ただでさえプログラムは直観的にイメージしにくいのにのに
統一した言い回しをしないで訳すから余計にわけがわからなくなる
0631デフォルトの名無しさん
2011/10/16(日) 14:19:45.07豊富な語彙の中から適切なものを選択する必要があるから。
読む場合は日本語の方が簡単。
文脈に依存する単語が少ないから
0632デフォルトの名無しさん
2011/10/16(日) 14:22:19.84でも、できる可能性があるのと理解できる、理解させられるは違うからな
やっぱり日本語は難しいよ
0633デフォルトの名無しさん
2011/10/16(日) 14:22:20.650634デフォルトの名無しさん
2011/10/16(日) 14:32:27.66テーブルに新しいデータ行を追加できます
初心者プログラマはテーブルって机のテーブル?
それとも何かの比喩?
データ行って何?データ行じゃない行はなんなの?
こういうのは別に機械語じゃなくても普通にあるじゃない
you can add new rows of data to the table.
原文だとこれ、めちゃくちゃわかりやすい
プログラムは英語で書かれているし説明が直観的に理解しやすい
できるだけ英語交じりで訳してほしいよな
DataTableのnew rowsにDataをAddできます
こんな感じ
0635デフォルトの名無しさん
2011/10/16(日) 14:37:42.250636デフォルトの名無しさん
2011/10/16(日) 14:39:21.94"Class"は一般的に使われている意味とはかけ離れているのに、
わざわざ、"クラス"と訳すんだよなー
初心者からしたら、クラスって学校の?そういえば学校の喩えよくあるね、ちがうのかな?
みたいにさ、わかりやすく訳せば訳すほどプログラムから遠ざかって行く感じがするんだよ
0637デフォルトの名無しさん
2011/10/16(日) 14:42:46.810638デフォルトの名無しさん
2011/10/16(日) 14:43:18.92>DataTableのnew rowsにDataをAddできます
結局理解してないじゃん
0639デフォルトの名無しさん
2011/10/16(日) 14:46:41.75専門用語は専門用語に準じて書いてほしいんだよ
一般的な用語に訳すなってこと
0640デフォルトの名無しさん
2011/10/16(日) 14:55:17.74文脈を読めない人は多分日本語でも英語でもダメじゃないかなー
0641デフォルトの名無しさん
2011/10/16(日) 15:02:53.45同僚に仕様書が英語で読めませんとか言われても困るし・・・
0642デフォルトの名無しさん
2011/10/16(日) 15:06:11.79> 日本語でもクラスを種類とか階級の意味で使う場面もあるじゃん?
だから訳すとどうとでも取れるって言ってるんじゃないか。自分で書いててわからないのか?
> 文脈を読めない人は多分日本語でも英語でもダメじゃないかなー
プログラムの説明の文脈を理解できるのはそれこそプログラム理解しているからだろw
日常会話が理解できないから英語が無理だって言うならまだわかるが
専門用語だらけで初心者からした文脈も糞もあるかよw
お前自信が俺が言っている文脈を理解できずに見当違いなこと言ってることに気づけよ
0643デフォルトの名無しさん
2011/10/16(日) 15:09:19.21そういう幼稚な屁理屈言っているようじゃ友達もいないんだろ
揚げ足取ってはネットでご満悦ですか?
0644デフォルトの名無しさん
2011/10/16(日) 15:09:46.000645デフォルトの名無しさん
2011/10/16(日) 15:11:55.59これで分かる気がしないんだけど何が言いたいの?
0646デフォルトの名無しさん
2011/10/16(日) 15:12:44.87初心者向けのプログラムの解説サイト作ったりして
全く理解できないような説明ばかりするんだろうなw
初心者にもわかりやすく伝える能力って一種の才能だよなあれは
今ここにいる奴らですら俺が言っていることが理解できていない
もう初心なんてとっくに忘れちゃったおっさんばかりなのか?
0647デフォルトの名無しさん
2011/10/16(日) 15:14:01.02プログラミングの知識がないのとアホとは別ですが?
そういうこともわからないあなたみたいなのをアフォといいます
>>645
低学歴は問題外です
0648デフォルトの名無しさん
2011/10/16(日) 15:16:32.87初心者ならまず初心者向けの本でも読めよ。無理して自分の無知を晒すなw
0649デフォルトの名無しさん
2011/10/16(日) 15:17:47.850650デフォルトの名無しさん
2011/10/16(日) 15:20:36.470651デフォルトの名無しさん
2011/10/16(日) 15:25:57.150652デフォルトの名無しさん
2011/10/16(日) 15:28:08.79分かった上で書いているんですけどねw
そういうこともわからないバカが偉そうなことを言わないでね
あとその指摘はただの揚げ足だからw、論点ズレてます
文脈理解してくださいね^^
0653デフォルトの名無しさん
2011/10/16(日) 15:30:11.670654デフォルトの名無しさん
2011/10/16(日) 15:32:40.12あのDataっていうのは別の追加するオブジェクトって意味で書いているわけじゃないんだよ(少なくとも原文は)
お前ら英語もわからない低学歴バカは機械語翻訳に翻弄されているようだなw
もちろん直訳したら、データの新しい行ってことだろうけど
あの原文はテーブルの新しいデータ領域という意味で書いているんだよ
データの新しい行を追加って日本語でもおかしいだろアホw
0655デフォルトの名無しさん
2011/10/16(日) 15:34:34.46データの新しい行?ww空のデータでも追加でもするんですか?w
0656デフォルトの名無しさん
2011/10/16(日) 15:52:13.59ofの使い方について調べましょう
つか家庭教師じゃないんだからいい加減にしてくれ
0657デフォルトの名無しさん
2011/10/16(日) 15:57:25.83おい厨病、訳してみろよww
0658デフォルトの名無しさん
2011/10/16(日) 16:00:46.53英語できそうですね、>>656の発言を英語で書いてくれませんか?
もちろん直訳や中学生英語は抜きでお願いしますよww
外人が書いたようにお願いします
1分でできますよね?w
0659デフォルトの名無しさん
2011/10/16(日) 16:01:54.53全裸で四つん這いになって尻を突き出しおねだりして見せなさい
おっと、靴下は履いたままですよー
0660デフォルトの名無しさん
2011/10/16(日) 16:02:30.71まだですか?あの程度の英語も訳せないバカにはやっぱり無理でしたかwwwww
文脈も理解できないんですねww
だから日本語も理解できないクズPGなんですよwww
揚げ足しか取らないところをみると、友達もいなさそうですねww
だから一般的な価値観が理解できないんですね
かわいそwww
0661デフォルトの名無しさん
2011/10/16(日) 16:03:06.48はいにげたーwwwwwwwwwwwwwwwww
バーーーーーーーーーーーーカwwwwwwwwwwww
0662デフォルトの名無しさん
2011/10/16(日) 16:05:08.38こんな先生いやだwww
0663デフォルトの名無しさん
2011/10/16(日) 16:05:28.22「分かった上で書いている」のに「その指摘はただの揚げ足」って矛盾してるように見えるんだけどどういう文脈?
0664デフォルトの名無しさん
2011/10/16(日) 16:08:15.66俺アメリカ人だけどnew rows of dataは新しいデータ行だよ。
データの新しい行?バカじゃね?
0665デフォルトの名無しさん
2011/10/16(日) 16:08:40.17無作法な子に何も教えないのは普通ですよね?
私はあなたにまずは礼儀を汁人間になって欲しいのです
0666デフォルトの名無しさん
2011/10/16(日) 16:09:12.67>>656
u couldnt understand that using about "of" search for u
u know im not tutor! knock it off!
0667デフォルトの名無しさん
2011/10/16(日) 16:10:55.500668デフォルトの名無しさん
2011/10/16(日) 16:15:14.70やるじゃんwwwwすげぇえええええ
0669デフォルトの名無しさん
2011/10/16(日) 16:16:47.78さすが日ごろから外人とスカイプやってるだけのことはあるわwwwww
0670デフォルトの名無しさん
2011/10/16(日) 16:17:31.99汚い尻だなぁ
0671デフォルトの名無しさん
2011/10/16(日) 16:18:30.19ごめん、俺が悪かった
お前がそんなにできる奴とは思わなかった
本当は俺は低学歴の日曜プログラマなんだ
許してくれ
0672デフォルトの名無しさん
2011/10/16(日) 16:20:38.57低学歴なら仕方ない。靴を舐めて綺麗にしたら許してやろう
0673デフォルトの名無しさん
2011/10/16(日) 16:21:59.350674デフォルトの名無しさん
2011/10/16(日) 16:24:06.20shut the motha fuckin upでもいいよw
0675デフォルトの名無しさん
2011/10/16(日) 16:24:34.90>>634
「new rowsにDataを」
0676デフォルトの名無しさん
2011/10/16(日) 16:26:05.71別に間違ってないが?
0677デフォルトの名無しさん
2011/10/16(日) 16:40:13.760678デフォルトの名無しさん
2011/10/16(日) 16:40:30.080679デフォルトの名無しさん
2011/10/16(日) 16:43:58.61通常の行追加シーケンスはこう
Detached状態のDataRowを作成(NewRowメソッド)
↓
DataRowに値を設定(set_Itemインデクサ―)
↓
DataTableのRowsにDataRowを追加(Addメソッド)
行が主語なら動詞はsetになるから
あとDataTableの未使用領域は「スロット」って内部呼称だった覚えがある
0680デフォルトの名無しさん
2011/10/16(日) 16:51:35.26原文の方がわかりやすいって騒いでるヤツが
こんな簡単な原文すら読めてないのが
なんというかもうね
0681デフォルトの名無しさん
2011/10/16(日) 17:02:14.890682デフォルトの名無しさん
2011/10/16(日) 17:38:01.47今の嫌われ者、シーシャー厨
0683デフォルトの名無しさん
2011/10/16(日) 17:42:21.38嫌われてるかは知らんがC#の包容力は半端ないぞ。
0684デフォルトの名無しさん
2011/10/16(日) 18:17:35.07>you can add new rows of data to the table.
>原文だとこれ、めちゃくちゃわかりやすい
と言っているのがよくわからないんだけど、
なんで原文だと初心者プログラマは「tableって机のテーブル?」ってならないんんだ?
0685デフォルトの名無しさん
2011/10/16(日) 18:25:02.95データテーブルに新しい行を追加できます。でいいような気がするけど。
MSの翻訳は多分もっと粒の大きな単位でやってるだろうから、細部にてがまわらんのだろうね。
量産されるDocumentについていかないといけないし。
0686デフォルトの名無しさん
2011/10/16(日) 18:26:24.12大丈夫
母国語と合わないだの何だの抜かす奴は遠からず止めるから
0687デフォルトの名無しさん
2011/10/16(日) 18:30:51.000688デフォルトの名無しさん
2011/10/16(日) 18:32:03.24煽らなければその危険は少ないはずだ
0689デフォルトの名無しさん
2011/10/16(日) 19:24:51.22文章がすべてではなかろうに。
0690デフォルトの名無しさん
2011/10/16(日) 19:47:08.48とあるサイトだとこういう順序で書くのがいいって書いてたけど問題ないですか?
* Fields
* Static Fields
* Properties
* Static Properties
* Events
* Constructors
* Destructor
* Methods
* Static Methods
* Operators
* Event Handlers
* Classes
0691デフォルトの名無しさん
2011/10/16(日) 19:51:41.55縛られてないと不安ならStyleCopでも使ったら
0692デフォルトの名無しさん
2011/10/16(日) 19:52:35.59「良い」ってのは共通認識を持ってる人間の中で見やすいってだけだから
それ以外の人間にとってはどうでもいい
フィールド1、メソッド1、プロパティ1、メソッド2、フィールド2…とか並んでるとキモイけどな
0693デフォルトの名無しさん
2011/10/16(日) 20:06:51.77プロジェクトによっては、コーディング規約といふものがありけるらしいので、そっちが優先。
後は、縛られるのがお好きならその方法を次点で採用すればいい。
読みやすいのが正義だと思うんだがね。
0694デフォルトの名無しさん
2011/10/16(日) 20:30:48.02自分はそもそも、そういう単位でならべないなぁ。
プロパティのバックフィールドはプロパティの直下に書くとか、
特定のいくつかのメソッドからしか参照しないフィールドはそのメソッドと固めて書くとか。
0695デフォルトの名無しさん
2011/10/16(日) 20:51:57.40.NETから使えるタイマーは、以下の3つ
System.Windows.Forms.Timer // 精度は荒い
System.Timers.Timer // 一般向け
System.Threading.Timer // 基本API
あとマーシャリングが必要だが、マルチメディアタイマーが使える
精度は最も高い
timeSetEvent
0696デフォルトの名無しさん
2011/10/16(日) 22:14:17.75・Aクラスはpublicメソッドを100個持っている
・そのうち90個だけをBクラスでも使いたい(残り10個は呼び出せないようにしたい)
って場合、それをスマートにやる方法を教えてください
0697デフォルトの名無しさん
2011/10/16(日) 22:18:07.63ハァー
0698デフォルトの名無しさん
2011/10/16(日) 22:18:54.53誤:そのうち90個だけをBクラスでも使いたい(残り10個は呼び出せないようにしたい)
正:そのうち90個だけをBクラスでも公開したい(残り10個は隠蔽したい)
0699デフォルトの名無しさん
2011/10/16(日) 22:19:38.690700デフォルトの名無しさん
2011/10/16(日) 22:19:51.28お引取りを
0701デフォルトの名無しさん
2011/10/16(日) 22:21:31.3790個のメソッドだけインターフェースに抽出して委譲パターンで書けよ
0702デフォルトの名無しさん
2011/10/16(日) 22:21:37.41ttp://msdn.microsoft.com/ja-jp/library/cakx2hdw.aspx
手順18で詰んだ。
InformationForm の分離コード ページで、InformationForm クラスに次のコードを入力して、UserInformation プロパティを追加します。
以降を噛み砕いた日本語で教えてください。なにをすればいいのかが解らなくなってしまいました。
つか、チュートリアルの例題なのに、なんですか!この難易度。
一般的手法なんでしょうか?これ。知恵熱出そうです。
0703デフォルトの名無しさん
2011/10/16(日) 22:23:16.59C++みたいにprivate継承もないし、newを使えば偽物と書き換えられるけど隠蔽は出来ない
継承ではなく包含にして公開するメソッドを90個書き直してスーパークラスへリダイレクトするしかないか
0704デフォルトの名無しさん
2011/10/16(日) 22:24:25.79ですな・・・めんどくせえええええ
1個だけ隠蔽したいのに99個書き直しとかめんどくせえええええええ
しねしにさらせ
0705デフォルトの名無しさん
2011/10/16(日) 22:25:32.48挙がってるコードをInformationForm.csに書けばいい
0706デフォルトの名無しさん
2011/10/16(日) 22:26:12.82AとBそれぞれに継承させれば
0707デフォルトの名無しさん
2011/10/16(日) 22:27:09.54インターフェースで包含に書きなおせるなら抽象クラスが親でもいいだろ
0708デフォルトの名無しさん
2011/10/16(日) 22:27:28.24みんなお仕事だからいろいろ大変なんだよ
0709デフォルトの名無しさん
2011/10/16(日) 22:28:06.05そもそも何を作ろうとしているチュートリアルなのか分かってっか?
0710デフォルトの名無しさん
2011/10/16(日) 22:29:01.46さっきまで低レベルなエングリッシュ談義してたのに
0711デフォルトの名無しさん
2011/10/16(日) 22:29:50.230712デフォルトの名無しさん
2011/10/16(日) 22:30:27.51呼べるのに呼ぶと例外投げるメソッド公開しているクラスって馬鹿っぽくね?
0713デフォルトの名無しさん
2011/10/16(日) 22:31:48.11エレガントじゃないけど被害は出ないぜ
0714デフォルトの名無しさん
2011/10/16(日) 22:32:08.48NotSupportedExceptionの立場を奪わないで!
0715デフォルトの名無しさん
2011/10/16(日) 22:32:53.650716デフォルトの名無しさん
2011/10/16(日) 22:34:37.810717デフォルトの名無しさん
2011/10/16(日) 22:36:27.05って言ってNotSupportedExceptionを平気で投げる
一応ソートするような枠組みだけは用意してある
でも一般的には不要だったり、コストが大きかったりってこともある
0718デフォルトの名無しさん
2011/10/16(日) 22:37:04.43配列がAdd呼べるとか、継承階層がうまく作れない(作ると複雑になりすぎる)場合によくある手。
0719デフォルトの名無しさん
2011/10/16(日) 22:37:33.560720デフォルトの名無しさん
2011/10/16(日) 22:38:29.32そろそろ追加されても良いと思うんだが
0721デフォルトの名無しさん
2011/10/16(日) 22:55:17.96初心者はWinFormよりまず文法からだと思うけど
0722デフォルトの名無しさん
2011/10/16(日) 23:11:03.240723デフォルトの名無しさん
2011/10/16(日) 23:26:56.600724デフォルトの名無しさん
2011/10/17(月) 00:21:24.950725デフォルトの名無しさん
2011/10/17(月) 00:24:03.980726デフォルトの名無しさん
2011/10/17(月) 00:31:39.07いくら実用主義と言っても関数型的なLINQの中にForEach入れるのはどうしても許せなかったんだろ
0727デフォルトの名無しさん
2011/10/17(月) 00:32:46.00今では賛否両論だけど、LINQ に ForEach たさなかったのは、
メソッドチェーンで副作用のあるコード書くのを嫌ったから。
じゃあ、逆に、なんで List にだけあるかというと、
List の場合は foreach ステートメント(外部列挙)するより、
内部列挙(ForEachにラムダ式渡す)の方が実行効率ちょっとだけいいから。
ちなみに、配列に対する foreach ステートメントは for(var i... 相当のコードに最適化されるので、ほっといても効率いい。
0728デフォルトの名無しさん
2011/10/17(月) 00:34:17.90public UserInformation
エラー1クラス、デリゲート、列挙型、インターフェイス または構造体が必要です。
のエラーだろ?
プロパティの記憶用の変数を設置する部分が飛んでいるようです
とyahooでググレばあなたに幸せが訪れるかも。知らんけど。
0729デフォルトの名無しさん
2011/10/17(月) 00:40:25.96ものすごいわかりにくいコードになると思う
ForEachが使えたら全部ForEachになってしまうだろうし
0730デフォルトの名無しさん
2011/10/17(月) 00:48:52.30ForEachでやりたいことの一部をやってくれるよ。
0731デフォルトの名無しさん
2011/10/17(月) 01:06:13.17どうすりゃいいの?
0732デフォルトの名無しさん
2011/10/17(月) 01:10:11.23構造体ならIEquatable<T>も実装する
0733702
2011/10/17(月) 01:16:53.830734デフォルトの名無しさん
2011/10/17(月) 01:40:02.15超絶技巧上級者向けだから、そんなの初心者は理解出来なくても問題無いな。
演習の中に解説と指示が入り乱れてるから、凄く読みにくい。
ある程度解っている人がさらっと復習に読めば流れとしては解るって内容。
初心者とか中級コピペマンがそのまま使おうとすると端折った部分があって使えない。
0735デフォルトの名無しさん
2011/10/17(月) 06:28:14.68WindowsフォームアプリでConsole.WriteLineで出力した文字列は
どうやってみればいいんでしょうか
0736デフォルトの名無しさん
2011/10/17(月) 06:50:28.41OSのstdoutに出力されてるはずだから、テキストファイルにリダイレクトするとかかな??
検索したら以下を見つけた。
ttp://dobon.net/vb/dotnet/programing/consoleinout.html
0737デフォルトの名無しさん
2011/10/17(月) 06:54:47.63リダイレクトも良さそうですね
合わせて感謝します
ありがとうございました
0738デフォルトの名無しさん
2011/10/17(月) 08:07:59.49でも人のコーディング見せてもらうのは勉強になるよね。
直接的なロジックだけじゃなく、エラー処理の部分とか変数の名前の付け方とか。
そこに分かりやすい日本語で解説が付けば言うこと無い。
0739デフォルトの名無しさん
2011/10/17(月) 08:58:49.77気づいたらデザイナーのところにDataGridViewのカラムは500個作られていたんだが
こうい症状になった人いる?
あと、カスタムコントロールを削除したのに、見た目上削除されただけで
デイザイナーのときにはしっかり残ってたり
SP1にしてからこういうことが頻発しているんだが・・・
0740デフォルトの名無しさん
2011/10/17(月) 09:05:35.610741デフォルトの名無しさん
2011/10/17(月) 09:07:16.80カスタムコントロールだけじゃなく普通のコントロールでもあるよ。
それ以来、時々デザイナはチェックしてる。
それと削除するときはDelキーは使わず、コンテキストメニューからするようにしてる。
0742デフォルトの名無しさん
2011/10/17(月) 09:29:48.78これが入っててカスタムコントロールがあると
削除とかしなくてもデバッグするたびにコードが増えていく
使い勝手のいいソフトなのになー仕方がないか
0743デフォルトの名無しさん
2011/10/17(月) 10:23:44.59コードが増えてる、もうほんと面倒くさい
0744デフォルトの名無しさん
2011/10/17(月) 10:36:11.37とまらにゃいのぉおおおおおおっぉおお
おほぉぉおおおほぉおおおおおおおおおおおおおお
0745デフォルトの名無しさん
2011/10/17(月) 20:01:50.670746デフォルトの名無しさん
2011/10/17(月) 21:02:05.31事前にカラム設定しているのがだめなのかな
0747デフォルトの名無しさん
2011/10/17(月) 21:17:28.22コンストラクタなら何べんも実行されたりしねえし
0748デフォルトの名無しさん
2011/10/18(火) 00:08:08.63あと、DelphiにあったInRangeやEnsureRangeと同じメソッドがあったら教えて下さい。
0749デフォルトの名無しさん
2011/10/18(火) 00:14:22.01上の方は(T)((dynamic)x > (dynamic)y ? x : y)とかで実装できないこともないけど遅いのでお勧めはしない
0750デフォルトの名無しさん
2011/10/18(火) 00:32:03.36綴りの自信ないけど
0751デフォルトの名無しさん
2011/10/18(火) 01:08:40.54イベントとかコードは何も書いていない
ただ、デザイナー画面でカラムを作っているだけ
そして、カスタムクラスのデザイナーでDataGridViewのプロパティいじったり
フォーム側のデザイナーでDataGridViewの設定をいじったりして
ビルドするとカラム生成のコードが複製される
それが実際にForm側のDataGridViewにデザイン時点でも表示される
ほっとくと何百個のカラムができる
0752デフォルトの名無しさん
2011/10/18(火) 12:02:19.24並び替えできるようにしてあるのでTabPageのインスタンスだけ並び替えてもTabPage下にあるTextBoxコントロールはそのままなんです
0753デフォルトの名無しさん
2011/10/18(火) 14:06:35.210754デフォルトの名無しさん
2011/10/18(火) 15:26:05.76ふとLinq使ったらあっさり解決した、
いままで何この構文ゴミだとか言っててすみませんでした
Linq始まりすぎ
0755デフォルトの名無しさん
2011/10/18(火) 15:38:15.52というかMSDNのクラスの説明とか読めよ
あとインスタンスを管理してる変数の後ろに.つけて上からすべて説明見ていけば・・・
0756デフォルトの名無しさん
2011/10/18(火) 15:47:10.94サンプルプロジェクト作ってtabControlを配置して最初から付いてる2ページのうちの
片方にTextBoxを置いた上でShownイベントに以下のコード書いたらOKだった
TextBox t1 = (TextBox)tabControl1.TabPages[0].Controls[0];
あとは自分でやってくれ
0757デフォルトの名無しさん
2011/10/18(火) 16:15:52.96ありがとうございます。まさしくこれです
Controlsでアクセスできるんですね。今までAddメソッドしか使ったことしかありませんでした
0758デフォルトの名無しさん
2011/10/18(火) 18:22:01.080759731
2011/10/18(火) 18:45:33.07おかしい・・・GetHashCode も Equals もオーバーライドしてるのに・・・と
思ったら、 Equals がバグってた。
恥ずかしいよ、ママン。
サンキュー
0760デフォルトの名無しさん
2011/10/19(水) 09:12:04.73動作的には問題ないと思うけど、
文化的には見ないよね。
今やってるので、コンスタントの定義で
日本語使うほうが下手に英語にするより
わかりやすいとこがあるんだけど。
あんまり見たことないなと思いまして。
0761デフォルトの名無しさん
2011/10/19(水) 09:16:33.100762デフォルトの名無しさん
2011/10/19(水) 09:53:14.88IntelliSenseめんどくない?
0763デフォルトの名無しさん
2011/10/19(水) 10:01:18.79日本語変数だとインテリセンスがらくになるかと。
0764デフォルトの名無しさん
2011/10/19(水) 10:22:37.530765デフォルトの名無しさん
2011/10/19(水) 10:23:50.020766デフォルトの名無しさん
2011/10/19(水) 11:41:35.030767デフォルトの名無しさん
2011/10/19(水) 12:01:58.340768デフォルトの名無しさん
2011/10/19(水) 12:04:40.1610年も前だと、日本語使うといろいろ不具合でたからねぇ。
C# と SQL Server 使ってる限りには日本語変数/日本語テーブル使って不具合出てる人見たことがなく、
C# なら普通に日本語変数使うよ。
ただ、インテリセンスとの相性悪い(いちいち IME オンにしないと補完候補にたどりつけない)んで、
ローカル変数とかだといまいち使いにくい。
定数とか列挙型のメンバーで使われるのは、どうせ 型名. を打って、その後一覧から選ぶだけだから。
0769デフォルトの名無しさん
2011/10/19(水) 12:06:34.19C# は Unicode 策定後にできた言語だから大丈夫。
O/R マッパーとか使ってない限り(あるいは相手が最近の SQL Server な限り)まず誤動作ない。
0770デフォルトの名無しさん
2011/10/19(水) 15:08:46.80どこかにサンプルとかありませんか?
0771デフォルトの名無しさん
2011/10/19(水) 16:03:34.330772デフォルトの名無しさん
2011/10/19(水) 16:51:47.35フォームやる前に覚えなきゃならないことあるんじゃないか?
一歩進むたびに質問してるだろw
0773デフォルトの名無しさん
2011/10/19(水) 16:55:41.212chブラウザの作り方をブログで公開してた人がそれっぽいことをやってたな
0774デフォルトの名無しさん
2011/10/19(水) 17:08:40.81# レベルをクリティカルでイベントログに出力するコード
TraceSource source = new TraceSource("MySource", SourceLevels.All);
source.TraceEvent(TraceEventType.Critical, 7743, DateTime.Now.ToString());
# App.configに以下のXMLを追加
<system.diagnostics> <sources> <source name="MySource">
<listeners>
<add name="EventLog" type="System.Diagnostics.EventLogTraceListener"
initializeData="TmpEventSource" />
</listeners> </source> </sources> </system.diagnostics>
# 管理者権限のPowerShellで、イベントソースを登録
PS > New-EventLog -Logname Application -Source TmpEventSource
上記だと、CriticalでもErrorでも同じ「エラー」イベントになります……
0775デフォルトの名無しさん
2011/10/19(水) 21:04:35.08int idx = hoo.FindIndex(n=>n.value == (Hoge)hoge.value);
で取ったインデックスに、
if (idx > -1 && idx < hoo.Count)
hoo.RemoveAt(idx);
ってするとたまにOutOfRangeExceptionが起こるんですが、
一体どういう事なんでしょうか
存在するインデックスをとって、範囲内か再度チェックしてるのに、
なおダメってイミフ
500回に一回くらいの割合で起こるので再現性がとても低いです・・・
0776デフォルトの名無しさん
2011/10/19(水) 21:12:46.830777デフォルトの名無しさん
2011/10/19(水) 21:16:47.28考えられるのは、
Idx==(List.Count-1)の時に、なにか一個を削除したらIdxを更新しなければ、
そのIdxでインデックサ使うとOutOfRangeじゃないかな。
0778デフォルトの名無しさん
2011/10/19(水) 21:18:27.18hoo.RemoveAt(idx);
これがループの中にあったりして
0779デフォルトの名無しさん
2011/10/19(水) 21:26:38.650780デフォルトの名無しさん
2011/10/19(水) 21:34:27.37偶に思い込みってのもあるからね
0781デフォルトの名無しさん
2011/10/19(水) 21:37:31.11下から消していくのもあり
0782デフォルトの名無しさん
2011/10/19(水) 21:40:02.04他のスレッドからのアクセスが邪魔してるのかと思って、
lock (lockObject) {}
で囲んだりした結果がこれで・・・
もしかしてlock(foo)じゃないとだめだったり?
0783デフォルトの名無しさん
2011/10/19(水) 21:44:23.76もう一個Listをつくってそっちに削除したいの以外をadd
していったものを使うようにすればいいぞ
富豪的プログラミングだ
0784デフォルトの名無しさん
2011/10/19(水) 21:51:21.34それでおかしくなるってことは他のスレッドからコレクションを変更してるんだから
取得だけでもロックしないと死亡
0785デフォルトの名無しさん
2011/10/19(水) 21:54:56.63リムーブ候補のインスタンスを並べたリスト作って
後でまとめてリムーブすればいいだけちゃうの?
0786デフォルトの名無しさん
2011/10/19(水) 21:56:11.820787デフォルトの名無しさん
2011/10/19(水) 22:04:55.79デバッガさんはRemoveAtでコケるって言ってる
>>783,785
なるほど、試してみます
>>784
2スレッドくらいで同時にやってるはずです
lockステートメントで囲んだだけですが一応・・・
>>786
それは大丈夫です、コピペしたわけではないので
0788デフォルトの名無しさん
2011/10/19(水) 22:09:54.12別のList使うのは直接の解決にはならん
他にもコレクションを変更してる箇所があるならそこもロックする
0789デフォルトの名無しさん
2011/10/19(水) 22:10:47.120790デフォルトの名無しさん
2011/10/19(水) 22:10:52.700791デフォルトの名無しさん
2011/10/19(水) 22:18:44.300792デフォルトの名無しさん
2011/10/19(水) 22:26:23.970793デフォルトの名無しさん
2011/10/19(水) 23:33:44.920794デフォルトの名無しさん
2011/10/19(水) 23:45:12.38System.Collections.Concurrent;にある、BlockingCollection とか使えばいいんじゃないの?
0795デフォルトの名無しさん
2011/10/20(木) 00:28:09.160796795
2011/10/20(木) 00:32:21.92やっぱり普通のコレクションで普通にロックだな
0797デフォルトの名無しさん
2011/10/20(木) 06:55:21.13削除して、フォームのカスタムDataGridViewも削除して
元のDataGridViewを張り付けてやったら
今度はあらゆる自作クラスが競合してるとか大量に出るようになったwww
ここ数日まともにプログラム打てず、自動生成のバグ修正ばっかりやってるわ
これはもう一から作り直したほうが早いのかww
0798デフォルトの名無しさん
2011/10/20(木) 08:13:43.42modelクラスがVIEWに対して
データ変更通知をするっていうのがどうも納得できない
変更通知はPresenterクラスにするべきじゃない?
Viewを意識するのは一つのクラスにしたいんだけど
0799デフォルトの名無しさん
2011/10/20(木) 09:19:59.40それはネットワークプログラミング板がいいんじゃね。
ここはC#言語だから、ASPの中のC#部分の質問ならOKだけど。
0800デフォルトの名無しさん
2011/10/20(木) 09:38:48.050801774
2011/10/20(木) 10:04:59.64if ((severity == TraceEventType.Error) || (severity == TraceEventType.Critical))
{
instance.EntryType = EventLogEntryType.Error;
return instance;
}
ってなっていたので、TraceSourceでCriticalにしても、.NET FrameworkのEventLogTraceListener
の中でErrorに丸められてイベントログに出るという落ちでした。
ウワワァン、俺の数時間が……
0802デフォルトの名無しさん
2011/10/20(木) 11:42:49.39ビューとモデルの間に直接の関連を持たせない流儀もある
本来のMVPはモデルがビューに通知する形で、その方がよりMVCに近い
>>799
MVPはクライアントだけでも完結するパターンだよ
0803デフォルトの名無しさん
2011/10/20(木) 12:12:18.03System.XML.XMLDocument を、System.Xml.XmlWriter で保存する際に、
テキストノードの\n改行も、 などとエンティティ化して
保存することは出来ませんか?
0804デフォルトの名無しさん
2011/10/20(木) 12:18:10.39メモリストリームに出力して、出力結果の中の任意の文字を置換した後
ファイルに出力すればいいかも
0805デフォルトの名無しさん
2011/10/20(木) 14:42:59.47メインウィンドウのフォームと
設定を保持するプロパティクラスと
設定を変えるセッティングフォームの3つを作成して
メインフォームでプロパティクラスとセッティングフォームのオブジェクトを生成し
メインフォームでプロパティの値を使って処理している場合
メインフォームからセッティングフォームを開いてセッティングフォームからプロパティの値を利用したい場合どうやったら扱えるのでしょうか?
0806デフォルトの名無しさん
2011/10/20(木) 14:46:25.020807デフォルトの名無しさん
2011/10/20(木) 15:18:00.580808デフォルトの名無しさん
2011/10/20(木) 15:19:18.260809デフォルトの名無しさん
2011/10/20(木) 15:25:16.87でググって見たのですがstaticに関するものが多く出てくるのですが
インスタンスの共有というのはどういったものなのでしょうか?
0810デフォルトの名無しさん
2011/10/20(木) 15:27:45.14セッティングフォームを開く前にでもいいのでメソッドから渡すでもいいんじゃね?
0811デフォルトの名無しさん
2011/10/20(木) 15:30:44.12いきなりフォームアプリ作ろうとするなドアホ
0812デフォルトの名無しさん
2011/10/20(木) 15:36:45.85設計の問題なんだから
0813デフォルトの名無しさん
2011/10/20(木) 15:40:19.040814デフォルトの名無しさん
2011/10/20(木) 15:49:58.850815デフォルトの名無しさん
2011/10/20(木) 15:53:58.42他人にアホ言って精神安定を計る奴はどこか行けよ
0816デフォルトの名無しさん
2011/10/20(木) 15:56:17.49まず正しい日本語を学べ
0817デフォルトの名無しさん
2011/10/20(木) 15:57:08.23フォームとか言うとアレみたいなんで
Aで作成したBとCのオブジェクトで
Bの処理の中でAで作成したCにアクセスするにはどうしたらいいのかわからないもので・・・
Bを開く時にAで作成したCのオブジェクトを引数として渡してみたんですがうまく行かなくて・・・
0818デフォルトの名無しさん
2011/10/20(木) 15:59:52.47だからーAのオブジェクトをBで使えばいいだけだろバカ
0819デフォルトの名無しさん
2011/10/20(木) 16:01:45.43キチガイ乙
0820デフォルトの名無しさん
2011/10/20(木) 16:01:54.18class A
{
this.b.a=this;
}
こういうことだよバカ
0821デフォルトの名無しさん
2011/10/20(木) 16:02:37.53しょうがくちぇいでちゅかぁ〜〜?www
0822デフォルトの名無しさん
2011/10/20(木) 16:03:04.39BでAのオブジェクトを使う方法がわからないって書いてるのに
BでAのオブジェクトを使えばいいだけだろバカって
お前もバカだろw
0823デフォルトの名無しさん
2011/10/20(木) 16:06:09.78>>821
0824デフォルトの名無しさん
2011/10/20(木) 16:06:21.44間違ってませんが?
0825デフォルトの名無しさん
2011/10/20(木) 16:06:33.12>>819
0826デフォルトの名無しさん
2011/10/20(木) 16:08:03.59バ〜カw
0827デフォルトの名無しさん
2011/10/20(木) 16:08:38.87そうか・・・バカならしょうがないな・・・
0828デフォルトの名無しさん
2011/10/20(木) 16:09:47.420829デフォルトの名無しさん
2011/10/20(木) 16:11:52.470830デフォルトの名無しさん
2011/10/20(木) 16:12:56.940831デフォルトの名無しさん
2011/10/20(木) 16:16:00.93http://ideone.com/WtZ3H
0832デフォルトの名無しさん
2011/10/20(木) 16:16:26.05ガンダムにちなんでageないとww
0833デフォルトの名無しさん
2011/10/20(木) 16:18:52.98まあ、こういうことする奴いたらブチ切れるけどなw
0834デフォルトの名無しさん
2011/10/20(木) 16:19:49.28まあとりあえずだよww
ガンダム
0835デフォルトの名無しさん
2011/10/20(木) 16:23:39.71class A
{
B b = new B();
C c = new C();
this.b.ab=this;
}
class B
{
public object ab;
}
class C
{
public int cd = 5;
}
という状態で
classB内のメソッドで
ab.c.cd
と使おうとしても使えないのですが
どう使ったらいいのでしょうか?
0836デフォルトの名無しさん
2011/10/20(木) 16:30:39.17classをpublicにしろよボケナス
お前は先に文法学べっていってるだろチンカス野郎
0837デフォルトの名無しさん
2011/10/20(木) 16:32:41.210838デフォルトの名無しさん
2011/10/20(木) 16:33:40.14全部publicで宣言して干されろ
0839デフォルトの名無しさん
2011/10/20(木) 16:35:03.09classは3つともpublicです。
>>820のコピペそのままで手抜きしてゴメンナサイ
0840デフォルトの名無しさん
2011/10/20(木) 16:39:04.98Form1からForm2やForm3にコンストラクタやプロパティで共有するインスタンスを渡してやるか、
あるいはアプリの設定みたに一個しかインスタンス必要ないのなら、
どっかのクラスにpublic staticで置いてやればいいんじゃないか?
求めてる事と違ってたらごめんね
0841デフォルトの名無しさん
2011/10/20(木) 16:40:06.13これコピペして動かしてみたんですが、
値の更新がコントロールのフォーカスが移った時にしか行われないようです
入力中にもリアルタイムにテキストボックスとリストの値を同期させたいのですが、
どのように書き換えたら良いでしょうか
0842デフォルトの名無しさん
2011/10/20(木) 16:44:03.73ファイルに書き出せば?w
0843デフォルトの名無しさん
2011/10/20(木) 16:44:07.74UpdateSourceTrigger
0844デフォルトの名無しさん
2011/10/20(木) 16:45:57.61設定ファイルに保存されたプロパティの値を持ったインスタンス1つを全てのクラスで利用したいので
アプリの設定みたいに1個しかインスタンス必要ないものと同じですね
プロパティを保持するクラスの変数をpublic static にしてやってみます
0845デフォルトの名無しさん
2011/10/20(木) 16:47:29.950846デフォルトの名無しさん
2011/10/20(木) 16:48:12.52セーブデータ直接弄りまくるのか?バカじゃねーの?
0847デフォルトの名無しさん
2011/10/20(木) 16:50:55.44abがobject型だからそれを変えるかキャストするとか?
0848デフォルトの名無しさん
2011/10/20(木) 16:52:18.56プロパティクラスがxmlから値を取得して
基本は設定変更用のフォームからのみプロパティの値を変更して保存
他のクラスからはプロパティから値を取得するだけ
っていう状態です。
0849デフォルトの名無しさん
2011/10/20(木) 17:01:02.66プロはどうしてるかっていうと
そういうデータはフォームには持たせない
フォームを表示させる別のクラスでデータを保持する
この方が簡単なわけだが、今のお前には無理だろう
0850デフォルトの名無しさん
2011/10/20(木) 17:04:38.260851デフォルトの名無しさん
2011/10/20(木) 17:07:36.44abをオブジェクト型以外にすることは可能なのでしょうか?
クラスのインスタンスが入っているのでobject以外でできないものだとばかり・・・
>>849
フォームではなくプロパティクラスに持たせてフォームはそこから値をgetアクセサで取得するのですが
そういうことではなくてですか?
0852デフォルトの名無しさん
2011/10/20(木) 17:13:20.73フォームで設定するんじゃなくて別クラスで設定するんだよ
class A
{
Form form1=new Form();
form1.Propaty=obj.Form1Propaty;
form1.Show();
}
0853デフォルトの名無しさん
2011/10/20(木) 17:16:00.80C#に無理やりポインタ使って同じ処理させてるよな
C#は下手にポインタ使うよりライブラリ使った方が高速なのに
0854デフォルトの名無しさん
2011/10/20(木) 17:17:46.79なるほど
今までエントリポイントで作ったFormインスタンスから、
別のクラスを実体化させて弄ってたけど
メインクラスを作ってそこでApplication.Run()すればすっきりするんか・・・
いい事聞いた
0855デフォルトの名無しさん
2011/10/20(木) 17:22:07.180856デフォルトの名無しさん
2011/10/20(木) 17:26:57.46フォームもセーブデータを入出力するクラスもすべて
支配下におく親クラスを作る
その親クラスで仕事を各クラスに分担させる
0857デフォルトの名無しさん
2011/10/20(木) 17:27:24.66出来ました
ありがとうございます
0858デフォルトの名無しさん
2011/10/20(木) 17:27:49.700859デフォルトの名無しさん
2011/10/20(木) 17:29:14.70全体のコード量は増えるがその方がわかりやすい
データの受け渡しも直接渡す必要はない
参照を渡すだけなんだから極端に速度が落ちるわけでもないからな
間にいくつか挟んでもいいんだよ
0860デフォルトの名無しさん
2011/10/20(木) 17:29:59.69staticなProgram.csの存在を忘れていないか?
0861デフォルトの名無しさん
2011/10/20(木) 17:37:03.48public class Program
{
[STAThread()]
public static void Main(string[] args)
{
Application app = new Application();
Window win = new Window();
app.Run(win);
}
}
みたいにするの?
だったら自動生成機能いみないやん・・・
0862デフォルトの名無しさん
2011/10/20(木) 17:41:57.24バカ
0863デフォルトの名無しさん
2011/10/20(木) 17:44:20.87マジなら恐怖すら感じるわ
0864デフォルトの名無しさん
2011/10/20(木) 17:44:24.120865デフォルトの名無しさん
2011/10/20(木) 17:46:54.03デバッグ中は変なエラーが出てるのに、exeでは出ない。
そういうもんなの?
0866デフォルトの名無しさん
2011/10/20(木) 17:56:12.72規模の大きなアプリケーションを作ったことないんだけど(プロの人なら1時間程で組めると思うもの)
Program.cs - エントリポイントと各クラスで共通しているもの(テンポラリファイルパスとかカレントディレクトリパス)を書く
Form1.cs - メインフォーム、各コントロールのイベントハンドラや外部から触らないといけないインスタンスを返すプロパティとか書く
Class1.cs - 文字列やファイル処理処理したり、Formから呼び出されるのを前提で書く
こんな感じでいつも書いてるんだけど、これでいいの?
0867デフォルトの名無しさん
2011/10/20(木) 18:22:54.80好みだと思うよ
もう少し大きいなら分離する意味もあるだろうが
0868デフォルトの名無しさん
2011/10/20(木) 18:35:25.35こういう質問しちゃうようなひとは汎用的な自作クラスを持ってないはず
初めから機能別にクラス分けを学んでいった方がいい
0869デフォルトの名無しさん
2011/10/20(木) 18:37:17.14エントリポイントはフォーム作ってるだけみたいなの多いけど、
ホントに親クラスでごちゃごちゃやるもんなの?
でもC#で飯食ってる人の方が正しいか・・・
0870デフォルトの名無しさん
2011/10/20(木) 18:41:12.10好みだけどそれはあまりにも酷い
0871デフォルトの名無しさん
2011/10/20(木) 18:43:45.16VSがそういう御作法だから
0872デフォルトの名無しさん
2011/10/20(木) 18:48:44.35ごちゃごちゃしないために親クラスで処理を仕分けするんだが?
フォームにごちゃごちゃ書きたいならそうしろよw
上級者があえてそうしているのは意図が違う
お前と一緒にするな
0873デフォルトの名無しさん
2011/10/20(木) 18:50:41.100874デフォルトの名無しさん
2011/10/20(木) 18:56:10.55どこからでも呼び出せるから楽。
後からの変更で、状態を複数持つ必要性がでると、やっちまったぜ!感があるけどw
0875デフォルトの名無しさん
2011/10/20(木) 19:00:03.25できるだけやらない方がいい
0876デフォルトの名無しさん
2011/10/20(木) 19:02:48.550877デフォルトの名無しさん
2011/10/20(木) 19:17:11.820878デフォルトの名無しさん
2011/10/20(木) 19:24:29.260879デフォルトの名無しさん
2011/10/20(木) 19:28:04.870880デフォルトの名無しさん
2011/10/20(木) 19:28:27.910881デフォルトの名無しさん
2011/10/20(木) 19:29:30.820882デフォルトの名無しさん
2011/10/20(木) 19:29:46.600883866
2011/10/20(木) 19:30:24.73>>868さんの言う通り汎用な自作クラスは持ってないんだよね
みんなが言ってる親クラスってMainメソッドがあるクラスのこと?
0884デフォルトの名無しさん
2011/10/20(木) 19:32:25.01静的クラスは知らん。
0885デフォルトの名無しさん
2011/10/20(木) 19:32:26.65staticおじさん
0886デフォルトの名無しさん
2011/10/20(木) 19:52:04.66用途次第。場合によっては、参照局所性落とすだけ。
ということで、あんまりパフォーマンスに焦点あてて考えちゃダメで、
要件として、シングルトンであるべきかどうかで、静的にするかどうか決めなきゃダメ。
0887デフォルトの名無しさん
2011/10/20(木) 19:52:50.180888デフォルトの名無しさん
2011/10/20(木) 19:56:14.740889デフォルトの名無しさん
2011/10/20(木) 19:59:45.800890デフォルトの名無しさん
2011/10/20(木) 20:04:17.250891デフォルトの名無しさん
2011/10/20(木) 20:05:58.88誰か教えてケロ
0892デフォルトの名無しさん
2011/10/20(木) 20:11:06.50497:<丶`∀´>(´・ω・`)(`ハ´ )さんsage2011/03/01(火) 23:33:52.34 ID:oiOm2MzJ
ttp://www.ltchurch.com/main/ltc0406/35199/page/files/attach/images/529/199/035/%EC%98%88%EC%88%98%EC%9D%98%ED%83%84%EC%83%9D.jpg
ttp://www.ltchurch.com/main/ltc0406/35199/page/files/attach/images/529/199/035/%EC%9A%94%ED%95%9C%EC%84%B8%EB%A1%80%EB%B0%9B%EC%9D%8C.jpg
ttp://www.ltchurch.com/main/ltc0406/35199/page/files/attach/images/529/199/035/%ED%94%BC%EB%94%A9%EC%98%A4%EC%B2%9C.jpg
ttp://www.ltchurch.com/main/ltc0406/35199/page/files/attach/images/529/199/035/%EC%8B%AD%EC%9E%90%EA%B0%80%EC%A7%80%EA%B3%A0.jpg
ttp://www.ltchurch.com/main/ltc0406/35199/page/files/attach/images/529/199/035/%EB%AA%BB%EB%B0%95%EC%8B%AD%EC%9E%90.jpg
ttp://www.ltchurch.com/main/ltc0406/35199/page/files/attach/images/529/199/035/%EC%8A%B9%EC%B2%9C.jpg
0893デフォルトの名無しさん
2011/10/20(木) 20:19:49.640894デフォルトの名無しさん
2011/10/20(木) 20:28:13.34そこで、フォームの画面イメージを簡単に印刷できるようにしたいのですが可能でしょうか。
(カラーorモノクロ、かつ用紙の向きの縦横を選択できるようにしたいのでボタンを押したらプリントダイアログを出すようにしたい)
よろしくお願いします。
0895デフォルトの名無しさん
2011/10/20(木) 20:30:02.160896デフォルトの名無しさん
2011/10/20(木) 20:44:46.33FileとFileInfoの違いとか
ごめん、見当違いでしたね
0897デフォルトの名無しさん
2011/10/20(木) 20:55:22.68使い分けつうか大半のケースではstatic使わないでしょ
ゲームなんかでたくさんのオブジェクトの回収するのに共通の状態遷移を
通知したりするとものすごいコストになるかもしれないのでそういう場合は
staticで確保したエリアに次この状態ねってセットしてオブジェクトレベルで
処理させたりするけどなあ・・・
0898デフォルトの名無しさん
2011/10/20(木) 20:59:44.11必要と感じるかも?
0899デフォルトの名無しさん
2011/10/20(木) 21:01:55.28むしろstatic使ったほうがややこしいわ
0900デフォルトの名無しさん
2011/10/20(木) 21:04:17.24アニメーションパターンや弾幕の軌道その他の制御をするために
共通でみるカウンター
とかさ
1:nの当たり判定とかさ
一部はstaticであった方がいいケースが多い
0901デフォルトの名無しさん
2011/10/20(木) 21:10:16.45別にstaticじゃなくてもいいでしょ
当たり判定でステージごとにstaticメンバを初期化するんなら
ステージオブジェクトに管理させたほうがスマート
0902デフォルトの名無しさん
2011/10/20(木) 21:11:44.14もっといいのがあるなら実例踏まえた代案だしてやれよ
日本人ってけなすのはやるけど提案はしないよな
0903デフォルトの名無しさん
2011/10/20(木) 21:13:18.77DI使うとかいろいろあるよ
0904デフォルトの名無しさん
2011/10/20(木) 21:22:08.76静的メソッドを叩くとイベントが発動する奴。
気軽にどこでも呼べて、簡単なのなら十分だよ。
0905デフォルトの名無しさん
2011/10/20(木) 21:24:53.98その中でstatic使うとか正気の沙汰とは思えないな
コスパ悪すぎる
0906デフォルトの名無しさん
2011/10/20(木) 21:25:10.70それいちいち全部-=しないとメモリリークするよ
0907デフォルトの名無しさん
2011/10/20(木) 21:26:30.92処理速度を必要とするループの中にstaticなんてありえないな
0908デフォルトの名無しさん
2011/10/20(木) 21:31:31.49static char ret[100];
strcpy(hoge, "hoge");
return ret;
}
0909デフォルトの名無しさん
2011/10/20(木) 21:33:50.750910デフォルトの名無しさん
2011/10/20(木) 21:35:37.000911デフォルトの名無しさん
2011/10/20(木) 21:52:52.20状態を管理するクラスのインスタンスで管理すればいい。
0912デフォルトの名無しさん
2011/10/20(木) 21:54:56.310913デフォルトの名無しさん
2011/10/20(木) 21:56:58.640914デフォルトの名無しさん
2011/10/20(木) 21:57:41.81そんなとんでもなく大量に作って高速に処理するなら
それぞれのオブジェクトに振る舞い持たせたりしないでCのように作ればいい
0915デフォルトの名無しさん
2011/10/20(木) 21:59:51.140916デフォルトの名無しさん
2011/10/20(木) 22:21:43.210917デフォルトの名無しさん
2011/10/21(金) 00:29:12.16何が悪いんでしょうか
sock.connect()
sock.send()
sock.recieve()
sock.close()
sock = null
してるだけです
netstatで見てもFIN_WAITもCLOSE_WAITもありません
TIME_WAITが何百個かある感じです
0918デフォルトの名無しさん
2011/10/21(金) 00:31:04.270919デフォルトの名無しさん
2011/10/21(金) 03:44:49.04http://msdn.microsoft.com/ja-jp/library/wahsac9k.aspx
http://msdn.microsoft.com/ja-jp/library/system.net.sockets.socket.lingerstate.aspx
http://www.kt.rim.or.jp/~ksk/wskfaq-ja/articles/debugging-tcp.html
0920デフォルトの名無しさん
2011/10/21(金) 12:06:18.81この原因やっとわかった
フォルダプロパティでインデックス検索にしているのが問題だった
ファイルを消しても前のファイルを参照しているようでそれで変になってた
あと、なぜか自分自身を参照設定に加えてたw
0921デフォルトの名無しさん
2011/10/21(金) 12:11:37.56ソケットの方じゃなくて、スレッド数多すぎてスタック用のメモリ不足で死んでるとかは?
recieve じゃなくて非同期版のメソッド使うとどう?
0922デフォルトの名無しさん
2011/10/21(金) 17:36:56.13改めて調べてみたら、「静的」と言うから分かりにくかったんだな。
「クラス変数」「クラスメソッド」って説明に出会って、やっと理解できたような気がする。
0923デフォルトの名無しさん
2011/10/21(金) 17:51:50.90staticなんてMyClassクラスのMyStaticMethodなら
クラスとか関係なく単にMyClass.MyStaticMethodという名前の関数だと思えばいい
0924デフォルトの名無しさん
2011/10/21(金) 17:58:36.70関数が呼ばれる際前回呼ばれた際も考慮に入れて動く場合とかさ
0925デフォルトの名無しさん
2011/10/21(金) 18:15:01.69と呼び習わしていたころの名残り
0926デフォルトの名無しさん
2011/10/21(金) 19:03:57.920927デフォルトの名無しさん
2011/10/21(金) 19:17:45.06C#でもそういう言い方するのかな?
C#でグローバル変数にはstatic付けるべき?
初心者?攻撃スマソ
0928デフォルトの名無しさん
2011/10/21(金) 19:19:43.480929デフォルトの名無しさん
2011/10/21(金) 19:24:42.060930デフォルトの名無しさん
2011/10/21(金) 19:26:40.910931デフォルトの名無しさん
2011/10/21(金) 19:47:03.410932デフォルトの名無しさん
2011/10/21(金) 19:59:34.07自分で実装しなくても、
using System.Linq; して、Where とか First とか FirstOrDefault で終わり。
0933デフォルトの名無しさん
2011/10/21(金) 20:09:46.960934デフォルトの名無しさん
2011/10/21(金) 20:16:18.64疑問形にしなくてよろしい
0935デフォルトの名無しさん
2011/10/21(金) 20:21:50.770936デフォルトの名無しさん
2011/10/21(金) 21:01:06.19なるべく使わないほうがいい」なんて書いてたが、
なんでもありのC#ではそんな野暮なこと言わないよな?
0937デフォルトの名無しさん
2011/10/21(金) 21:02:42.580938デフォルトの名無しさん
2011/10/21(金) 21:16:06.35そういう教条的な問題じゃなくて、テストが面倒なんだよ
ダメなのは変化する状態をstaticフィールドに持たせることで、
それをしないなら静的メソッド使いまくっても全然構わない
0939デフォルトの名無しさん
2011/10/21(金) 21:19:49.88もともと、内部状態変更せず、かつ、public なメンバーにしかアクセスしないようなものは
OOP であっても static にすべきだったと思う。
問題になるのは、static 変数の状態をそこら中から書き換えること。
内部状態持たない、pure(同じ入力与えたら必ず同じ出力得る)な static メソッドは無害。
0940デフォルトの名無しさん
2011/10/21(金) 21:24:14.290941デフォルトの名無しさん
2011/10/21(金) 21:25:39.14基本的にはちゃんとオブジェクト指向で設計しないと
0942デフォルトの名無しさん
2011/10/21(金) 21:29:32.27オブジェクト指向より関数型の方がずっとそういうのに厳しい
0943デフォルトの名無しさん
2011/10/21(金) 22:01:44.55>public なメンバーにしかアクセスしないようなものは
ではなく、「メンバを使用しないメソッドの場合」 (=内部状態変更されない)ですよね。
実際、VS で メソッドスタブ作らせたり、リファクタで メソッドの抽出をすると
上記の場合には static が付与されたメソッドが生成されるし
FXCop でも そういうメソッドの場合 "static なメソッドに変更しましょう"という警告を出してくる。
ReShaerper や CodeRush もソレに倣ってるので 同様の注意勧告をしてくる。
0944デフォルトの名無しさん
2011/10/21(金) 23:41:13.34非同期関数を用意して
AsyncFunction( delegate() {
//hogehoge
});
みたいにするか
スレッドを用意して同期関数を呼ぶか で迷ってる
javascriptの経験から言うと前者で気持ち悪くないんだけど
C#だとスレッド用意するのが普通なの?
0945デフォルトの名無しさん
2011/10/21(金) 23:49:17.78Taskとか最近追加されたAPIはほとんど継続使うようになってる
次のバージョンのC#では非同期関数を同期関数のように呼べる機能が追加される
0946デフォルトの名無しさん
2011/10/22(土) 00:32:11.29それはもちろんのこと、追加で。
LINQ がらみの操作なんかがまさにそうだけど、
全部インターフェイスに対する静的メソッドで実装されてる。
ああいうのは、静的メソッド使うほうが向いてる。
0947デフォルトの名無しさん
2011/10/22(土) 00:33:50.98JavaScript 的な感覚で言うと、
Promise に相当するもの(Task クラス)を返すメソッド書いて、
こいつ使って継続処理するのが今後の主流。
0948デフォルトの名無しさん
2011/10/22(土) 11:36:40.51ラベルのBackColorをTransparentにしたのに、
ラベルに隠れた部分が隠れたままです。
どうすればラベルの下が透けて見えるのでしょうか?
0949デフォルトの名無しさん
2011/10/22(土) 11:43:07.24WinFormsの背景透過は無理矢理それっぽく見せてるだけで、どうしてもおかしくなるところはある
本当に透過させたいならWPFへ
0950デフォルトの名無しさん
2011/10/22(土) 12:22:48.00ありがとうございます。でも駄目だった。
Parent設定したほうのコントロールが消えちゃう。
やり方悪いのかな?コンテナつーのもよく分からないし・・・
重ならないように、デザイン考えたほうが速そうだwww
0951デフォルトの名無しさん
2011/10/22(土) 14:12:25.85winformそこまで考えられてないので
やるとすればgraphicsを駆使して自分で書くしかないかも
でどういうことをしようとしてたの?
0952デフォルトの名無しさん
2011/10/22(土) 15:19:08.990953デフォルトの名無しさん
2011/10/22(土) 16:14:04.34pictureBoxの画の上にラベルを重ねて動的に文字を出したかったんだけど、
画を隠さずフォントだけ重ねたかったんだけど。
WPF勉強してみるかなあ。
WPFってデザイナ部分がXAMLになっただけ?
C#のプログラム的にはWindowsフォームと同じですか?
0954デフォルトの名無しさん
2011/10/22(土) 16:21:50.87http://ideone.com/XWFmK
これそのまま移植した感じで大丈夫でしょうか
それともStrategyがFormクラスから直接見えるのは不味いですか?
0955デフォルトの名無しさん
2011/10/22(土) 16:24:54.66それならPaintで画像に文字だけ書くことをやるだけで十分じゃね?
まぁ、WPFの方がスマートに出来るけど。
WPFはレイアウトの仕方の考え方など様々な考え方が違うから気をつけて。
なれると、Windowsフォームで作りたくなくなるよ。Windowsフォームは自由度が低いので。
0956デフォルトの名無しさん
2011/10/22(土) 16:24:59.63GUI周りはかなり違う
pictureboxならなんとかなるかも
0957デフォルトの名無しさん
2011/10/22(土) 16:26:30.76何がしたいのかよく分からん設計
AddedLogかMethodのどっちかだけでよくね
イベント使うならストラテジの差し替えは要らんし
0958デフォルトの名無しさん
2011/10/22(土) 16:47:11.70どうぞ
http://ideone.com/C6yNB
0959デフォルトの名無しさん
2011/10/22(土) 16:47:18.36Textbox.Textに書きに行くのはいいけれど、たぶんやりたいはずの、
異なるスレッドからアクセスだと、動かなくなる。
こんな感じするといい。
TaskScheduler UISyncContext = TaskScheduler.FromCurrentSynchronizationContext();
void AddMessage(string text)
{
Task reportTask = Task.Factory.StartNew(() =>
{
textBox2.Text += text;
},
CancellationToken.None,
TaskCreationOptions.None,
UISyncContext);
reportTask.Wait();
}
0960デフォルトの名無しさん
2011/10/22(土) 18:16:35.12http://studiokingyo.fc2web.com/
0961デフォルトの名無しさん
2011/10/22(土) 19:09:04.800962デフォルトの名無しさん
2011/10/22(土) 20:06:55.270963デフォルトの名無しさん
2011/10/22(土) 21:57:55.89C#の正規表現を使うには
Regex r = new Regex(@"正規表現");
Match m = r.Match(検索対象);
という風にインスタンス化してヒットさせる方法と
Match m = Regex.Match(検索対象, @"正規表現");
と2つあるみたいなんですが、
前者と後者の違いってなんでしょう?スタティックであるかないかだけですか?
0964デフォルトの名無しさん
2011/10/22(土) 22:03:45.17http://smdn.jp/programming/netfx/regex/1_operations/
0965デフォルトの名無しさん
2011/10/22(土) 23:46:49.12正規表現って、与えられたパターン文字列をコンパイルして、
内部的な状態遷移マシンに変換してるんだけど、
インスタンスだとそのコンパイルは1回きり(インスタンスを保持し続ける限り)だけど、
static な方だと毎回コンパイル必要になるんじゃないかな。
内部的にキャッシュとかしてくれてるかもしれないけども。
0966デフォルトの名無しさん
2011/10/23(日) 01:49:13.28http://dobon.net/vb/dotnet/control/labelonpicturebox.html
の方法で重ねられないの?
デザイナだとpictureboxには子コントロールを追加できない
直接コード書かないと
0967デフォルトの名無しさん
2011/10/23(日) 03:26:11.30普通にできるじゃん
http://www.dotup.org/uploda/www.dotup.org2171289.png
http://www.dotup.org/uploda/www.dotup.org2171290.png
0968デフォルトの名無しさん
2011/10/23(日) 10:53:41.650969デフォルトの名無しさん
2011/10/23(日) 11:31:38.542010 Expressなんだけど、ドキュメントアウトラインってどうやって表示するの?
表示−その他のウィンドウ にないし、カスタマイズでも見当たらない
0971デフォルトの名無しさん
2011/10/23(日) 13:12:52.95何年経ってもくっそみたいなUIwwww
0972デフォルトの名無しさん
2011/10/23(日) 13:16:23.11背景に画像入れたりしたときの醜さといったら
0973デフォルトの名無しさん
2011/10/23(日) 13:20:45.97ホームページとかで背景に鮮やかな柄にしている奴とか
文字がチカチカして見えにくい
色盲なのかといいたくなる
0974デフォルトの名無しさん
2011/10/23(日) 13:23:41.590975デフォルトの名無しさん
2011/10/23(日) 15:39:26.460976デフォルトの名無しさん
2011/10/23(日) 15:46:38.360977デフォルトの名無しさん
2011/10/23(日) 18:00:07.220978デフォルトの名無しさん
2011/10/23(日) 18:43:12.470979デフォルトの名無しさん
2011/10/23(日) 19:10:31.33もしかしてInternetExplorerが入ってないと動かないの?
0980デフォルトの名無しさん
2011/10/23(日) 19:14:12.03Monoで動かすってんでもない限り入ってないことはないだろ
0981デフォルトの名無しさん
2011/10/23(日) 19:22:42.90http://hibari.2ch.net/test/read.cgi/tech/1319365302/
0982デフォルトの名無しさん
2011/10/23(日) 19:45:03.67そうだな糞重いのもアイコンでっかくして
一度に表示するデータ量を減らせば
重いのも誤魔化せるな
逆に数万行のデータを表示するようなアプリはこれでは無理
0983デフォルトの名無しさん
2011/10/23(日) 19:48:15.86Googleの検索に何件表示されてる?
プレゼンする時に何行データ出す?
よ〜く考えた方がいいぞ
それでも「10万件表示できること」って押し通されたこともあるが
0984デフォルトの名無しさん
2011/10/23(日) 19:48:32.19数万行表示させるのは、設計的に問題有るだろw
0985デフォルトの名無しさん
2011/10/23(日) 19:51:26.99余裕で10万超えてるわ
0986デフォルトの名無しさん
2011/10/23(日) 19:57:49.780987デフォルトの名無しさん
2011/10/23(日) 20:02:22.250988デフォルトの名無しさん
2011/10/23(日) 21:28:26.07おつうめ
0989デフォルトの名無しさん
2011/10/23(日) 22:49:28.02お金払えば使えるよ^^
0990デフォルトの名無しさん
2011/10/23(日) 22:50:39.000991デフォルトの名無しさん
2011/10/23(日) 22:51:24.21return;
else
len = this._socket.EndReceive(ar);
これでぬるぽ言われるんだけど、どうやったら回避できますか、
アドバイスください@ReceiveCallbackメソッドです
0992デフォルトの名無しさん
2011/10/23(日) 22:52:30.840993デフォルトの名無しさん
2011/10/23(日) 22:53:08.72orだと両方チェックするから右側がnullの時アクセスできない代物なんじゃない?
普通は&&すべき
0994デフォルトの名無しさん
2011/10/23(日) 23:00:02.02ちょっと何言ってるか分からない
>>991
ブレイクポイントで止めて自動変数ウィンドウ辺りで何がnullなのか確認
0995デフォルトの名無しさん
2011/10/23(日) 23:01:57.01Close()した後なので_soketがnullなんですが、
_soket == nullがfalseを返すのかどうなのか、
else側が実行されちゃうんです
0996デフォルトの名無しさん
2011/10/23(日) 23:04:52.40if (list == null && list.Count == 0l) return; これだとノーエラー
0997デフォルトの名無しさん
2011/10/23(日) 23:08:34.66中身がなくなるのと、参照元変数が初期化されるのとは別のお話じゃなかったっけ。
それなら Close() というかインスタンスを破棄した後で自分で null 入れなきゃならないんだけど。
0998デフォルトの名無しさん
2011/10/23(日) 23:08:38.510999デフォルトの名無しさん
2011/10/23(日) 23:18:24.64今回は二つ目の条件判断で一つ目で判断したオブジェクトのメンバ見てるわけじゃないだろ…
1000デフォルトの名無しさん
2011/10/23(日) 23:20:03.5110011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。