ふらっとC#,C♯,C#(初心者用) Part69
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2011/01/29(土) 11:39:22「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。
ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からない場合など、勇気をもって書き込んでください。
内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。
なお、テンプレ2行目が読めない回答者は邪魔なので後述のC#相談室に移動して下さい。
>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっとC#,C♯,C#(初心者用) Part68
http://hibari.2ch.net/test/read.cgi/tech/1294921393/
■関連スレ
C#, C♯, C#相談室 Part64
http://hibari.2ch.net/test/read.cgi/tech/1294734221/
VB.NET質問スレ(Part35)
http://hibari.2ch.net/test/read.cgi/tech/1284423653/
くだすれC++/CLI(初心者用)part2
http://pc12.2ch.net/test/read.cgi/tech/1268613679/
■備考
コードの量が多い場合は下記サイトを使うなどしたほうがいいかも
http://ideone.com/
コードを貼り付けてRun codeのチェックをはずしてsubmitボタンを押すと
コードを鯖側にアップして専用のアドレスが発行されます。
直接貼る場合は下記サイトなどを利用してhtmlエンコードした方が
インデントも残って見やすいです
http://kawama.jp/php/encode_html.php
0002デフォルトの名無しさん
2011/01/29(土) 12:10:39世間はどうなっちゃってますか
0003デフォルトの名無しさん
2011/01/29(土) 12:24:07var adultNames = from x in list where 20 <= x.Age select x.Name;
foreach (var name in from x in adultNames) { Output(str: adultNames); }
こんなことになってる
0004デフォルトの名無しさん
2011/01/29(土) 12:33:20”の片側が省略可能になっているとは・・・・
0005デフォルトの名無しさん
2011/01/29(土) 12:38:550006デフォルトの名無しさん
2011/01/29(土) 12:43:144.0でDLRのコード生成用ASTと統合されてLINQとあまり関係なくなってるので
System.Expressionsにすべきだった
0007デフォルトの名無しさん
2011/01/29(土) 13:53:37それはあるよね。
あと、式と呼べる範囲越えたけど今まで通り Expression Tree だったり。
0008デフォルトの名無しさん
2011/01/29(土) 14:08:57LINQ to SQLのようなものの実装が難しくなりすぎるからC#でExpression Tree V2の
フルセットがサポートされることはどうせ永遠にないだろうし
どこまでがクエリ用なのかはっきりさせたほうが良かったと思う
Expession.Compileも要らん
0009デフォルトの名無しさん
2011/01/29(土) 14:32:15Expression<<Func<T,bool>>を引数にしたQRMを実装する時に、
引数に依存していない部分をCompile().Invoke()で事前評価したいから必要
0010デフォルトの名無しさん
2011/01/29(土) 14:57:39処理に必要なテーブルをすべて結合するSQL命令文字列を
SqlCmdに渡して実行して、SqlDataReaderからデータテーブルに必要な項目をすべて読みとってコネクションをクローズ
処理はデータテーブルに対して実行してる
このやり方より効率よくて可読性に優れている書き方とかない?
0011デフォルトの名無しさん
2011/01/29(土) 14:58:591行目:○ 接続型のデータ接続でDBのテーブルを参照して処理するプログラム書いてるんだが
× 非接続型のデータ接続でDBのテーブルを参照して処理するプログラム書いてるんだが
0012デフォルトの名無しさん
2011/01/29(土) 15:54:56ここで聞いてみます。
僕は、この前の春に中学を卒業した16歳のものです。今、インターネットカフェというところから
書き込んでいます。
家計の事情で今は土木関係で働いているのですが、僕はもともと虚弱体質でパソコンとかの仕事の方が似合いそうです。
そこで、プログラマというのになりたいのですが、いまから勉強してもなれますか?やっぱ高校とかでないとなれませんか?
給料がたまったので、こんどパソコンを買いたいなとおもっています。それで、よければ、勉強してみたいと思います。
がんばれば、プログラマーになれますか?
0013デフォルトの名無しさん
2011/01/29(土) 16:05:260014デフォルトの名無しさん
2011/01/29(土) 16:40:00プログラム板は技術に関する板
プログラマ板が仕事に関する板
一応答えるとパソコン使って文章が書けるんだったら、根気はいるが習得は可能
ただし、プログラマーになったとして・・・という感じ
0015デフォルトの名無しさん
2011/01/29(土) 18:51:22char[]にして繋げるくらいしか思いつかなくて、
これで良いのか悩んでます
0016デフォルトの名無しさん
2011/01/29(土) 19:01:040017デフォルトの名無しさん
2011/01/29(土) 19:01:27それでOKでしょ。
むしろどこに悩む必用があるのか理解できない。
0018デフォルトの名無しさん
2011/01/29(土) 19:04:500019デフォルトの名無しさん
2011/01/29(土) 19:06:01{
Stack<string> stack = new Stack<string>();
for (int i = 0; i < s.Length; i++)
stack.Push(s.Substring(i, 1));
string ns = string.Empty;
for (int i = 0; i < s.Length; i++)
ns += stack.Pop();
return ns;
}
0020デフォルトの名無しさん
2011/01/29(土) 19:10:440021デフォルトの名無しさん
2011/01/29(土) 19:40:41アレはdoubleの仮数部の長さ
あとMath.Ceiling(Math.Log10(long.MaxValue))にしとけ
0022デフォルトの名無しさん
2011/01/29(土) 19:50:380023デフォルトの名無しさん
2011/01/29(土) 20:01:53数が10のべきの時に桁数間違えるだろそれ
0024デフォルトの名無しさん
2011/01/29(土) 20:21:18BigInteger.Logは内部でMath.Log使ってるのでMath.Logより精度が悪い
Math.Log10使うと10^15で誤差が出るけど、BigInteger使った場合は10^9で話にならんレベル
>>23
long.MaxValueだから大丈夫
0025デフォルトの名無しさん
2011/01/29(土) 21:36:320026デフォルトの名無しさん
2011/01/29(土) 21:40:11煽りじゃなくて真面目な話。
0027デフォルトの名無しさん
2011/01/29(土) 21:43:050028デフォルトの名無しさん
2011/01/29(土) 21:45:100029デフォルトの名無しさん
2011/01/29(土) 21:50:240030デフォルトの名無しさん
2011/01/29(土) 21:50:260031デフォルトの名無しさん
2011/01/29(土) 21:52:270032デフォルトの名無しさん
2011/01/29(土) 21:55:040033デフォルトの名無しさん
2011/01/29(土) 21:56:52整数の桁数を数えるのに一旦文字列に変換するのはどこにも必然性がない。
目的に対して手段が直截的でない。
それに内部の処理を考えたら無駄が多すぎ。
(1) バイナリをpacked BCDに変換
(2) packed BCDをアンパック
(3) アンパックバイト列を1バイト毎に文字コードに変換
(4) 0サプレス
0034デフォルトの名無しさん
2011/01/29(土) 22:07:33内部がどうとかまったく気にする必要はない
0035デフォルトの名無しさん
2011/01/29(土) 22:08:120036デフォルトの名無しさん
2011/01/29(土) 22:09:500037デフォルトの名無しさん
2011/01/29(土) 22:25:22ただConvert.ToInt64(string).ToString().LengthとかだとかなりVB臭
0038デフォルトの名無しさん
2011/01/29(土) 22:28:010039デフォルトの名無しさん
2011/01/29(土) 22:40:35現場にもこういう奴はたまにいるけど、周りは大抵呆れている
0040デフォルトの名無しさん
2011/01/29(土) 22:45:200041デフォルトの名無しさん
2011/01/29(土) 22:48:420042デフォルトの名無しさん
2011/01/29(土) 22:54:29よく分からん被害妄想だな。
とりあえず本気でToString().Lengthで誰に見せても恥ずかしくないコードだと思ってるのなら、
率直にいってそれはかなりおかしい
0043デフォルトの名無しさん
2011/01/29(土) 22:57:08いろいろ探してMatch.Groupがなかったんで
もしかしてMatch.Groupsですか?
0044デフォルトの名無しさん
2011/01/29(土) 22:57:230045デフォルトの名無しさん
2011/01/29(土) 22:59:08アラビア数字で桁区切りなし、0パディングなしの文字列が返ってくるって考えてよかったっけ?
0046デフォルトの名無しさん
2011/01/29(土) 23:00:16例えばアニヲタを馬鹿にするのとアニメを馬鹿にするのは別問題。
0047デフォルトの名無しさん
2011/01/29(土) 23:02:06対数で桁数えてから文字にして表示していたらバカにしか見えないな
0048デフォルトの名無しさん
2011/01/29(土) 23:03:200049デフォルトの名無しさん
2011/01/29(土) 23:04:54> 値が負の場合はマイナス記号を伴い、先行ゼロを含まない 0 から 9 の一連の数字から
> 構成される、このインスタンスの値の文字列形式。
> 戻り値は、一般数値書式指定子 ("G") および現在のカルチャの NumberFormatInfo を使用して書式設定されます。
0050デフォルトの名無しさん
2011/01/29(土) 23:07:140051デフォルトの名無しさん
2011/01/29(土) 23:08:20つまり今回の例だとVB使っている奴は馬鹿だけどVBは馬鹿にしていないってことでおk?
0052デフォルトの名無しさん
2011/01/29(土) 23:08:300053デフォルトの名無しさん
2011/01/29(土) 23:10:04VB厨≠VBユーザー
0054デフォルトの名無しさん
2011/01/29(土) 23:13:24ふむ、ではVB厨とは?
0055デフォルトの名無しさん
2011/01/29(土) 23:14:380056デフォルトの名無しさん
2011/01/29(土) 23:16:35あと>>37自身もVBプログラマだぞ
0057デフォルトの名無しさん
2011/01/29(土) 23:19:59その場で適当に使う分にはどうでもいい
0058デフォルトの名無しさん
2011/01/29(土) 23:55:230059デフォルトの名無しさん
2011/01/30(日) 00:02:13まあ何かしら必用な場面はあるとは思う
0060デフォルトの名無しさん
2011/01/30(日) 00:08:490061デフォルトの名無しさん
2011/01/30(日) 00:29:04// エラーではない場合、この行を実行
if (temp[0] != "")
{
// 検索するパターン
string pat = @"\[(?<circle>[^\]]*)\]\s*(?<title>.*)";
Regex r = new Regex(pat);
// フォルダ名を分ける処理
// 変数iは全体の回数、変数pは名前分けが実行された回数
int i = 0,p = 0;
foreach (string n in temp)
{
Match m = r.Match(temp[i]);
if (m.Success)
{
// この行でエラー
circle[p] = m.Groups["circle"].Value;
title[p] = m.Groups["title"].Value;
p++;
}
i++;
}
ここまでは来たのですが、"// この行でエラー"と言うところで例外エラー("オブジェクト参照がオブジェクトインスタンスに設定されていません")
なぜエラーが出るのか教えてください・・・
0062デフォルトの名無しさん
2011/01/30(日) 00:33:470063デフォルトの名無しさん
2011/01/30(日) 00:34:280064デフォルトの名無しさん
2011/01/30(日) 00:38:14そういう処理は
GetFileName()
.Select(name => r.Match(name))
.Where(m => m.Success)
.Select(m => new
{
Circle = m.Group["circle"].Value,
Title = m.Group["title"].Value
});
006561
2011/01/30(日) 00:55:29circleとtitleはクラスの上の方ににpublic string[] 変数名で確保しています
>>63
初期化しないといけないんですか?
>>64
やってることがさっぱりわかりません
たまに出てくる => ってどういう意味なんですか?
0066デフォルトの名無しさん
2011/01/30(日) 01:01:06初期化は必要
http://www.atmarkit.co.jp/fdotnet/dotnettips/261arrayinit/arrayinit.html
0067デフォルトの名無しさん
2011/01/30(日) 01:01:11左辺が受け取るパラメータで右辺がそれを行う式
LINQ、ラムダ式どころかデリゲートとかも分からんのか?
0068デフォルトの名無しさん
2011/01/30(日) 01:12:38今やってみたんですが、初期化の時点でエラー出てしまいました・・・
>>67
デリゲードもわからないです・・・
0069デフォルトの名無しさん
2011/01/30(日) 01:21:36リンク先参考に初期化のやり方勉強してね
0070デフォルトの名無しさん
2011/01/30(日) 01:25:270071デフォルトの名無しさん
2011/01/30(日) 01:27:42もうちょっと基礎を勉強してから出直した方が早いんじゃないかなあ
007261
2011/01/30(日) 01:44:51やっぱりネットだけでC#マスターしようとすると難しいですか?
書籍とか購入したほうがいいですか?
0073デフォルトの名無しさん
2011/01/30(日) 01:48:30LINQはともかく、イベントとかも関係するから
デリゲートは覚えたほうがいい
書籍に関しては否定しないが、MSDNとかでも勉強はできる
http://msdn.microsoft.com/ja-jp/ff357685
0074デフォルトの名無しさん
2011/01/30(日) 01:56:100075デフォルトの名無しさん
2011/01/30(日) 02:16:48ありがとうございます
ちょっとここで勉強してみます
>>74
MSDN見るようにします・・・
0076デフォルトの名無しさん
2011/01/30(日) 02:23:08いやLINQこそ覚えて欲しい
0077デフォルトの名無しさん
2011/01/30(日) 03:06:10LINQは覚えたほうが便利なのは確かだが、いきなりは無理だろ
デリゲート、ジェネリック、ラムダ式と順を追って覚えてからじゃないと意味が無い
LINQがどうやって構成されているか理解していない奴に使われちゃ
徒にバグを生み出されるだけ
0078デフォルトの名無しさん
2011/01/30(日) 03:06:250079デフォルトの名無しさん
2011/01/30(日) 03:15:240080デフォルトの名無しさん
2011/01/30(日) 03:21:39釣りの仕方を教えりゃ次にも繋がるぞ
0081デフォルトの名無しさん
2011/01/30(日) 03:22:140082デフォルトの名無しさん
2011/01/30(日) 10:12:360083デフォルトの名無しさん
2011/01/30(日) 14:17:39デフォルトでIContainerを引数にとるコンストラクタが作成されますが、
これはどういう場合に必要なんですか?
Controlsプロパティを持つコントロールを継承する場合?
0084デフォルトの名無しさん
2011/01/30(日) 14:19:530085デフォルトの名無しさん
2011/01/30(日) 14:32:50親に自分で追加したり削除したり、兄弟を見たりできる
0086デフォルトの名無しさん
2011/01/30(日) 14:49:06内部ではどういう処理してるんですね
0087デフォルトの名無しさん
2011/01/30(日) 14:59:060088デフォルトの名無しさん
2011/01/30(日) 15:17:59それはDispose対象を管理していると考えて良い?
結局IContainer引数のコンストラクタが必要なのはUserControlぐらい?
0089デフォルトの名無しさん
2011/01/30(日) 15:29:120090デフォルトの名無しさん
2011/01/30(日) 15:40:39新しくできる x2,y2 を求める場合はC#でどのように書けばいいでしょうか?
角度は変えません。ベクトルの長さだけを変更します。
0.8倍とか1.5倍とかそんな感じです
0091デフォルトの名無しさん
2011/01/30(日) 15:43:04そうすると組み込み演算子で同等の処理が出来る、
bigIntとかbigDecimalみたいなのは作れないって事ですか?
0092デフォルトの名無しさん
2011/01/30(日) 15:44:23ピタゴラスの定理。
中学校で習う数学ですよ。
0093デフォルトの名無しさん
2011/01/30(日) 15:45:500094デフォルトの名無しさん
2011/01/30(日) 15:47:28単位ベクトルv=(x1-x,y1-y)だろ
原点+nv
0095デフォルトの名無しさん
2011/01/30(日) 15:49:34確かにそうだねw
中一で習う相似の考え方でいける
0096デフォルトの名無しさん
2011/01/30(日) 15:50:10なんか聞いてるとJavaの話臭いんだけど
Javaは演算子オーバーロードできないからできないよ
0097デフォルトの名無しさん
2011/01/30(日) 16:16:10いや、92が一番アホってことだろ
言わせんな
0098デフォルトの名無しさん
2011/01/30(日) 16:26:35ただ、矢印の内部表現を支点の座標、単位ベクトル、長さでの3つの値で表現するのなら、
いずれにせよ三平方の定理は必用になる。
0099デフォルトの名無しさん
2011/01/30(日) 16:31:390100デフォルトの名無しさん
2011/01/30(日) 16:37:190101デフォルトの名無しさん
2011/01/30(日) 16:37:26>原点+nv
x + vx * n , y + vy * n
これであってますか?
0102デフォルトの名無しさん
2011/01/30(日) 16:44:250103デフォルトの名無しさん
2011/01/30(日) 16:51:590104デフォルトの名無しさん
2011/01/30(日) 17:13:05ly = y1 - y
lx と ly は1.0倍なんだから、1.8倍ならそれぞれ1.8倍すればいい
原点が(x,y)として(x + lx * 1.8, y + ly * 1.8)
0105デフォルトの名無しさん
2011/01/30(日) 17:24:150106デフォルトの名無しさん
2011/01/30(日) 18:11:46内部挙動まで含めて、というのであれば、組み込み型の演算子は特別処理されてるので、
ユーザー定義演算子では同じ結果にはならない。
(string以外の)組み込み演算子 → IL 命令に変換
ユーザー定義演算子 → 静的メソッド呼び出しにコンパイルされる
0107デフォルトの名無しさん
2011/01/30(日) 20:02:15戻り値がDataTabel型のメソッドをテストしたいんですが、
(テストコード内のテストメソッド内)
DataTabel expected = new DataTabel();
(expectedデータテーブルに想定のデータを仕込む(DataRowを作成して
1行ずつekpected.Rows.Add()していく)処理)
DataTable actual = (テスト対象クラスのインスタンス).(テスト対象メソッド());
ここまでで想定のデータテーブルと実際にメソッドから得られるデータテーブルが
出来ると思いますが、ここから○×を評価するのに
CollectionAssert.AreEqual(expected.Rows[],actual.Rows[]);
の式ですみますか?
それともexpectedとactualの要素をひとつずつ取り出して
Assert.AreEqual(expected.Rows[0][0],expected.Rows[0][0]);
Assert.AreEqual(expected.Rows[0][1],expected.Rows[0][1]);
Assert.AreEqual(expected.Rows[0][2],expected.Rows[0][2]);
Assert.AreEqual(expected.Rows[1][0],expected.Rows[1][0]);
・ ・
・ ・
のように要素ひとつずつ評価しなければなりませんか?
知っている人いたら、お願いしますm(__)m
0108デフォルトの名無しさん
2011/01/30(日) 20:10:400109デフォルトの名無しさん
2011/01/30(日) 20:13:48試してないけど、DataRowのEqualsは同一値の行でもfalseだから、Rowsの比較は無理じゃないか?
0110デフォルトの名無しさん
2011/01/31(月) 11:26:43画像ファイルとして保存したりできるけどあれと同じようなことを
silverlightでできますかね?
ファイルの保存を直接ホストマシンのどこかにってのは無理でしょうから(OOB除く)
ブラウザでファイルを保存(ダウンロード)するときのようにダイアログを出して
ユーザーに指定させる感じでもいいのですが・・・
0111デフォルトの名無しさん
2011/01/31(月) 11:36:35・Silverlight PNG encoderでググる
・SaveFileDialog
Silverlightは専用スレがあるからそっち行けば?
0112デフォルトの名無しさん
2011/01/31(月) 12:29:30ありがとうございます
専用スレがあったんですね
そっちに行ってみます
あと教えていただいたキーワードで調べてたら別の保存方法もありました
置き土産です
http://soundweaver.jp/blog/post/2010/02/27/Silverlighte382a2e38395e383aae381a6e7b0a1e58d98e381abPNGe794bbe5838fe38292e4bf9de5ad98e38199e3828b.aspx
http://geekswithblogs.net/braulio/archive/2009/07/12/export-canvas-to-png-and-save-it-in-your-local.aspx
0113デフォルトの名無しさん
2011/01/31(月) 14:20:350114デフォルトの名無しさん
2011/01/31(月) 20:49:080との大小比較ですか?
0115デフォルトの名無しさん
2011/01/31(月) 20:51:15他人を何だと思ってるんだ?
0116デフォルトの名無しさん
2011/01/31(月) 20:52:220117デフォルトの名無しさん
2011/01/31(月) 20:53:09あとは0x80000000でbitチェックするか
まあ普通に大小チェックした方がいいw
0118デフォルトの名無しさん
2011/01/31(月) 21:03:52そんなの気にするならアセンブラを使いなさい
0119デフォルトの名無しさん
2011/01/31(月) 21:04:01が、自分でILを出力して最適化するのが一番じゃねーの?
0120デフォルトの名無しさん
2011/01/31(月) 21:12:590121デフォルトの名無しさん
2011/01/31(月) 21:14:51気にするなら細かいことよりもまず分岐自体を無くせないか考える
0122デフォルトの名無しさん
2011/01/31(月) 21:17:32JITしたら全部消えるのかもしれんが
0123デフォルトの名無しさん
2011/01/31(月) 21:21:02大昔のインタープリターのBASICじゃないんだから
0124デフォルトの名無しさん
2011/01/31(月) 22:49:260125デフォルトの名無しさん
2011/01/31(月) 22:55:170126デフォルトの名無しさん
2011/01/31(月) 22:58:530127デフォルトの名無しさん
2011/01/31(月) 23:07:010128デフォルトの名無しさん
2011/01/31(月) 23:08:553.0か3Dにしとけ
0129デフォルトの名無しさん
2011/01/31(月) 23:16:19Math.Ceiling(3.0/4.0))
3や4という書き方をするとintと扱われる
3.0や4.0と書くとdoubleと扱われる
3.0fや4.0fと書くとfloatと扱われる
というかマウスを乗せると型を表示するはずだが・・・
0130デフォルトの名無しさん
2011/01/31(月) 23:22:46if (x < 0) x -= 0.5; else x += 0.5;
の代わりに、
x += 0.5 * Math.Sign(x);
みたいな話かね。
C#はboolをintに暗黙的に変換できたりはしなかったはずだから、
x += 0.5 * (x >= 0);
みたいなことは出来ないよね。
いずれにしろ個人的にはこういうの嫌い。VB厨って言うとまた誰か怒るかもしれんが、
昔N88BASICとか触っててVB厨になったような人が好みそう。
0131デフォルトの名無しさん
2011/01/31(月) 23:24:40ありがとん
0132デフォルトの名無しさん
2011/01/31(月) 23:29:04予定した結果になってないときはどこかで型が思った物になってなくて
計算誤差が起きてると思った方がいいよ
0133デフォルトの名無しさん
2011/01/31(月) 23:29:09数値計算とかの話だけど
0134デフォルトの名無しさん
2011/01/31(月) 23:32:24アルゴリズム以前の問題だろw
IDE(というかCSコンパイラ?)が扱う数値の型を理解してないことによる誤差なんだし
0136デフォルトの名無しさん
2011/01/31(月) 23:38:13例えばコントロールのイネーブルにする時、条件式をそのままフラグにぶち込んだりとかね
a.IsEnabled = (a>b && !c);
みたいな
こんな事やっても最終的には同じコードになったりするモンだけどね
0137デフォルトの名無しさん
2011/01/31(月) 23:42:230138デフォルトの名無しさん
2011/01/31(月) 23:45:56まあスレ違いだけど
0139デフォルトの名無しさん
2011/02/01(火) 01:47:420140デフォルトの名無しさん
2011/02/01(火) 02:31:22ピクチャーボックスやフォームの中にフォームを表示するような形を試してみたのですが
背景色設定や、parentの設定をしても半透明になりません
0141デフォルトの名無しさん
2011/02/01(火) 02:35:59選択領域ってのがイメージがよくわからないが
最悪やるとすればPaintイベントとかであれこれやるとかしかないのかもね・・・
0142デフォルトの名無しさん
2011/02/01(火) 02:38:350143デフォルトの名無しさん
2011/02/01(火) 03:40:37全コントロールデフォルトでドットごとのアルファに対応しとけよな
0144デフォルトの名無しさん
2011/02/01(火) 08:37:540145デフォルトの名無しさん
2011/02/01(火) 10:10:47そんなことしようとしたら結局フルスクラッチで描画することになってWPFになっちゃうだろ
WinFormsは2.0で完成してる
0146デフォルトの名無しさん
2011/02/01(火) 12:36:19型付けがちがちでコーディング中にも教えてくれるとか便利すぎるんだもん
0147デフォルトの名無しさん
2011/02/01(火) 13:49:09整数と実数と配列さえあればいい
0148デフォルトの名無しさん
2011/02/01(火) 13:56:17Form2(子、FormBorderStyleをFixedToolWindow)
という2枚のFormがあって
Form1からForm2を開くときに
form2.Show(this); //form1のインスタンスを渡す
という感じにしてます。
Form1をアクティブにした際のForm2の挙動が理想だからです。
(Form2がForm1の後ろに回らない。thisを渡さない場合にForm1を
アクティブにするとはForm2がForm1の後ろに回ってします)
ここまでは良かったのですがForm2はあくまでサブなので
Form2の右上のxマークで閉じた際には非表示になるだけ
でいいのでForm2のFormClosingイベントでキャンセルを
行うようにしたのですがForm1のインスタンスを渡した場合は
Form1のFormClosingイベントもForm2に渡ってくるようで
Form1(およびForm2)を閉じることができません
どちらのFormのFormClosingイベントか判断する方法はありますでしょうか?
0149デフォルトの名無しさん
2011/02/01(火) 14:04:550150デフォルトの名無しさん
2011/02/01(火) 14:19:13ありがとうございます
こんな感じで取れるんですね
            if (e.CloseReason != CloseReason.FormOwnerClosing)
            {
                e.Cancel = true;
                this.Visible = !this.Visible;
            }
0151デフォルトの名無しさん
2011/02/01(火) 17:17:41カスタムコントロールだとそのへんどうやるの?
例えばコード側で定義した文字列プロパティをバインドしたTextBoxに、
フォーカスを取得したら全選択状態にする機能をつけたいとき、XAMLだけでは難しい。
Name属性を使ってコントロールを定義してるコード側で要素をいじくることもできるけど、
テンプレートの差し替えが可能なカスタムコントロールにおいて
バインドする相手をTextBox限定にしてしまうようなことは避けたい。
できれば表示とロジックにおける「表示」にXAMLとコード(そのXAML専用)をまとめて、
テンプレートの差し替えでまとめて替えられるような形にできればと思うんだけど、
ResourceDictionaryにはコードビハインド付けられないし、このへんどうやってるのかな、と。
0152デフォルトの名無しさん
2011/02/01(火) 18:05:11SilverlightのNumericUpDownもそうなってる
TextBoxが嫌ならTextBoxのテンプレート入れ替えりゃいいんだから何も問題ない
0153デフォルトの名無しさん
2011/02/01(火) 18:39:32やっぱそうなのかなあ。
ちょっとTextBoxのControlTemplate見たけど、肝心のコードが絡む部分は
TemplatePart使ってるね。
http://msdn.microsoft.com/ja-jp/library/ms752068.aspx
じゃあとりあえずTextBoxに絡む機能を盛り込みたいとき用にTemplatePart用意して、
コントロールの利用者がテンプレートの定義でTextBox使うなら、バインドではなくNameで指定させる。
その他例えばBorderのコンテンツとして表示するだけ、とかはそのままプロパティをバインドさせる。
コントロールのコード部分に、表示に関するロジックがゴチャゴチャ増えるけど
そこはもう気にすんなということか。
0154デフォルトの名無しさん
2011/02/01(火) 20:22:19datetime1<虫食いだった時間
かつ
虫食いだった時間<datetime2
を満たすような虫食いを埋める数字があるかどうかを判定したいんですがどうやったらいいですか
虫食いの数と場所と二つのDateTimeの間隔は不定です
0155デフォルトの名無しさん
2011/02/01(火) 20:33:28意味不明
0156デフォルトの名無しさん
2011/02/01(火) 20:33:55年→月→日→…の順にdt1>dt2、dt1=dt2、dt1+1=dt2、dt1+1<dt2ぐらいに場合分けして考えてみれば?
まあ待ってれば誰かがLINQで書いてくれると思うよ
0157デフォルトの名無しさん
2011/02/01(火) 20:34:54いま、このスタティックメソッドを別クラスから使おうとしてるけどうまくいかない なぜだか心当たりある人いますか?
ちなみにデバッグしてみると、スタティックメソッドを実行してる行で「dll関数のdllが見つかりませんでした」って内容の例外が発生してる
0158デフォルトの名無しさん
2011/02/01(火) 20:40:040159デフォルトの名無しさん
2011/02/01(火) 20:50:31C++です(externがある)
0160デフォルトの名無しさん
2011/02/01(火) 20:52:52正しく関数がエクスポートされてることはdumpbinで確認した?
0161デフォルトの名無しさん
2011/02/01(火) 21:15:52Stopwatch.Stop();
とやるだけで15ticksは進んでるんですが、
どういう事なんでしょうか、
この行間で15clockの処理が行われているという事ですか?
それともメソッドそのものが15clockで実行されてるのでしょうか
0162デフォルトの名無しさん
2011/02/01(火) 21:18:37タイマ自体がその程度の解像度しかないんでしょ
0163デフォルトの名無しさん
2011/02/01(火) 21:37:10DLLファイルが見つからないのかDLL内に指定された関数が見つからないのかどっちよ>例外
0164デフォルトの名無しさん
2011/02/01(火) 21:41:41前者じゃないの?
Frequencyの値はCPUのクロック(の半分?)だと思えば、まあそんなもんでしょ。
0165デフォルトの名無しさん
2011/02/01(火) 22:49:350166デフォルトの名無しさん
2011/02/01(火) 22:57:29geckoWebBrowser1.Document.DocumentElement
を取得しようとすると、必ず、InvalidCastException が出るんだが、
解決策しってる人いたら助けて欲しい。
ちなみに VS2010&Win7(32bit)&WinForms&.Net Framwork 4
で開発してます。
0167デフォルトの名無しさん
2011/02/02(水) 00:03:590168デフォルトの名無しさん
2011/02/02(水) 00:10:270169デフォルトの名無しさん
2011/02/02(水) 00:18:560170デフォルトの名無しさん
2011/02/02(水) 00:32:280171デフォルトの名無しさん
2011/02/02(水) 00:46:390172デフォルトの名無しさん
2011/02/02(水) 00:48:590173デフォルトの名無しさん
2011/02/02(水) 00:49:020174デフォルトの名無しさん
2011/02/02(水) 00:56:21あれはWinFormsのデザイナみたいにコード生成するやつで使うためにある。
0175デフォルトの名無しさん
2011/02/02(水) 00:59:560176デフォルトの名無しさん
2011/02/02(水) 01:00:00ありがとうございます
>>174
いえ、どー考えてもこのクラスこれっきゃねーよ
みたいな場合に無理やり意味付けしてクラスを作るのってなんか違う気がするんですよ
そんなときにC/C++だとヘッダ1つにしてソース複数にして書いていたもので・・・
0177デフォルトの名無しさん
2011/02/02(水) 01:12:010178デフォルトの名無しさん
2011/02/02(水) 01:15:340179デフォルトの名無しさん
2011/02/02(水) 01:20:46C#は気軽にクラス増やせるから自然にクラスが小さくなると思う
0180デフォルトの名無しさん
2011/02/02(水) 01:27:53*ちゃんと設計すれば*常に小さなクラスに機能分割できるはずだ、とは俺は思わない。
0181デフォルトの名無しさん
2011/02/02(水) 01:35:510182デフォルトの名無しさん
2011/02/02(水) 01:41:35プレイヤ、敵A、B、C、壁、地面、扉、弾、敵弾、爆発A、B、C的なものが
仕様によって相互に影響しあうんですけど
これってやっぱりステージはステージ以外なにものでもないじゃないですか?
(それぞれ意味わかんねーよって人は無視してください、説明するのが面倒ですw)
0183デフォルトの名無しさん
2011/02/02(水) 01:50:440184デフォルトの名無しさん
2011/02/02(水) 02:06:23別にそれが悪いとも思わないし自分で作ってもそんな感じになりそうだけど
0185デフォルトの名無しさん
2011/02/02(水) 02:15:38デリゲートやイテレータブロックを使うようになってからはましになったな
0186デフォルトの名無しさん
2011/02/02(水) 02:16:140187デフォルトの名無しさん
2011/02/02(水) 02:29:060188デフォルトの名無しさん
2011/02/02(水) 02:33:340189デフォルトの名無しさん
2011/02/02(水) 02:44:240190デフォルトの名無しさん
2011/02/02(水) 02:44:26それぞれのステージオブジェクトごとにクラスにしていけば普通に分割できそうな気もしつつ、
多重ディスパッチする場合は、確かに1クラス大きくなることはあるなぁ。
ビジターパターンみたいなのもあるけど、あれが書きやすいとも思えず。
0191デフォルトの名無しさん
2011/02/02(水) 10:52:12"aaetw"になるようアルファベット順でソートしたいんですが、どうすればいいですか?
0192デフォルトの名無しさん
2011/02/02(水) 10:56:160193デフォルトの名無しさん
2011/02/02(水) 13:55:17str.Replace('a','1')
だと文字列中のaが全て1になってしまいます。
0194デフォルトの名無しさん
2011/02/02(水) 14:01:16条件が決まってるなら簡単じゃね?
最初にでてきた'a'をリプレースとかさ
そういう条件は無いの?
0195デフォルトの名無しさん
2011/02/02(水) 14:18:20str[x]='1';
だと読み取り専用だからアカンって言われます。
0196デフォルトの名無しさん
2011/02/02(水) 14:25:14って調べてみたらVB.NETでも使えるのかw
Substring駆使するかToCharArrayでcharの配列にしてうんたらかんたらだな
0197デフォルトの名無しさん
2011/02/02(水) 14:31:14IndexOf()で探してSubstring()で置き換えれば
0198デフォルトの名無しさん
2011/02/02(水) 14:48:310199195
2011/02/02(水) 14:51:350200デフォルトの名無しさん
2011/02/02(水) 16:58:57現在5秒に1つの画像データ(1つ1MByte)を作成し、それを24時間365日動作させようとしています。
この時、保存される場所はネットワークディスク(LANDISK)上に作成されます。
通常ネットワーク的に問題なければ保存処理は成功すると思いますが、
何らかの原因でネットワークが切断された時に一旦ローカルへ保存するようにしたいと考えています。
上記前提条件の上で保存処理をFileStreamのBeginWriteを使用し非同期的に処理したいと考えています。
保存順序が処理順序にならなくても構わないのですが、存在しなくなったネットワークに書き込みを行うと
呼び出し元スレッドが固まるのでそのようにしたいと考えています。
例えば30秒固まったとしてその間にもどんどんファイルを保存しようとBeginWriteが呼び出されるようになると思うのですが、実際はこういう運用は問題ありそうでしょうか?
もし、なにかスマートな方法があればいいのですが・・・
(例えばキューに入れてそっちで処理させるとか)
スレッドプールを使用しようとも考えたのですが、ほかの場所でちょこちょことBerginInvokeで表示等を行っている為スレッドプールでスレッドを止める処理が多発した時にUIが固まりそうでちょっとやめてみました。
色々検証して試してみるのがいいんですが、ひとまず動かし始めるまでに時間があまりないので運用だけ開始してあとで変更する方向です。
ぶっちゃけた話、少々バグってても個人的な用途なので問題はないのですが・・・
安定稼働を目指したいのです。
ファイルのサイズ・削除処理等は今の段階では放置しておいてください。
0201デフォルトの名無しさん
2011/02/02(水) 17:04:39コピーは別プロセスで。
0202デフォルトの名無しさん
2011/02/02(水) 17:08:52NASへの保存が成功した時点でローカルを消す
0203デフォルトの名無しさん
2011/02/02(水) 17:11:52なんでも聞いてくれ。
0204デフォルトの名無しさん
2011/02/02(水) 17:16:000205デフォルトの名無しさん
2011/02/02(水) 17:22:23なんでこのスレに来たんですか?
0206デフォルトの名無しさん
2011/02/02(水) 17:28:16>>201-202
一旦それも考えましたが出来るだけローカルPCのHDDやSSDの寿命を削りたくないので
可能な限りローカル保存は避けておきたいのです・・・
もし、他の方法でダメならこの方法が確実に残せるかな・・・と
>>204
折角4.0使うのだからそれがよさそうな気がしてきました。
MSDN見た感じも小さな処理を回数こなす場合はこれがよさそうなことも書いてありましたし
アドバイスありがとうございました。
0207デフォルトの名無しさん
2011/02/02(水) 18:28:12初心者だからだヨ
有名なライブラリやそれでサポートされる関数なんてひとつも知らないヨ←そうゆうものだとは知っている
0208デフォルトの名無しさん
2011/02/02(水) 18:44:30それを簡単にできる方法を聞いているんですが。
要するに1行で
Sort(s.begin(),s.end())みたいに書きたいのです
0209デフォルトの名無しさん
2011/02/02(水) 18:53:11短くしたいと思う最新の候補コードを晒してみるとか
0210デフォルトの名無しさん
2011/02/02(水) 18:59:58http://ideone.com/WjM2Q
0211デフォルトの名無しさん
2011/02/02(水) 19:52:44こういうコードの時はどう表せるの?
public Unko GetUnko(string key)
{
switch (key){
case Normal: return new NormalUnko();
case Liquid: return new LiquidUnko();
case Lumpy: return new LumpyUnko();
...
}
}
ただたんにオブジェクトを返すようなのならswitchでもいいのかな
0212デフォルトの名無しさん
2011/02/02(水) 20:04:15factories[key].CreateUnko() かな。ファクトリはFunc<Unko>でも構わない。
それかDI使う。実質同じようなもんだけど。
0213デフォルトの名無しさん
2011/02/02(水) 20:05:385秒ごとにたった1MBのファイルを作るのになんで非同期でやる必要があるのかよく分からない。
それに、FileStreamって一旦オープンしたら、実体のディスクが切断されても
例外も吐かなければ固まるなんてこともなかった気がしたけど....
0214デフォルトの名無しさん
2011/02/02(水) 21:00:33public Unko GetUnko<T>() where T:Unko,new(){
return new T();
}
0215デフォルトの名無しさん
2011/02/02(水) 21:03:140216デフォルトの名無しさん
2011/02/02(水) 21:09:520217デフォルトの名無しさん
2011/02/02(水) 21:14:36書き込み用にワーカースレッドを一つ作成。
書き込みファイル情報はキューに貯める。
まあ劣化Producer-Consumerパターンみたいな感じで行ける。
Write処理自体を非同期でやるのは今回に関してはあまり意味ないからやめとけ。
確かスレッドセーフなBlockingQueueみたいのも.NET4じゃできてたと思うから簡単だろ。
ああ、まあもちろんTaskでやってもいいけど。
0218デフォルトの名無しさん
2011/02/02(水) 21:25:15(Unko)GetMethod("GetUnko").MakeGenericMethod(types[key]).Invoke(this);って動的に型指定して使わないといかんね
そんなことするんだったらActivatorに渡すだろ
まさにUnko
0219デフォルトの名無しさん
2011/02/02(水) 21:34:45インターフェースを守る努力とか無意味だし
0220デフォルトの名無しさん
2011/02/02(水) 21:39:22Unkoを利用する側がUnkoの具体的な実装クラスを知らなくて済むようにするためのパターン
さらに、GetUnkoを提供するクラスも具体的な実装クラスを知らなくて済むようにしたいならDIになる
0221デフォルトの名無しさん
2011/02/02(水) 21:48:55こういう目的には合ってないと思うけどなぁ
もしこの例でうまく説明できるなら、頑張って教えてあげなよ
0222デフォルトの名無しさん
2011/02/02(水) 21:53:51abstract factoryでFA
0223デフォルトの名無しさん
2011/02/02(水) 21:59:19ポインタ操作する際に、unsafeでビルドする必要があるみたいなのですが、unsafeでビルドした際にデメリットのような物はあるのでしょうか?
BitmapData.Scan0で得たポインタに対して操作したいので、unsafeは現状避けられなさそうですが。
それと、MouseEventArgs型のボタン取得で「左ボタンだけ押されている」は簡単に処理できるのですが、「左ボタンは押されているが、他のボタンも押されている」
はどう取得すればいいのでしょうか
if ((e.Button & MouseButtons.Left) == true)
では型エラーになってしまいます。
0224デフォルトの名無しさん
2011/02/02(水) 22:01:05if ((e.Button & MouseButtons.Left) == MouseButtons.Left)
0225デフォルトの名無しさん
2011/02/02(水) 22:02:03ググれば出てくるはず
0226デフォルトの名無しさん
2011/02/02(水) 22:02:28MouseButtons.Leftの具体的な値はしらんが
0227デフォルトの名無しさん
2011/02/02(水) 22:03:22ASP.NETとかClickOnceとかSilverlightとか(設定による)
0228デフォルトの名無しさん
2011/02/02(水) 22:07:500229デフォルトの名無しさん
2011/02/02(水) 22:11:320230デフォルトの名無しさん
2011/02/02(水) 22:14:01HogeとかHageとか他のにしろやw
0231デフォルトの名無しさん
2011/02/02(水) 22:17:240232223
2011/02/02(水) 22:17:32マウスの方は問題ありませんでした。
unsafeのほうはMarshal.Copy()でbyte[]へコピー、いじった後に再度Marshal.Copy()でいけそうです。
通常のWindowsアプリなのでunsafeでポインタ操作と比較して考えてみます。
0233デフォルトの名無しさん
2011/02/02(水) 22:26:17ファクトリーメソッドとファクトリーパターンの違いが分かってない奴多そうだな
0234デフォルトの名無しさん
2011/02/02(水) 22:31:570235デフォルトの名無しさん
2011/02/02(水) 22:32:02>>211のswitchをポリモーフィズムで置き換えるとしたらAbstract Factoryってことだろ
0236デフォルトの名無しさん
2011/02/02(水) 22:32:390237デフォルトの名無しさん
2011/02/02(水) 22:37:390238デフォルトの名無しさん
2011/02/02(水) 22:42:100239デフォルトの名無しさん
2011/02/02(水) 22:45:21速攻で間違えんなw
0240デフォルトの名無しさん
2011/02/02(水) 23:01:03XmlReader.Createはfactory methodとMSDNに書かれてる
0241デフォルトの名無しさん
2011/02/02(水) 23:03:290242デフォルトの名無しさん
2011/02/02(水) 23:39:38[Export(typeof(Unko), "Lumpy")] class LumpyUnko : Unko { }
class Anus {
private CompositionContainer container;
public Unko GetUnko(string key) { return container.GetExport<Unko>(key); }
}
こうだな
0243デフォルトの名無しさん
2011/02/02(水) 23:58:300244デフォルトの名無しさん
2011/02/03(木) 00:13:370245デフォルトの名無しさん
2011/02/03(木) 00:17:19バリエーションも作りやすいしanus.GetUnkoとか超わかりやすく意図を表現できるじゃん
0246デフォルトの名無しさん
2011/02/03(木) 00:28:340247デフォルトの名無しさん
2011/02/03(木) 00:35:230248デフォルトの名無しさん
2011/02/03(木) 00:41:000249デフォルトの名無しさん
2011/02/03(木) 00:48:220250デフォルトの名無しさん
2011/02/03(木) 04:49:240251デフォルトの名無しさん
2011/02/03(木) 05:04:430252デフォルトの名無しさん
2011/02/03(木) 10:45:54>>242みたいなことやりだすとfactoryだらけのマジキチコードになるが
Javaワールドではやたらと有難がられるスタイルだ
0253デフォルトの名無しさん
2011/02/03(木) 15:05:160254デフォルトの名無しさん
2011/02/03(木) 15:48:01foreachで回すのって速度に差が出ますか?
0255デフォルトの名無しさん
2011/02/03(木) 15:53:23特に配列や文字列に対するforeachは最適化されるのでforeachの方が圧倒的に速い
0256デフォルトの名無しさん
2011/02/03(木) 15:57:28助かりました
0257デフォルトの名無しさん
2011/02/03(木) 16:34:41Add()しまくるしかないんですか?
0258デフォルトの名無しさん
2011/02/03(木) 16:36:23初期化ってよくわからんがClear()でだめなの・・ってこれはListに何も無い状態になるけど
あとLongなんとかってint以上なかったけ?
0259anonymous
2011/02/03(木) 16:38:170260デフォルトの名無しさん
2011/02/03(木) 16:41:00インスタンスを作りたいんですが、
オーバーロードにはint型までしか用意されてないので、
longや、もっと大きい配列にしたい場合どうすべきなのかと
0261デフォルトの名無しさん
2011/02/03(木) 16:41:430262デフォルトの名無しさん
2011/02/03(木) 16:42:13あふれてきちゃわない?
メモリが
0263デフォルトの名無しさん
2011/02/03(木) 16:45:030264デフォルトの名無しさん
2011/02/03(木) 16:46:280265デフォルトの名無しさん
2011/02/03(木) 16:54:20今時のPCなら入るな。8Gの連続領域が確保出来るのかは分からない。
そういうのはメモリマップドファイル使うのが一番いいと思うが…
0266デフォルトの名無しさん
2011/02/03(木) 17:30:49実際にはuintを越える長さの配列はCLRにサポートされてなかったはず
実行時エラーで死亡
0267デフォルトの名無しさん
2011/02/03(木) 18:01:420268デフォルトの名無しさん
2011/02/03(木) 18:29:38こんな感じでwwwww
0269デフォルトの名無しさん
2011/02/03(木) 18:32:09そんなことしなくてもいいだろw
List<int>[]
か
List<List<int>>
これだけで理論的には相当取れるだろ
0270デフォルトの名無しさん
2011/02/03(木) 19:15:45Dictionary<long, int> だとlong分確保できるの?
0271デフォルトの名無しさん
2011/02/03(木) 19:19:58実験してみて
0272デフォルトの名無しさん
2011/02/03(木) 19:36:040273デフォルトの名無しさん
2011/02/03(木) 19:37:34DB側でオンメモリにするかどうかを調整してもらってw
0274デフォルトの名無しさん
2011/02/03(木) 20:11:08データを取得してSqlDataReaderのReadメソッドでDataTableにデータを取り出すメソッド作ってるんだけどさ
Unkoの存在有無を確認するにはどういうコードを書けばいい?
アットマークit調べても「データベースに指定したテーブルがないか調べる」ってコード例はあったけど
データベースが存在するか調べるコードはありませんでした
現状は↓のようなコードです
private DataTable GetUnkoTable()
{
DataTabel unkoTabel = new DataTable();
string connStr = "Data Source = .\;Initial Catalog = Unko;(ユーザー名パスワードは略)";
using(SqlConnection cSqlConnection = new SqlConnection(connStr)
using(SqlCmd cm = new SqlCmd("select * from T_UnkoMaster",cSqlConnection))
{
// データベース接続を開く
cSqlConnection.Open();
(処理)
}
return unkoTable;
}
0275デフォルトの名無しさん
2011/02/03(木) 20:28:53何で定義してあろうが大きさ同じじゃないの?
強いて言えば要素数×IntPtr幅+α(その他データ)
0276デフォルトの名無しさん
2011/02/03(木) 20:30:21値型なら sizeof(型)×要素数 (バイト)
0277デフォルトの名無しさん
2011/02/03(木) 20:32:490278デフォルトの名無しさん
2011/02/03(木) 20:33:24SELECT * FROM sys.databases
0279デフォルトの名無しさん
2011/02/03(木) 20:51:080280デフォルトの名無しさん
2011/02/03(木) 20:59:100281デフォルトの名無しさん
2011/02/03(木) 21:03:48'A'
0282デフォルトの名無しさん
2011/02/03(木) 21:34:52�dです こんな感じで行けそうですね
private int UnkoCheckInt()
{int num = 0;
string connStr = "Data Source = .\;Initial Catalog = Master;(ユーザー名パスワードは略)";
using(SqlConnection cSqlConnection = new SqlConnection(connStr)
using(SqlCmd cm = new SqlCmd("select count(name) from sys.databases where EXISTS (select name from sys.databases where name = 'Unko')",cSqlConnection))
{cSqlConnection.Open();
num = (int)cm.ExecuteScalar();
}
return num;;
}
private DataTable GetUnkoTable()
{DataTabel unkoTabel = new DataTable();
string connStr = "Data Source = .\;Initial Catalog = Unko;(ユーザー名パスワードは略)";
if(UnkoCheckInt() != 0)
{using(SqlConnection cSqlConnection = new SqlConnection(connStr)
using(SqlCmd cm = new SqlCmd("select * from T_UnkoMaster",cSqlConnection))
{cSqlConnection.Open();
(処理)
}
return unkoTable;
}
else
{return (項目名だけのデータテーブルとか)
}
}
0283デフォルトの名無しさん
2011/02/03(木) 21:40:24Javaだったら値型は強制的にオートボクシングされてしまうけど
C#のジェネリクスは値型(ユーザ定義の構造体を含む)をそのまま扱える。
0284デフォルトの名無しさん
2011/02/03(木) 21:43:470285デフォルトの名無しさん
2011/02/03(木) 21:49:37select count(*) from sys.databases where name = 'Unko'
これで十分っすね
0286デフォルトの名無しさん
2011/02/03(木) 21:49:54uintの配列の要素[i]が空かどうか調べるのは、if([i]==null)じゃないんですか?
0287デフォルトの名無しさん
2011/02/03(木) 21:57:06配列を作成した段階で全部0が"入っている"状態になる
0288デフォルトの名無しさん
2011/02/03(木) 21:57:10だからNullableなんてものの出番があったりする
0289デフォルトの名無しさん
2011/02/03(木) 22:03:02ありがとうございました。デフォルトは0なんですね。
0290デフォルトの名無しさん
2011/02/04(金) 16:21:21Array.Reverseだと元の配列がひっくり返ってしまうようで
0291デフォルトの名無しさん
2011/02/04(金) 16:23:510292デフォルトの名無しさん
2011/02/04(金) 16:30:080293デフォルトの名無しさん
2011/02/04(金) 16:43:14oh
ありがとん
0294デフォルトの名無しさん
2011/02/05(土) 00:01:300295デフォルトの名無しさん
2011/02/05(土) 00:04:380 == 0
ってどっちが速いんですかぬ
0296デフォルトの名無しさん
2011/02/05(土) 00:06:22>>294
何が?
0297デフォルトの名無しさん
2011/02/05(土) 00:07:550298デフォルトの名無しさん
2011/02/05(土) 00:11:550299デフォルトの名無しさん
2011/02/05(土) 00:16:48ILレベルの最適化ならともかく
0300デフォルトの名無しさん
2011/02/05(土) 00:22:04if ((0u & 0x80000000) == 0) A(); else if (0 == 0) { B(); }と書いたら
コンパイル結果は単にA();だ
0301デフォルトの名無しさん
2011/02/05(土) 00:48:020303デフォルトの名無しさん
2011/02/05(土) 01:45:09うっかりさんめ
0304デフォルトの名無しさん
2011/02/05(土) 03:09:460305デフォルトの名無しさん
2011/02/05(土) 04:11:08LINQの拡張メソッドのEnumerable.Reverse<T>()
>>294は前者と勘違いして、破壊的な並び変えしてからToListでコピー作ってると思ったのだろう。
0306デフォルトの名無しさん
2011/02/05(土) 09:27:130307デフォルトの名無しさん
2011/02/05(土) 09:33:520308デフォルトの名無しさん
2011/02/05(土) 11:36:52複数のファイルを削除すると「ファイルの場所」の右のセレクトメニューにフォーカスが移ります。
移したくないので自分でファイルダイアログを作って移さないように制御するのはC#で可能ですか?
Cとかアセンブラとかじゃないと出来ないレベルですか?
0309デフォルトの名無しさん
2011/02/05(土) 11:40:560310デフォルトの名無しさん
2011/02/05(土) 12:47:310311デフォルトの名無しさん
2011/02/05(土) 12:48:220312デフォルトの名無しさん
2011/02/05(土) 12:51:51ちなみに俺は質問の意味がわからん
0313デフォルトの名無しさん
2011/02/05(土) 12:55:48勝手に自分で作ったものに差し替えたいってことか?
DLLのロードをフックして自作のDLLに置き換えてAPI呼び出しを差し替えてやればいいんだったか
C#では無理だけどC/C++でも非常に難しくて大変
0314デフォルトの名無しさん
2011/02/05(土) 12:57:27俺も知りたい
サクラエディタとnotepad開いてみたけど、どうやったらファイルを複数選択できるんだ?
0315デフォルトの名無しさん
2011/02/05(土) 13:13:47・複数の→1ファイルでも発生
・セレクトメニュー→ドロップダウンリスト
が正しいのか?
フックでコンテキストメニューの削除を拾って、直後のフォーカス移動を抑制するのはできなくはない気もするけど
C#では低レベルフックしか使えないから諦めた方がいい
0316デフォルトの名無しさん
2011/02/05(土) 13:22:430317デフォルトの名無しさん
2011/02/05(土) 14:05:49FindWindow使ってタイマーでポーリングすればダイアログのウィンドウハンドルは
捕まえられるから、後は下記の記事とか参考にしてダイアログの左側のペイン(あれ何って言ったっけ)
のボタンを無効とかにしてしまえばいいのでは?
http://msdn.microsoft.com/en-us/library/ms996463.aspx
0318デフォルトの名無しさん
2011/02/05(土) 14:30:490319デフォルトの名無しさん
2011/02/05(土) 14:36:27バイナリハックするのでなければ。
0320デフォルトの名無しさん
2011/02/05(土) 14:38:130321デフォルトの名無しさん
2011/02/05(土) 14:39:46面倒だけど
0322デフォルトの名無しさん
2011/02/05(土) 14:44:390323308
2011/02/05(土) 16:09:10秀丸エディタでは設定で複数ファイル選択できます
複数のファイルを削除するとセレクトメニューにフォーカスがうつるのでカレントディレクトリがへんなところ開くのでいやなんです
なので秀丸のファイルを開く使わないでマクロで自作したファイルダイアログを呼び出して利用したいと思ってます
やっぱりC#では難しそうですね
0324デフォルトの名無しさん
2011/02/05(土) 16:16:02マクロとの情報のやりとりは標準入出力を使う
マクロじゃなくてプラグインとして作って、C++/CLIでC#を呼ぶ手もあるけどそこまでするほどのことでは
0325デフォルトの名無しさん
2011/02/05(土) 16:16:370326デフォルトの名無しさん
2011/02/05(土) 16:18:200327デフォルトの名無しさん
2011/02/05(土) 16:30:59C#でファイルダイアログを細かく実装できるかの聞きたかったので秀丸とは関係ありません
0328デフォルトの名無しさん
2011/02/05(土) 16:32:56以下の議論は>>323ですべて無意味になった
0329デフォルトの名無しさん
2011/02/05(土) 16:39:05悪いこたあいわねえから止めとけ
0330デフォルトの名無しさん
2011/02/05(土) 16:40:08外部のプロセスとして起動して標準出力を受け取ればいいだけ
ごく一般的な普通のマクロだ
0331デフォルトの名無しさん
2011/02/05(土) 16:43:30秀丸マクロから外部プログラムの起動は出来るので問題ないですよ
0332デフォルトの名無しさん
2011/02/05(土) 16:44:40安心してください無意味にはなってないです
秀丸を使ってるだけですので今回の質問は秀丸と関係ない範囲になります
0333デフォルトの名無しさん
2011/02/05(土) 16:50:31>>313-322はダイアログの作り方についての話じゃないよ
君の質問とは全く関係ない
0334デフォルトの名無しさん
2011/02/05(土) 17:00:14出来るという答えであると
http://msdn.microsoft.com/ja-jp/library/system.windows.forms.openfiledialog(v=vs.80).aspx
のどのメソットやプロパティが関係しますか?
0335デフォルトの名無しさん
2011/02/05(土) 17:05:39全部自作
C#で変にフックとかに手を出して悩むよりその方が早いわ
0336デフォルトの名無しさん
2011/02/05(土) 17:14:43ダイアログというのは私は勘違いしてますでしょうか?
こういうのです↓
http://dobon.net/vb/dotnet/form/openfiledialog.html
ダイアログ自体は上記のサイトの通りにして作れるのですが
削除後にセレクトメニューにフォーカスが移るので
このファイルを開く操作を外部プログラム化して秀丸からマクロで呼び出して作りたいと思います
ここでは私が秀丸を使っているだけなのでサクラエディタやTerapadなど外部プログラムを起動できるようにC#でdialog.exeを作ってダイアログを表示するプログラムを作成したいと考えて質問させていただきました
0337デフォルトの名無しさん
2011/02/05(土) 17:17:54メソッドだMethod。
メソットじゃねー!
0338デフォルトの名無しさん
2011/02/05(土) 17:21:39何処で何を削除した後なのかイメージできないんですよ
そこから説明できますか?
0339デフォルトの名無しさん
2011/02/05(土) 17:50:01ダイアログでファイルを選択してテキストエディタで開く処理はまでは実装できました
0340デフォルトの名無しさん
2011/02/05(土) 18:04:59戻り値を返してくれるフォームを作るにはどういうコード書いたら良いんでしょうか
0341デフォルトの名無しさん
2011/02/05(土) 18:28:09Form.DialogResult プロパティ
0342デフォルトの名無しさん
2011/02/05(土) 18:38:44ありがとん
0343デフォルトの名無しさん
2011/02/05(土) 18:44:320344308
2011/02/05(土) 18:48:160345デフォルトの名無しさん
2011/02/05(土) 18:52:300346デフォルトの名無しさん
2011/02/05(土) 20:05:190347デフォルトの名無しさん
2011/02/05(土) 20:16:0701A,tokyo,1.1
02B,osaka,2.2
03C,fukuoka,3.3
のようなcsvファイルがあって、それを構造体に読み込んで表示させるためには
どうしたらよいのでしょうか?
0348デフォルトの名無しさん
2011/02/05(土) 20:17:39めんどくさいならFile.ReadAllLinesで読んだれよ
0349デフォルトの名無しさん
2011/02/05(土) 20:20:05>>348か
Microsoft.VisualBasic.dllの
Microsoft.VisualBasic.FileIO.TextFieldParser
0350デフォルトの名無しさん
2011/02/05(土) 20:20:320351デフォルトの名無しさん
2011/02/05(土) 20:27:440352デフォルトの名無しさん
2011/02/05(土) 20:40:01fgetcとか使う感じですか?
0353デフォルトの名無しさん
2011/02/05(土) 20:40:470354デフォルトの名無しさん
2011/02/05(土) 20:41:490355デフォルトの名無しさん
2011/02/05(土) 20:44:320356デフォルトの名無しさん
2011/02/05(土) 20:45:31良かったら1行目を読み込むプログラムお願いできませんか??
0357デフォルトの名無しさん
2011/02/05(土) 20:48:340358デフォルトの名無しさん
2011/02/05(土) 20:49:44知るかボケって言いたくなるな
0359デフォルトの名無しさん
2011/02/05(土) 20:51:31(\d+)([A-Z]),(\w+),(\d+(.\d)?)
かな
0360デフォルトの名無しさん
2011/02/05(土) 20:56:14<
>31>7
0361デフォルトの名無しさん
2011/02/05(土) 20:57:01>>346
>>317
見落としてました
参考にしてトライしたいと思います
0362デフォルトの名無しさん
2011/02/05(土) 20:58:090363デフォルトの名無しさん
2011/02/05(土) 21:18:14<a href="../test/read.cgi/news/1296903204/1" target="_blank">>>1</a>
<br> これゾン偽装●焼きsaku <>
これを名前、メールアドレス、日付、ID、BeID、本文に分けたいんですが、
どういうパーサー書けばいいのか見当が付きません、
ヒントを教えていただけませんか?
原文は改行されていません
0364デフォルトの名無しさん
2011/02/05(土) 22:48:15・クラスは参照型
・構造体は値型
・Nullable<T>は構造体(値型)
・メソッドの引数には、参照型を渡した方がオーバヘッドが少ない
・メソッドの戻値では、参照型を返した方がオーバヘッドが少ない
・インスタンスの生成は、値型の方が参照型よりも高速
0365デフォルトの名無しさん
2011/02/05(土) 22:53:042chのdatをいじるならDTタグとDLタグだったかあたりを一旦分けた方がいいかもね
そうすればそれほど難しくはないと思う
0366デフォルトの名無しさん
2011/02/05(土) 23:06:49おおむねそんな感じだけど、
メンバーが少なくて必要なメモリ領域が小さい場合、
構造体の方のコピーコストも大したことない。
あと、コピーのコスト以外に間接参照のコストもあって、
それは、値型なら0、参照側にだけかかるコスト。
0367デフォルトの名無しさん
2011/02/05(土) 23:12:260368デフォルトの名無しさん
2011/02/05(土) 23:13:390369デフォルトの名無しさん
2011/02/05(土) 23:18:010370デフォルトの名無しさん
2011/02/05(土) 23:19:160371デフォルトの名無しさん
2011/02/05(土) 23:21:41ケースによるでしょ
2chのDatって中途半端にタグ残してるしなあ・・・
板とかで少し差があるようだし
0372デフォルトの名無しさん
2011/02/05(土) 23:42:26csvとかtsvデータにSplit使わんのか?
0373デフォルトの名無しさん
2011/02/05(土) 23:51:030374デフォルトの名無しさん
2011/02/05(土) 23:52:300375デフォルトの名無しさん
2011/02/05(土) 23:55:540376デフォルトの名無しさん
2011/02/05(土) 23:56:07DelphiでもJavaでもC#でも、どっかからライブラリ持ってきてた。
0377デフォルトの名無しさん
2011/02/05(土) 23:58:490378デフォルトの名無しさん
2011/02/06(日) 00:03:350379デフォルトの名無しさん
2011/02/06(日) 00:06:570381デフォルトの名無しさん
2011/02/06(日) 00:40:28って怒られたんだけどなんでインスタンス扱いになるの?
0382デフォルトの名無しさん
2011/02/06(日) 00:55:41たぶんこのへん
http://msdn.microsoft.com/ja-jp/library/79b3xss3(v=vs.80).aspx
0383デフォルトの名無しさん
2011/02/06(日) 00:59:12何でそのままコピペしないのか。
2chだからって無理して馬鹿みたいな言い回ししなくてもいいし、
言い回しだけじゃなくて意味そのものを変えてどうするの。
0384デフォルトの名無しさん
2011/02/06(日) 01:09:24すまん、うっかりインスタンスメンバ含めてて勘違いしたわ。
継承できないのにprotectedなんて付けても意味ねーよってことで理解した。
0385デフォルトの名無しさん
2011/02/06(日) 11:02:01検索かけて出てきたものを使うとどれもエラーが出ます
0386デフォルトの名無しさん
2011/02/06(日) 11:06:57エラーが出た奴を貼った方が速いよ
0387デフォルトの名無しさん
2011/02/06(日) 11:07:380388デフォルトの名無しさん
2011/02/06(日) 11:29:24勝手に翻訳せずにコピペでな
0389デフォルトの名無しさん
2011/02/06(日) 11:31:080390デフォルトの名無しさん
2011/02/06(日) 11:52:230391デフォルトの名無しさん
2011/02/06(日) 12:01:370392デフォルトの名無しさん
2011/02/06(日) 12:06:49識別子足りなくね?
0393デフォルトの名無しさん
2011/02/06(日) 12:32:300394デフォルトの名無しさん
2011/02/06(日) 13:38:480395デフォルトの名無しさん
2011/02/06(日) 13:45:37なんでやねん
0396デフォルトの名無しさん
2011/02/06(日) 13:50:01C# MIDI
0397デフォルトの名無しさん
2011/02/06(日) 13:53:34P/Invokeでこれ
ttp://dencha.ojaru.jp/programs/pg_midi_01.html
0398デフォルトの名無しさん
2011/02/06(日) 14:02:48見てもどう書いていいのか分からないので出来ればすぐ動くコードをくださいおねがいします
0399デフォルトの名無しさん
2011/02/06(日) 14:03:290400デフォルトの名無しさん
2011/02/06(日) 14:04:45ソース見てないけど多分これじゃねーか
ttp://d.hatena.ne.jp/aont/20080413/1208060099
0401デフォルトの名無しさん
2011/02/06(日) 14:50:48enum st
{
Not = 0,
FIn = 1,
Sel = 2,
FOut = 3
}
mSt = st.Not;
エラー CS0266: 型 'Test.st' を 'int' に暗黙的に変換できません。
0402デフォルトの名無しさん
2011/02/06(日) 14:52:47すいませんこれも見つけたんですがVC#2010エクスプレスを使ってるのでprogram.csのどこに張れば良いのかわからず・・・(−−;)
0403デフォルトの名無しさん
2011/02/06(日) 14:55:54おいおい、メッセージ通りじゃないか。
mSt を st 型にするか、代入のところに明示的キャスト付けるか。
それはC#ではエラーになって当然なんだが。
やっぱC言語のコードをコピったとかじゃないよな?
0404デフォルトの名無しさん
2011/02/06(日) 15:10:57えー継承元の中でmStが定義されてていじれないよー
そういう場合は
const int Not = 0;
const int FIn = 1;
const int Sel = 2;
const int FOut = 3;
ってやらないと駄目すか?
0405デフォルトの名無しさん
2011/02/06(日) 15:14:310406デフォルトの名無しさん
2011/02/06(日) 15:18:03列挙型は別の型に暗黙キャストできません
これはenum : intって入れても同じ
0407デフォルトの名無しさん
2011/02/06(日) 15:27:49or
st mSt = st.Not
かな
0408デフォルトの名無しさん
2011/02/06(日) 15:28:220409デフォルトの名無しさん
2011/02/06(日) 15:29:330410デフォルトの名無しさん
2011/02/06(日) 15:31:24言語側で勝手に用途を固定してるとかウザイことこの上ないな
0411デフォルトの名無しさん
2011/02/06(日) 15:35:38んでも使い勝手悪いよねえ
0412デフォルトの名無しさん
2011/02/06(日) 15:37:16flags使えflags
0413デフォルトの名無しさん
2011/02/06(日) 15:41:00最終的にconst intかreadonly intにすべきだなこれはと思って止めた。
0414デフォルトの名無しさん
2011/02/06(日) 15:43:11C#のenumは実質ただの定数でタイプセーフではないが一応最低限の制限がある
Javaのenumとか酷いよ
0415デフォルトの名無しさん
2011/02/06(日) 15:44:25スレチだけど、Javaだとどんな感じなの?
0416デフォルトの名無しさん
2011/02/06(日) 15:45:09比較しないわけにいかない
しかたないから拡張メソッドでIsSucceeded(IsSuccessの方がよかったかも)とか書いたけど
0417デフォルトの名無しさん
2011/02/06(日) 15:51:32Javaの列挙型は「宣言で命名したstaticインスタンス以外を作成できない」クラス
0418デフォルトの名無しさん
2011/02/06(日) 15:52:59Javaのenumは全てクラスになる
enum Hoge { A, B } から
class Hoge {
private Hoge() { }
public static readonly Hoge A = new Hoge();
public static readonly Hoge B = new Hoge();
}
みたいな感じのコードが生成される
これが導入されたのは比較的最近のことでほとんど使われていない。それまでは列挙体が無かったので
列挙引数は全てint、列挙値はクラスに定数として宣言するのが普通だった
0419デフォルトの名無しさん
2011/02/06(日) 15:58:33あとEffective Javaに「C#のより強力です」と書いてある。
flagsの扱いはまた別でEnumSetというのがある。
0420デフォルトの名無しさん
2011/02/06(日) 16:12:31C#より優れていると言いたかっただけなんじゃないかと思うようなやり過ぎ仕様
もちろん使いにくい
0421デフォルトの名無しさん
2011/02/06(日) 16:18:330422デフォルトの名無しさん
2011/02/06(日) 16:52:270423デフォルトの名無しさん
2011/02/06(日) 16:55:05------------ここまでスレチ
0424デフォルトの名無しさん
2011/02/06(日) 16:57:30Cの_asmみたいな感じで
0425デフォルトの名無しさん
2011/02/06(日) 17:00:390426デフォルトの名無しさん
2011/02/06(日) 17:54:22Cですら今時asmなんて無駄でしょ
0427デフォルトの名無しさん
2011/02/06(日) 18:01:15突っ込み待ち?
登場したのもう10年近く前になるけど...
っていうか、もうとっくに終わってる技術じゃないのか
0428デフォルトの名無しさん
2011/02/06(日) 18:05:24それが最近復活したんですよ・・・俺はアレ見た時にasm終了だと思ったわ
0429デフォルトの名無しさん
2011/02/06(日) 18:11:46最近だとCore i7でも使われてる
0430デフォルトの名無しさん
2011/02/06(日) 18:56:37もうとっくに時代はマルチコアだかメニーコアだかだと思い込んでた
0431デフォルトの名無しさん
2011/02/06(日) 18:58:07CoreでHTがなくなってまた古いアプリが動くようになったけど、
最近のハイパースレッドはどうなの?
0432デフォルトの名無しさん
2011/02/06(日) 19:06:11シングルCPUで動かすよりパフォーマンスが悪化するケースがある。
完全に動かなくなるようなアプリならデュアルコアでも問題が起きるよ。
近くにあるPCにHT対応のがあるけど、デュアルコア+HTでCPUが4つに見えてる。
0433デフォルトの名無しさん
2011/02/06(日) 19:24:250434デフォルトの名無しさん
2011/02/06(日) 19:47:17C#のenumがタイプセーフでないというのを詳しく説明していただけないでしょうか。
0435デフォルトの名無しさん
2011/02/06(日) 20:11:008個あるよ
0436デフォルトの名無しさん
2011/02/06(日) 20:17:59ハイパースレッディングって、内部的に余りがちな演算器をフル稼働させるための技術であって、
それはメニーコアであっても、コアごとの最適化として有効。
メニーコアの時代が来れば消えるってものではない。
0437デフォルトの名無しさん
2011/02/06(日) 20:22:530438デフォルトの名無しさん
2011/02/06(日) 20:35:100439デフォルトの名無しさん
2011/02/06(日) 20:39:08そのまま「C#でMIDI」でググれ
0440デフォルトの名無しさん
2011/02/06(日) 20:51:220441デフォルトの名無しさん
2011/02/06(日) 20:52:27代替手段は何を使ったらいいんですか
0442デフォルトの名無しさん
2011/02/06(日) 20:54:39そんなこのコアは整数演算しか使ってないから、
浮動小数点の処理分けてもらいましょうとか上手くいくのかね
全くのAll or nothingなんてそうそうないし、オーバヘッド生じる分マイナスじゃないのか
0443デフォルトの名無しさん
2011/02/06(日) 21:08:35整数に限っても、加算器と乗算器は別ハードウェアよ。
0444デフォルトの名無しさん
2011/02/06(日) 21:26:05決まった値しかとらないenumをタイプセーフenumと呼ぶ。
C#では任意の数値をenumの型にキャストできてしまうので、タイプセーフじゃない。
何が問題かというと、想定されてない値が入る可能性があるのが問題なんだけど
enumを使う場合って結局switchで分岐するのがほとんどなので、defaultで例外投げれば済む。
Javaのenumはポリモーフィズムが使えるのでやろうと思えばswitchやifなしで分岐させられるんだが、
Javaの開発者もswitchの有用性はよく理解していて、enumはクラスなのにswitchが使えるようにしてある。
enumを定数として実装することのもう一つの問題点として、enumの値を参照しているバイナリに
値が埋め込まれてしまうので、enumの値が変更されると再コンパイルが必要になるというのがあって、
Javaのenumはその問題をそのまま受け継いでしまっている。その理由の一つはswitchの実装のため。
何がいいたいかというと、高尚な機能があっても結局みんなswitch使うのでどうでもいいってこと。
0445デフォルトの名無しさん
2011/02/06(日) 21:27:50外部が直接スレッド止めるような構成にしない
外部は中止要求を出しておくだけにして、スレッド側が定期的に確認して自分で中止とかする
0446デフォルトの名無しさん
2011/02/06(日) 21:38:04???
0447444
2011/02/06(日) 21:40:01>Javaのenumはその問題をそのまま受け継いでしまっている。
は記憶違いだった
少し複雑な処理をして回避してるみたい
Javaもなんだかんだ言ってswitchを重視してるということが言いたかっただけです
0448デフォルトの名無しさん
2011/02/06(日) 21:44:53タイプセーフでないというよりハイブリッドと言うべきなのかなぁ。
0449デフォルトの名無しさん
2011/02/06(日) 21:45:090450デフォルトの名無しさん
2011/02/06(日) 21:46:04なるほど
そういうフィールド用意するとかで対応してねって事か
0451デフォルトの名無しさん
2011/02/06(日) 21:47:42else if
else if
else if
else
の方がswitchより速いんですよね?
0452デフォルトの名無しさん
2011/02/06(日) 21:49:580453デフォルトの名無しさん
2011/02/06(日) 21:52:460454デフォルトの名無しさん
2011/02/06(日) 21:53:29Javaでいうタイプセーフenumって
想定外の値が入らないことが保障されてることに主眼が置かれてるから
その意味じゃC#のenumはタイプセーフじゃないよ
でも別にそんなに大した問題では…
0455デフォルトの名無しさん
2011/02/06(日) 21:59:02まあ気にすることじゃないのは同意。
想定外の値を入れようと思えば、整数からキャストするか、
Hoge xx = Hoge.X | Hoge.Y;
とかする必要があるわけで、安全性は保たれてると思うけどね。
0456デフォルトの名無しさん
2011/02/06(日) 22:05:06ILを見るかがりじゃ、
整数として連続していればswitch用の専用命令があるから
switchのほうが早いと思う。
連続してなければif elseif と同じ。
0457デフォルトの名無しさん
2011/02/06(日) 22:11:42一般にswitchの方が速くなる余地がある
0458デフォルトの名無しさん
2011/02/06(日) 22:17:56そう、IL的にはswitch命令がある。
で、確か、CLRのJITの挙動的には、
分岐が少なければif-else同様の条件ジャンプ命令に、
多ければルックアップテーブル使ったジャンプにコンパイルされる
って言う話だったと思う。
0459デフォルトの名無しさん
2011/02/06(日) 22:18:27プリミティブ以外はif-elseの糖衣構文、EqualityComparer<T>.Defaultでの比較とかで
0460デフォルトの名無しさん
2011/02/06(日) 22:27:16まあ、それは、実際、C#の「初期設計でこうしとけばよかった」後悔リストの最たるものの1つなんだけども。
0461デフォルトの名無しさん
2011/02/06(日) 22:30:090462デフォルトの名無しさん
2011/02/06(日) 22:52:59switchでstring使えるようにする是非はともかく、その理由はどうなの。
ちなみに、VB.NETの方はstringもOKだし、数値なら不等号も使えたりする
0463デフォルトの名無しさん
2011/02/06(日) 22:53:23ってRemoveAtなどで一旦切り離してInsertで入れるしかないです?
0464デフォルトの名無しさん
2011/02/06(日) 22:56:500465デフォルトの名無しさん
2011/02/06(日) 23:00:56IList<T>なら普通にSwapできるっしょ
[n]をテンポラリに確保して[n-1]を[n]にコピーして[n-1]にテンポラリからコピー
0466デフォルトの名無しさん
2011/02/06(日) 23:02:47CのDLLで型定義してる場合ってどうやって呼び出すの?
ヘッダーファイルincludeできるの?
サンプルください(_。_)
0467デフォルトの名無しさん
2011/02/06(日) 23:07:39includeはできない
同じ形になるようにC#側でも型定義する
DllImportでググれ
0468デフォルトの名無しさん
2011/02/06(日) 23:08:58まじか。大した手間だな。。
ラッパーとかもないのか?
0469デフォルトの名無しさん
2011/02/06(日) 23:11:200470デフォルトの名無しさん
2011/02/06(日) 23:13:460471デフォルトの名無しさん
2011/02/06(日) 23:14:36言語によってCASE構文の設計思想が違っていて大きく2つに分類できる。
ひとつはあくまでもif-elseifの代用と言う位置づけで、
構文的な自由度が高い。VBや古くはCOBOLのevaluateとかがそれ。
もうひとつがCやC#のそれで基本的にcaseに指定できるのはリテラルだけ。
この制限は最適化を期待しての制限となっている。
C#でstringをcaseに許可しているのは.NETのStringが変更不可クラスで、
リテラルとして扱うことが出来るため。
0472デフォルトの名無しさん
2011/02/06(日) 23:15:27つ C++/CLI はいかがか?
0473デフォルトの名無しさん
2011/02/06(日) 23:24:580474デフォルトの名無しさん
2011/02/06(日) 23:29:04C++ではなくCのライブラリなら大した手前じゃないから
C#だけでやることをお勧めする
0475デフォルトの名無しさん
2011/02/07(月) 06:37:300476デフォルトの名無しさん
2011/02/07(月) 07:04:570477デフォルトの名無しさん
2011/02/07(月) 09:05:460478デフォルトの名無しさん
2011/02/07(月) 09:40:580479デフォルトの名無しさん
2011/02/07(月) 09:43:02大方の場合ループさせる処理内部での条件分岐嫌ってるんだろうけど
0480デフォルトの名無しさん
2011/02/07(月) 10:01:26教条主義的にEnum.IsDefinedでチェックしたがる人がいるけどswitchのdefaultで十分
それどころかenumに新しいの値が追加されたときに正しく動作しなくなるから公式には非推奨ってことになってるし
0481デフォルトの名無しさん
2011/02/07(月) 10:22:19ま・じ・で?
なんてこったい・・・・・
0482デフォルトの名無しさん
2011/02/07(月) 10:25:47これな
リフレクションが使われてるからパフォーマンスが悪いというのはよく言われてるけど
禁止の理由はバージョニング
0483デフォルトの名無しさん
2011/02/07(月) 10:30:29パフォーマンスはさておき
>バージョン間で異なる可能性がある列挙体のランタイム型に基づいているため
つうことは4.0固定で完全にそのPGだけで組み込まれてるとかだけならいけるのかな?
なんかオラ怖くなってきたぞ
0484デフォルトの名無しさん
2011/02/07(月) 10:41:59というのは同じアセンブリ内だとしても普通にありうるケースじゃないか?
Enum.IsDefinedを使うなら常に列挙体の定義とそれを利用する側が同期していないといけないってことでしょ
0485デフォルトの名無しさん
2011/02/07(月) 10:49:03シナリオ的にはあるけど、いまん所は全て参照検索してきっちり修正してるかDefaultでExceptionはいたりしてるかな?
ん〜何となくEnum使いどころが判らなくなってきた
0486デフォルトの名無しさん
2011/02/07(月) 11:12:100487デフォルトの名無しさん
2011/02/07(月) 11:19:580488デフォルトの名無しさん
2011/02/07(月) 11:38:500489デフォルトの名無しさん
2011/02/07(月) 11:49:160490デフォルトの名無しさん
2011/02/07(月) 11:49:26http://hibari.2ch.net/test/read.cgi/tech/1291554513/l50
0491デフォルトの名無しさん
2011/02/07(月) 12:03:550492デフォルトの名無しさん
2011/02/07(月) 18:28:50特定のフラグがたってるかどうかのチェックってどうやってやる?
今は↓みたいに書いてるんだけど若干面倒
もっと簡単にかける方法あるなら教えて欲しい
if ((flag & myenum.bar) != 0)
0493デフォルトの名無しさん
2011/02/07(月) 18:35:17IsDefinedと同じくリフレクションで実装されててクソ遅いけど
0494デフォルトの名無しさん
2011/02/07(月) 19:01:44それ間違ってるぞ
myenum.barが合成されたフラグの可能性があるから
一般には (flag & myenum.bar) == myenum.bar が正しい
0495デフォルトの名無しさん
2011/02/07(月) 19:27:060496デフォルトの名無しさん
2011/02/07(月) 19:33:10個別に作るくらいならこんな感じでよくね
測ったわけじゃないけどさすがにEnum.HasFlagみたいにビット演算より2,3ケタ遅いってことはないだろ
0497デフォルトの名無しさん
2011/02/07(月) 21:07:53もしかしてThreadpool使えば出来るんじゃないかと思ったんですがMSDNによると、
ThreadPool.SetMaxThreadsではワーカー スレッドの数または I/O 完了スレッドの数に、
コンピューターのプロセッサ数より小さい数を設定することはできません
とのことで、そのままぶち込んだだけでは実現できそうになくて、困ってます
キューの追加と実行するスレッドが別の場合、どのようかクラス使えばいいんでしょうか
0498デフォルトの名無しさん
2011/02/07(月) 21:10:420499デフォルトの名無しさん
2011/02/07(月) 21:15:250500デフォルトの名無しさん
2011/02/07(月) 21:16:230501デフォルトの名無しさん
2011/02/07(月) 22:13:16ありがとん
0502デフォルトの名無しさん
2011/02/07(月) 22:38:240503デフォルトの名無しさん
2011/02/07(月) 22:50:520504デフォルトの名無しさん
2011/02/07(月) 22:52:160505デフォルトの名無しさん
2011/02/07(月) 23:02:310506デフォルトの名無しさん
2011/02/07(月) 23:08:140507デフォルトの名無しさん
2011/02/07(月) 23:09:460508デフォルトの名無しさん
2011/02/07(月) 23:11:03馬鹿かって。
それを言うなら便所や商店に落書きするような卑劣漢だって、
俺はみんながやってるような場所だからやってるだけだと思ってるよ。
要するに環境のせいじゃないの。馬鹿みたいなことをするお前自身が幼稚なの。
0509デフォルトの名無しさん
2011/02/07(月) 23:39:200510デフォルトの名無しさん
2011/02/08(火) 00:15:350511デフォルトの名無しさん
2011/02/08(火) 00:17:030512デフォルトの名無しさん
2011/02/08(火) 00:24:10その可能性をすっかり忘れてた
ありがとう
>>496
ここまでやらないと一般化できないんか
ついでにフラグの設定、解除、トグルも作って
ライブラリにまとめとくかな
0513デフォルトの名無しさん
2011/02/08(火) 00:27:18csvファイルを読み込んで、構造体に入れ、表示させたいのですが、文字化けしてしまいます。
ミスがあったら訂正願います。
読み込むcsvファイル↓
01A,aさん,f,1.1,1.1,1111
02B,bさん,m,2.2,2.2,2222
03C,cさん,f,3.3,3.3,3333
04D,dさん,m,4.4,4.4,4444
05E,eさん,f,5.5,5.5,5555
06F,fさん,m,6.6,6.6,6666
0514デフォルトの名無しさん
2011/02/08(火) 00:27:53IDisposableをどうのこうのってやつ
IDisposableを実装すれば消えるの?
0515デフォルトの名無しさん
2011/02/08(火) 00:34:40ここはC#
こっちにいって聞いてこい
http://hibari.2ch.net/test/read.cgi/tech/1296984829/l50
それからソースコード見せたいときは http://ideone.com/ 使え
0516デフォルトの名無しさん
2011/02/08(火) 00:34:53ここはC#スレ
>>514
IDisposableを実装した型のオブジェクトかIntPtrをフィールドに持ってるんだろ
前者ならIDisposableを実装してDisposeの中でそのフィールドのDisposeを呼ぶようにする
後者ならIDisposableに加えてファイナライザも実装する
0517デフォルトの名無しさん
2011/02/08(火) 00:37:40すいません!ありがとうございます。
0518デフォルトの名無しさん
2011/02/08(火) 06:55:040519デフォルトの名無しさん
2011/02/08(火) 12:36:58それともリアルの実名とは書いたほうがいいですか?
どっちがいいですか?
0520デフォルトの名無しさん
2011/02/08(火) 12:39:230521デフォルトの名無しさん
2011/02/08(火) 12:41:230522デフォルトの名無しさん
2011/02/08(火) 13:17:02BitArrayの人くらいしか見たことない
0523デフォルトの名無しさん
2011/02/08(火) 13:26:04http://publisher-plus.sakura.ne.jp/wordpress/?p=362
C++:約16秒。
Java:約35秒。
C#:約9秒。
しかし、C++は最適化すると 1.5秒。
やっぱり最速はC++だね。
0524デフォルトの名無しさん
2011/02/08(火) 13:40:42言語は全く関係ないな
1.5秒のものはrandを使ってないんだから比較するなら他のも同じ条件で比較しないと無意味
0525デフォルトの名無しさん
2011/02/08(火) 13:43:470526デフォルトの名無しさん
2011/02/08(火) 13:46:340527デフォルトの名無しさん
2011/02/08(火) 13:48:280528デフォルトの名無しさん
2011/02/08(火) 14:00:37つうか・・・すげぇな 堂々としてて逆にかっこいいわw
0529デフォルトの名無しさん
2011/02/08(火) 14:05:45.NETのRandomはスレッドセーフじゃないから速いのかな
言語全然関係ないね
0530デフォルトの名無しさん
2011/02/08(火) 14:21:240531デフォルトの名無しさん
2011/02/08(火) 14:36:39Javaで速いアプリの例ってどれもJNI使ってほとんどC++で作られてるものばかり。
0532デフォルトの名無しさん
2011/02/08(火) 14:38:40randはグローバル関数だからスレッドセーフにしないと仕方ないかもしれないが
JavaのRandomがスレッドセーフで.NETがそうじゃないのはライブラリを設計した人の考え方が違うだけ
今ではJavaも基本スレッドセーフにしないで必要なら利用者が勝手にロックしろという方針に変わってるけど
0533デフォルトの名無しさん
2011/02/08(火) 14:51:47あとC#の時間測定にはStopwatchクラスを使えよ。
0534デフォルトの名無しさん
2011/02/08(火) 15:04:27>C:\TEMP\pi>csc pi_cs.cs
csc /optimize pi_cs.cs
0535デフォルトの名無しさん
2011/02/08(火) 15:42:150536デフォルトの名無しさん
2011/02/08(火) 15:46:56突込みどころ満載になってしまうからな
よほど詳しいやつでない限り話題にあげるのは地雷
0537デフォルトの名無しさん
2011/02/08(火) 15:55:13Celeron 1.4GHz シングルコア
23sec java (1.6.0_17)
18sec java (1.6.0_17 server VM)
13sec C# (.net4.0)
17sec C++ (VC++2010)
確かに乱数関数の呼び出しコストの差が大半だね。
0538デフォルトの名無しさん
2011/02/08(火) 18:09:020539デフォルトの名無しさん
2011/02/08(火) 18:35:430540デフォルトの名無しさん
2011/02/08(火) 18:40:320541デフォルトの名無しさん
2011/02/08(火) 18:43:58STAスレッドを起動してApplication.Runすればいくつでもできるよ。
0542デフォルトの名無しさん
2011/02/08(火) 18:47:56メインフォームの孫スレッドからじゃやっぱ無理なんですかね
ビジーになって操作受け付けてくれなくて
0543デフォルトの名無しさん
2011/02/08(火) 18:57:09var t1 = new Thread( () => Application.Run(new Form()) );
t1.SetApartmentState(ApartmentState.STA);
t1.Start();
0544デフォルトの名無しさん
2011/02/08(火) 19:02:24それで良さそうです
ありがとうございます
でも大幅に書き換えないとやりたいこと出来ない(´・ω・`)
0545デフォルトの名無しさん
2011/02/08(火) 19:36:040546デフォルトの名無しさん
2011/02/08(火) 19:54:20座標の配列を引数に取ってその平均値を返す静的メソッドを適当なクラスに書いてください。
0547デフォルトの名無しさん
2011/02/08(火) 20:04:18C#で2.70秒だった
さすがベンチ番長Core i7 975
0548デフォルトの名無しさん
2011/02/08(火) 20:05:30ありがてえ!
IntPtrは使ってないので前者だと思います
そのクラスで使ってるフィールドはstringとDataTableです
ともあれ今後確かめてみます
0549デフォルトの名無しさん
2011/02/08(火) 20:24:45クアッドコアすか?コレ試してもらえますか?
うちのだと35秒もかかってしまう(笑
乱数の取得が多重化できないのがネックだなぁ。
var sw = System.Diagnostics.Stopwatch.StartNew();
const int times = 100000000;
Random rnd = new Random();
var rs = Enumerable.Range(0, times).Select(i => new { X = rnd.NextDouble(), Y = rnd.NextDouble() });
int cin = rs.AsParallel().Select(r => {
double dist = Math.Sqrt(r.X * r.X + r.Y * r.Y);
return (dist < 1.0) ? 1 : 0;
}).Sum();
double pi = 4.0 * (double)cin / (double)times;
Console.WriteLine(sw.Elapsed);
0550デフォルトの名無しさん
2011/02/08(火) 20:37:0710.94秒
一応8スレッド全部使ってはいる模様
0551デフォルトの名無しさん
2011/02/08(火) 20:48:180552デフォルトの名無しさん
2011/02/08(火) 20:48:40Core2Extremeの俺も>>549を5回程やってみた。
9.34秒、15.00秒、10.09秒、9.32秒、9.71秒
ちょっと意外。
0553デフォルトの名無しさん
2011/02/08(火) 20:51:470554デフォルトの名無しさん
2011/02/08(火) 20:53:09C++はやっぱり最速ですな。Javaは哲学からしてその全くの逆だから激遅。
0555デフォルトの名無しさん
2011/02/08(火) 21:10:51比較になってない
0556デフォルトの名無しさん
2011/02/08(火) 21:13:51それが遅いのは致命的。
0557デフォルトの名無しさん
2011/02/08(火) 21:14:23パラレルは難しいですね。何コアも使っても非スレッド版が速いとはorz
>>554
>>523の最速パターンをC#で書けばほとんど同じだね。
const uint RAND_MAX = 32767;
static void Main() {
var sw = System.Diagnostics.Stopwatch.StartNew();
int cin = 0;
int times = 100000000;
uint nRand = 1;
for (int i = 0; i < times; i++){
nRand = nRand * 214013 + 2531011; uint x = ((nRand >> 16) & 0x7fff);
nRand = nRand * 214013 + 2531011; uint y = ((nRand >> 16) & 0x7fff);
if (x * x + y * y < RAND_MAX * RAND_MAX) cin++;
}
double pi = 4.0 * (double)cin / (double)times;
0558デフォルトの名無しさん
2011/02/08(火) 21:14:57だったらC#最強ってことだな
終了
0559デフォルトの名無しさん
2011/02/08(火) 21:22:230560デフォルトの名無しさん
2011/02/08(火) 21:26:590561デフォルトの名無しさん
2011/02/08(火) 21:28:02>>557でも1ループの粒度が細かすぎるから工夫して並列化しないと速くならないだろうな
0562デフォルトの名無しさん
2011/02/08(火) 21:30:510563デフォルトの名無しさん
2011/02/08(火) 21:35:050564デフォルトの名無しさん
2011/02/08(火) 21:41:50笑わしてくれるぜ。
C#やJavaはRandomがスレッドセーフじゃないとか言っても、
そもそもインスタンス作成して使う方式だからスレッドセーフである必要がない。
Cではグローバルな状態を保持する必要があるからそうせざるを得ないというだけのこと。
0565デフォルトの名無しさん
2011/02/08(火) 21:44:120.46s@i7-975
4or8分割すれば0.15s前後
回数を増やせば、8Tの方が3割ぐらい早い
var sw = System.Diagnostics.Stopwatch.StartNew();
const int times = 2000000000;
const int threads = 8;
var c = Enumerable.Range(1, threads).AsParallel().Sum(_ =>
{
int cin = 0;
uint nRand = 1;
for (int i = 0; i < times / threads; i++)
{
nRand = nRand * 214013 + 2531011; uint x = ((nRand >> 16) & 0x7fff);
nRand = nRand * 214013 + 2531011; uint y = ((nRand >> 16) & 0x7fff);
if (x * x + y * y < RAND_MAX * RAND_MAX) cin++;
}
return cin;
});
double pi = 4.0 * (double)c / (double)times;
sw.Stop();
Console.WriteLine(pi);
Console.WriteLine(sw.Elapsed);
Console.ReadKey();
0566デフォルトの名無しさん
2011/02/08(火) 21:47:33せめて初期シードを変えようぜ。
0567デフォルトの名無しさん
2011/02/08(火) 21:49:52uint x = ((nRand >> 16) & 0x7fff);
これってどういう仕組み?
0568デフォルトの名無しさん
2011/02/08(火) 21:51:470569デフォルトの名無しさん
2011/02/08(火) 22:11:05>Javaはきっと真面目に乱数を作っているし、真面目にオブジェクトを指向しているんだよ。C#は割といい加減なのではないかな?
わろた。
そもそもCのrandが一番質悪いんじゃねーか?
0570デフォルトの名無しさん
2011/02/08(火) 22:31:20アイコンのファイルフォーマットって何が使えますか?
0571デフォルトの名無しさん
2011/02/08(火) 22:40:420572デフォルトの名無しさん
2011/02/08(火) 22:43:440573デフォルトの名無しさん
2011/02/08(火) 23:02:33ありがとん
0574デフォルトの名無しさん
2011/02/08(火) 23:31:59ある意味間違って無い様な気もするがなw
MS系言語は何つーか、理想論は横にポイ捨てして
実用重視になっていく傾向が有る様な気がする。
C#は確かに一応OOPだけれども
OOP以外のパラダイムにも、色々手を伸ばして行ってるし。
0575デフォルトの名無しさん
2011/02/08(火) 23:39:39コレクション類なんか後で軒並みスレッドセーフじゃないバージョンを追加してる
0576デフォルトの名無しさん
2011/02/08(火) 23:41:17いつの間にか宗教になっちゃったな
0577デフォルトの名無しさん
2011/02/08(火) 23:51:000578デフォルトの名無しさん
2011/02/09(水) 00:21:350579デフォルトの名無しさん
2011/02/09(水) 00:31:21現在Form1のみが存在するプロジェクト中に子フォームを追加しようと思い、
プロジェクト右クリ→追加→Windowsフォームを選択し、Form2.csを生成しました。
そして、Form1.cs中で子フォームを表示するために、
Form2 f2 = new Form2();
とコードを書いたのですが、
エラー1:型または名前空間名 'Form2' が見つかりませんでした。using ディレクティブまたはアセンブリ参照が不足しています。
というエラーが出てしまいます。
本来だとForm2と記述した時にVC#2008のデフォルト環境だと薄緑色にフォントカラーが変わるはずなのですがそれもなく。。。
Web上で何度も情報を確認してみましたが、やり方は間違っていないような気がしてならないのでここで質問するに至りました。
宜しくお願い致します。
0580デフォルトの名無しさん
2011/02/09(水) 00:32:22Monitor や ReaderWriterLock などの .NET Framework のクラスは、
このメソッドを内部的に使用しています。SpinWait は、基本的には、
iterations パラメータで指定されるループ カウントを使用して、
プロセッサをほぼ専有するようなループ状態にします。
したがって、待機を継続する時間はプロセッサの速度によって異なります。
Sleep メソッドは、これとは対照的です。
スレッドで Sleep を呼び出した場合は、指定した間隔が 0 であっても、
そのスレッドのプロセッサ時間の現在のタイム スライスが中断されます。
Sleep に 0 以外の間隔を指定した場合は、その時間間隔が経過するまで、
スレッド スケジューラによってそのスレッドがスケジュール対象から外されます。
0581デフォルトの名無しさん
2011/02/09(水) 00:32:330582デフォルトの名無しさん
2011/02/09(水) 00:37:55できました、ありがとうございます。
途中でプロジェクト名を変更してリファクタリングをきちんとしていなかったのが原因でした…
0583デフォルトの名無しさん
2011/02/09(水) 00:39:210584デフォルトの名無しさん
2011/02/09(水) 00:48:44つまりSleepではInterrupt()出来ないという事ですか?
0585デフォルトの名無しさん
2011/02/09(水) 01:04:43使うのは画面の座標なので小数点以下がいらないんだけど
丸める際は手っ取り早くdoubleをキャストして(int)キャストした(doubel)方が早い?
0586デフォルトの名無しさん
2011/02/09(水) 01:09:190587デフォルトの名無しさん
2011/02/09(水) 01:09:420588デフォルトの名無しさん
2011/02/09(水) 01:10:37って画面の座標か、なんでdoubleなんだよ…
0589デフォルトの名無しさん
2011/02/09(水) 01:11:27ちょっと何言ってるのか分からない。
0590デフォルトの名無しさん
2011/02/09(水) 01:14:12例えばドローツールならdoubleで持つだろ
WPFなんかコントロールの座標やら何やら全てdoubleだぞ
0591デフォルトの名無しさん
2011/02/09(水) 01:15:51っていってんだからそういうのにはあたらんだろ。
0592デフォルトの名無しさん
2011/02/09(水) 01:18:16WPFやSilverLightはdoubleなんですよ
画面に直接関わるときだけintの方が都合がよい
WinFormは.net関連はデフォルトがdoubleだけどGDIなどの関係する部分は
floatのままだったりするし・・・
0593デフォルトの名無しさん
2011/02/09(水) 01:20:300594デフォルトの名無しさん
2011/02/09(水) 01:24:00ドローツールならまずfloatで十分だと思う。
それならキャストいらんし。
doubleで座標管理する必要があるのはグラフぐらいしか思いつかないな
0595デフォルトの名無しさん
2011/02/09(水) 01:24:07作ってるソフト的にはintレベルでいいなあと思って
ただそれだけ
3DCGやってるわけじゃないしね
0596デフォルトの名無しさん
2011/02/09(水) 01:25:30floatで十分なんだけどWinFormでも小数点などの定数を書くとdoubleとして扱われるように
WPFやSLはdoubleかintなんですよ
floatは過去の物
0597デフォルトの名無しさん
2011/02/09(水) 01:25:34気持ちはわからんでもないがdoubleは十分な精度があるから気にする必要ない
0598デフォルトの名無しさん
2011/02/09(水) 01:31:35なら、何も考えずにfloat(PointF)にキャストすればいいんじゃないのかな。
きっちりピクセル単位で幅や高さ、線の太さを指定して矩形を描く必用がある、
みたいな場合はこういう考え方だと破綻しちゃうけどね。
0599デフォルトの名無しさん
2011/02/09(水) 01:31:50簡単なお絵かき用のツールなので小数点はいらないんだよね
使う人も線をつなげる際とか小数点以下があるより整数でやった方がいいだろうし
0600デフォルトの名無しさん
2011/02/09(水) 01:31:51君は数値リテラルの接尾辞を知らんだろ
0601デフォルトの名無しさん
2011/02/09(水) 01:32:41floatはfつければいいだけでしょ?
知ってるわよみょんみょん
0602デフォルトの名無しさん
2011/02/09(水) 01:34:300603デフォルトの名無しさん
2011/02/09(水) 01:35:43WinFormアプリで1.0って書いてみればいい
接尾語無しだとdoubleだから
0604デフォルトの名無しさん
2011/02/09(水) 01:36:40で、WinFormを取り立てた理由は?
0605デフォルトの名無しさん
2011/02/09(水) 01:38:00WinFormのその他の部分->新しい価値観のdouble
WPF+SL->完全にdoubleへ移行
0606デフォルトの名無しさん
2011/02/09(水) 01:39:500607デフォルトの名無しさん
2011/02/09(水) 01:41:000608デフォルトの名無しさん
2011/02/09(水) 01:42:51まいいや
0609デフォルトの名無しさん
2011/02/09(水) 01:52:48計算するときはdoubleとかintでやってるんですよね?
0610デフォルトの名無しさん
2011/02/09(水) 01:58:57まあ、丸めないと原点の方向に0.5ピクセル分オフセットが生じる問題はある。
((0, 0)のピクセルだけ、実数の座標に写像した時に2X2の大きさになってしまう)
0611デフォルトの名無しさん
2011/02/09(水) 02:02:020612デフォルトの名無しさん
2011/02/09(水) 02:04:570613デフォルトの名無しさん
2011/02/09(水) 02:12:560614デフォルトの名無しさん
2011/02/09(水) 02:19:06最終的にディスプレイに表示するためにはintになるんだよ
数学どうのは関係ない
0615デフォルトの名無しさん
2011/02/09(水) 02:22:110616デフォルトの名無しさん
2011/02/09(水) 02:41:42アホ
0617デフォルトの名無しさん
2011/02/09(水) 06:51:070618デフォルトの名無しさん
2011/02/09(水) 09:35:460619デフォルトの名無しさん
2011/02/09(水) 09:50:070620デフォルトの名無しさん
2011/02/09(水) 09:57:09MS以外のフリーコンポーネントとかあんま使いたくない
0621デフォルトの名無しさん
2011/02/09(水) 10:02:020622デフォルトの名無しさん
2011/02/09(水) 10:03:490623デフォルトの名無しさん
2011/02/09(水) 10:05:34Pointだけでこいつがdoubleだけだったような
0624デフォルトの名無しさん
2011/02/09(水) 10:14:460625デフォルトの名無しさん
2011/02/09(水) 11:30:360626デフォルトの名無しさん
2011/02/09(水) 11:41:320627デフォルトの名無しさん
2011/02/09(水) 11:51:29Aさん>XNAにしてちらつきが無くなりました。
Bさん>XNAにしてXBOXでもソフトが使えるようになりました。
0628デフォルトの名無しさん
2011/02/09(水) 11:58:330629デフォルトの名無しさん
2011/02/09(水) 12:02:020630デフォルトの名無しさん
2011/02/09(水) 12:44:080631デフォルトの名無しさん
2011/02/09(水) 13:11:340632デフォルトの名無しさん
2011/02/09(水) 18:53:360633デフォルトの名無しさん
2011/02/09(水) 19:17:09言っちゃ悪いけど馬鹿丸出し。
ここまで補助線出して分からないかね普通。
小数点を切り捨てる関数f(x)があったとする。
この時f(x)が0となるxの範囲はどうなるのか考えてみろよ
0634デフォルトの名無しさん
2011/02/09(水) 19:19:350635デフォルトの名無しさん
2011/02/09(水) 19:24:44幼稚なことしてねえで、どう馬鹿なのか説明してみな糞ガキが。
0636デフォルトの名無しさん
2011/02/09(水) 19:25:150637デフォルトの名無しさん
2011/02/09(水) 19:42:220638デフォルトの名無しさん
2011/02/09(水) 19:43:020639デフォルトの名無しさん
2011/02/09(水) 19:45:20会社で、対象クラスにIDisposableの継承を追加して、
実装も追加して、フィールド変数(DataTable)のディスポーズを呼んでみたら警告消えたよ
今度設計者に相談してみらー
0640デフォルトの名無しさん
2011/02/09(水) 19:47:50Webサービスは業界標準でSOAPを使ってやり取りされ中身はWSDLです。
ってあってますか?
0641デフォルトの名無しさん
2011/02/09(水) 19:49:20ここで聞くことすら間違ってるよ
0642デフォルトの名無しさん
2011/02/09(水) 19:49:410643デフォルトの名無しさん
2011/02/09(水) 19:50:050644デフォルトの名無しさん
2011/02/09(水) 19:51:52どこで聞けばいいのやら…
0645デフォルトの名無しさん
2011/02/09(水) 19:54:370646デフォルトの名無しさん
2011/02/09(水) 20:00:10データセットクラスのデザイナが重すぎて開きません
コンポーネントクラスに作ったデータアクセスクラスのデザイナを開くにもやたら時間がっかかります
ちなみにPCはXPpro、コア2デュオ2.2GHz、メモリ2GBです
同僚はVistaや7の人ばっかなのですが、みんな開けてるようです
なにかいい方法はないですか?このままだとデータセットクラスを担当した時に死にます
0647デフォルトの名無しさん
2011/02/09(水) 20:01:240648デフォルトの名無しさん
2011/02/09(水) 20:02:030649デフォルトの名無しさん
2011/02/09(水) 20:02:530650デフォルトの名無しさん
2011/02/09(水) 21:21:43VS結構メモリ使うよね
0651デフォルトの名無しさん
2011/02/09(水) 21:41:570652デフォルトの名無しさん
2011/02/09(水) 22:16:15またWPF厨が来てんのか。
0653デフォルトの名無しさん
2011/02/09(水) 22:33:190654デフォルトの名無しさん
2011/02/09(水) 22:35:260655デフォルトの名無しさん
2011/02/09(水) 23:14:14wpfに恨みでもあるのか?普通に使える技術だと思うが
0656デフォルトの名無しさん
2011/02/09(水) 23:20:010657デフォルトの名無しさん
2011/02/09(水) 23:23:57失せろゴミ
0658デフォルトの名無しさん
2011/02/09(水) 23:39:29誰かのプラスになるような知識や智恵を持ってるわけないんだから、構うだけ有害。
0659デフォルトの名無しさん
2011/02/10(木) 00:08:070660デフォルトの名無しさん
2011/02/10(木) 00:11:36ソケット通信で可変長データ扱うのに
良いサンプルないでしょうか?
0661デフォルトの名無しさん
2011/02/10(木) 00:16:53専用スレあるのにここで暴れるなよ。
0662デフォルトの名無しさん
2011/02/10(木) 00:19:22失せろゴミ
0663デフォルトの名無しさん
2011/02/10(木) 00:33:300664デフォルトの名無しさん
2011/02/10(木) 00:38:08失せろゴミ
0665デフォルトの名無しさん
2011/02/10(木) 00:39:01隔離スレ用意してもこっちを荒らしやがる。
0666デフォルトの名無しさん
2011/02/10(木) 00:46:070667デフォルトの名無しさん
2011/02/10(木) 01:07:450668デフォルトの名無しさん
2011/02/10(木) 02:13:150669デフォルトの名無しさん
2011/02/10(木) 02:16:440670デフォルトの名無しさん
2011/02/10(木) 02:48:250671デフォルトの名無しさん
2011/02/10(木) 08:59:37使い勝手が悪くてほとんど使ってないんだが
0672デフォルトの名無しさん
2011/02/10(木) 09:00:19型付きデータセットのこと
0673デフォルトの名無しさん
2011/02/10(木) 15:59:11pictureboxに表示した画像の上からDrawLineで線を引くことは出来ますか?
0674デフォルトの名無しさん
2011/02/10(木) 15:59:510675デフォルトの名無しさん
2011/02/10(木) 16:01:00早い解答ありがとうございます。
がんばって調べてみます。
0676デフォルトの名無しさん
2011/02/10(木) 19:02:220677デフォルトの名無しさん
2011/02/10(木) 19:09:17using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void Form1_Load(object sender, EventArgs e)
        {
            Bitmap bmp = new Bitmap(640,480);
            pictureBox1.Image = bmp;
            this.MyDrawLine(bmp);
        }
        private void MyDrawLine(Bitmap bmp)
        {
            using (Graphics g = Graphics.FromImage(bmp))
            {
                g.DrawLine(Pens.Black, 10, 10, 100, 100);
            }
        }
    }
}
0678デフォルトの名無しさん
2011/02/10(木) 20:03:59ここによると、LinkLabel.LinkDataというプロパティがあるようなんですが、
実際書いてみるとインテリセンスが補助してくれず、
MSDNを見てもそのようなプロパティの存在が確認できません
http://msdn.microsoft.com/ja-jp/library/system.windows.forms.linklabel_members%28v=VS.90%29.aspx
同じような処理をするにはどうしたらよいのでしょうか
LinkLabel.Textの文字列に複数のリンクを設定したいです
0679デフォルトの名無しさん
2011/02/10(木) 20:06:120680デフォルトの名無しさん
2011/02/10(木) 20:22:01そのためのusingの囲みですよ
0681デフォルトの名無しさん
2011/02/10(木) 20:25:22LinkLabel.Link.LinkData
0682デフォルトの名無しさん
2011/02/10(木) 20:27:52WPFと比べて出来ないことが多すぎて泣ける。
0683デフォルトの名無しさん
2011/02/10(木) 20:39:45起動はできるのですがプロセスを切る処理がどうもよくわかりません
http://msdn.microsoft.com/ja-jp/library/system.diagnostics.process.close%28v=vs.80%29.aspx
上記のページを参考にして作ったのですが、キックした外部Exeのプロセスを切るのではなく
起動元のExeのプロセスを切るにはどうすればいいのでしょうか?
(キックした外部Exeだけが残るイメージです)
Process myProcess;
myProcess = Process.Start("Notepad.exe");
myProcess.CloseMainWindow();
myProcess.Close();
サンプルにあるこのコードだとキックした外部Exeのプロセスが落ちます。
3行目の「myProcess.CloseMainWindow();」をコメントアウトすると、起動元のExeのプロセスが落ちます。
ですが、Process型として宣言しているmyProcessは外部Exe(メモ帳)なので、どうして起動元が落ちるのかわかりません
やりたいことは満たしているのですが、自分の中で説明がつかない状況です
初歩的な質問かもしれませんが、どなたか教えて頂けないでしょうか?
0684デフォルトの名無しさん
2011/02/10(木) 20:40:40http://ideone.com/IW3Y1
0685デフォルトの名無しさん
2011/02/10(木) 20:50:24言いたいことがよくわかりません
0686デフォルトの名無しさん
2011/02/10(木) 20:50:33Mainの処理が終わればコンソールは閉じるんだよ
0687デフォルトの名無しさん
2011/02/10(木) 21:19:39DOS窓から実行してんじゃねえの?
0688デフォルトの名無しさん
2011/02/10(木) 21:53:03そう思うんなら、その設定で現象を説明してあげたら?
0689デフォルトの名無しさん
2011/02/10(木) 22:00:49UsingはGraphicsの解放を保証するだけじゃないんですか?
0690デフォルトの名無しさん
2011/02/10(木) 22:14:190691デフォルトの名無しさん
2011/02/10(木) 22:21:430692デフォルトの名無しさん
2011/02/10(木) 22:22:050693デフォルトの名無しさん
2011/02/10(木) 22:45:38Pens.Blackはstaticだから
0694デフォルトの名無しさん
2011/02/10(木) 23:02:260695デフォルトの名無しさん
2011/02/10(木) 23:12:160696デフォルトの名無しさん
2011/02/10(木) 23:15:380697デフォルトの名無しさん
2011/02/10(木) 23:18:19Penをnewしてたら解放する必要があるって事でいいですか?
>>694
IDisposableのインスタンスを保持している場合
アンマネージリソースを保持している場合
ですかね?
0698デフォルトの名無しさん
2011/02/10(木) 23:27:160699デフォルトの名無しさん
2011/02/10(木) 23:32:24それで返るPenって同じ参照なの?
0700デフォルトの名無しさん
2011/02/10(木) 23:33:28Pen(255,0,0,0);
これをstaticで持ってるだけでしょPens.Blackって
0701デフォルトの名無しさん
2011/02/10(木) 23:36:200702デフォルトの名無しさん
2011/02/10(木) 23:40:35PensのPenはtrueなのでデストラクター以外でDisposeすると例外が発生する
0703デフォルトの名無しさん
2011/02/10(木) 23:43:230704デフォルトの名無しさん
2011/02/10(木) 23:45:120705デフォルトの名無しさん
2011/02/11(金) 00:41:56参考にして
http://ideone.com/V11N5
とやってみたんですが、
実際にAddするところでInvalidOperationExceptionが毎回発生してしまいます
何が間違ってるんでしょうか
0706705
2011/02/11(金) 00:44:35http://ideone.com/23uRU
こちらでお願いします
0707デフォルトの名無しさん
2011/02/11(金) 19:07:49で指定した親に
LinkCollection.Add(startIndex, linkLengh, linkstring)
でリンク突っ込んでるのに
foreach (LinkLabel.Link link in linkcollection){ linkLabel1.Links.Add(link); }
これで同じものをもう一回突っ込みなおしてるから
http://msdn.microsoft.com/ja-jp/library/1a22yh2z%28v=VS.100%29.aspx
※メモ
2 つのリンクで同じテキストを共有することはできません。 別のリンクで既に使用されているテキストに対して新しいリンクを作成すると、例外がスローされます。
に引っかかってるんだろう。
質問する前にスムーズに状況再現できるコードを貼れ。
今回の場合は適当なURL含んだ逐語的文字列リテラルを含めて貼れ。
例外のメッセージが出る場合は「例外の詳細をクリップボードにコピー」を選んで一緒に書き込め。
0708デフォルトの名無しさん
2011/02/11(金) 21:58:55List<LinkLabel.Link>にする事で解決できました、
次から気を付けます
最少の構成にするとこんなです
ttp://eload.run.buttobi.net/cgi-bin/img/e_1069.zip
0709デフォルトの名無しさん
2011/02/11(金) 23:49:59チームのビルドを一元化してるんだけどさ
ビルド結果で吐き出されるログを編集してこねくり回すためのexeをC#で作ってるのよ
このログ編集exe実行をビルドマシンのビルドと同時に自動起動するようにしたい
で、このビルドはスクリプトファイルを頭から読んでいく形で行われるんだけどさ(xmlで.projファイル形式で記述されている)
そのスクリプトを修正して、ビルドサーバの任意のディレクトリに置いたログ編集exeを呼び出す方法はわかったんだ
しかし、そもそもログファイルの生成は、スクリプトが全行実行完了してからじゃないと吐き出されないOTL
そこで、まずは待機exeを非同期に呼んで、5分間くらい待ってスクリプトが終わってログが吐き出されてから
ログ編集exeを呼び出そうと思ってるんだけど
待機exeの実装はどうやってすべき?さっぱわかりません><
0710708
2011/02/11(金) 23:55:29�@まずは待機exeをスクリプトから普通に呼び出して、
�A待機exeからログ編集exeを非同期に5分後位に呼び出す
�Bで、待機exeは終了して制御をスクリプトに戻す
�Aの実装方法をご教示いただきたいです
0711デフォルトの名無しさん
2011/02/12(土) 00:08:430712デフォルトの名無しさん
2011/02/12(土) 00:14:370713デフォルトの名無しさん
2011/02/12(土) 00:33:56VS とは無関係に常駐プログラムでファイルの更新を検知してやればいいんじゃまいか。
0714デフォルトの名無しさん
2011/02/12(土) 08:45:170715デフォルトの名無しさん
2011/02/12(土) 10:44:250716デフォルトの名無しさん
2011/02/12(土) 16:05:04領域が自動的に広がらないようにしたいのですがどうすればよいでしょう。
0717デフォルトの名無しさん
2011/02/12(土) 16:13:570718716
2011/02/12(土) 16:16:39するためにToolStripPanel のAlowDropを使えるかと見たらAlowDropプロパティ
がありません。ToolStripを別のToolStripPanel にD&Dで移動できないように
する方法を知りたく(ただし一つのToolStripPanel 内では適当に移動できる
ようにはしておきたいです)。
0719デフォルトの名無しさん
2011/02/12(土) 16:20:030720716
2011/02/12(土) 16:21:38ToolStripContainer だけでなくToolStripPanel でも、自動的に
幅が膨らんでそこにおけるようになりました。1行目内から
少し外に出た時点でパカッと幅が広がって2行目にそのToolStripが
置けるようになりました。1行だけに限定して移動できるようにしたい
のですが自動的に広がってしまうのでした。
0721デフォルトの名無しさん
2011/02/12(土) 16:38:30なるほど確かに。
あまりかっこいい方法じゃないけど、ToolStripContainerをPanelに入れて
Dock.Fillにして、Panelを適当な高さにすれば回避できるみたい。
0722716
2011/02/12(土) 19:04:21ありがとうございます。用事があって離れていました、試してみます!!
0723デフォルトの名無しさん
2011/02/12(土) 20:05:44インスタンスの生成やメソッドの実行時に、デバッグログを出力する場合
出力メッセージは、何処に持たせるべきでしょうか。
・メッセージの一覧を管理するクラスや列挙体を作る
・各クラスのメンバに、 string const として定義する
・リフレクションでクラス名やメソッド名を取得する
・上記以外
0724デフォルトの名無しさん
2011/02/12(土) 20:22:30ごめん、>>721のToolStripContainerはToolStripPanelの間違いね。
言わなくても分かると思うけど一応
0725デフォルトの名無しさん
2011/02/12(土) 21:07:34PCからシリアルポートを使用し操縦するカメラ付きラジコンを製作しています。
ラジコン部分は作成できたのですが、C#でUSBカメラを表示させる方法がわかりません。
使用しているカメラは、USB無線式WEBカメラで(http://www.thanko.jp/product/av/video-camera/usb-wireless-webcamera.html/)
目標は、こんな感じの動きを目指しています。(http://www.nicovideo.jp/watch/sm12780817)←にラジコンを足したものだと思って下さい
当方、プログラムは本当に初心者でご教授願います。
0726デフォルトの名無しさん
2011/02/12(土) 21:16:33C# カメラでググれ
0727デフォルトの名無しさん
2011/02/12(土) 21:57:40僕には難しく、http://mobiquitous.com/programming/usbcamera.html
このサイトのサンプルは理解できませんできました。
フォームにカメラの動画を表示させるだけのサンプルプログラムのページなどはありませんかね?
0728デフォルトの名無しさん
2011/02/12(土) 22:10:15そもそも標準のログ使ったことねーな
log4netばっかりで
0729デフォルトの名無しさん
2011/02/12(土) 22:10:280730デフォルトの名無しさん
2011/02/12(土) 22:26:20StackFrameとリテラル程度でいいんじゃない?
0731デフォルトの名無しさん
2011/02/12(土) 22:37:35クラス内にenumを作るかな
0732デフォルトの名無しさん
2011/02/12(土) 23:06:16OpenCVでをC#で使う場合、まずライブラリをDLしてきて・・・
どのようにすれば、いいのですか?
本当に初心者で申し訳ないです。
あと、お勧めのサンプルってありますか?
0733デフォルトの名無しさん
2011/02/12(土) 23:31:560734デフォルトの名無しさん
2011/02/13(日) 01:35:16基本的に引数チェックはContracts.Requiresに置き換えて良いと考えても良いものですか?
0735デフォルトの名無しさん
2011/02/13(日) 01:38:180736デフォルトの名無しさん
2011/02/13(日) 03:07:070737デフォルトの名無しさん
2011/02/13(日) 08:25:33そこをなんとか!!
どうか!どうか!卑しい私にOpenCvのサンプルを!!
自分なりに調査したのですが・・・英語のサイトが多く、僕の英語力(エキサイト翻訳)では
限界です。
0738デフォルトの名無しさん
2011/02/13(日) 11:20:180739デフォルトの名無しさん
2011/02/13(日) 11:26:41基礎がなってなさすぎ。
初心者ならもう少し基礎をやってからにしろ。
0740デフォルトの名無しさん
2011/02/13(日) 11:52:13すみません、カメラを使用して遊ぶおもちゃを思いついたので、いてもたってもいられず
書き込んでしまいました。
あきらめずがんばってみます。
>>739
ですよね、C#の存在を言ったのが2週間くらい前で
基礎はなってないですねw
もうちょっとネットで調べて見ます。
わからないことがあれば教えてください。
レスありがとうございます!!
0741デフォルトの名無しさん
2011/02/13(日) 21:16:330742デフォルトの名無しさん
2011/02/13(日) 21:19:210743デフォルトの名無しさん
2011/02/13(日) 21:28:24Delegateって大文字で書いてた・・・
ありがとん
0744デフォルトの名無しさん
2011/02/13(日) 21:31:380745デフォルトの名無しさん
2011/02/14(月) 00:08:32SharperCVとかどうかな?
http://chihara.naist.jp/opencv/?SharperCV
ひとまずカメラの表示から適当にフィルタかけるぐらいなら
すぐに出来たので後は頑張ってくれ。
0746デフォルトの名無しさん
2011/02/14(月) 01:33:22OpenCVSharpか
http://www.geocities.co.jp/SiliconValley/7406/tips/opencvdll2/index.html
つかっておけば?
0747デフォルトの名無しさん
2011/02/14(月) 01:34:08落そうと思っているんだが途中で切れてしまうようでうまく落とせない。
http://download.microsoft.com/download/5/7/2/57246de2-5e4c-48cb-a903-56067659539f/setup.exe
うちの環境だけなのかわからないんで、だれか試してくれくれ。
0748デフォルトの名無しさん
2011/02/14(月) 01:43:45うちもMSから30MB程度の物をダウンロードするにもダメなときがある
対策としてはレジューム対応してるダウンローダーでダウンロードするしかない
0749デフォルトの名無しさん
2011/02/14(月) 01:45:22http://hibari.2ch.net/test/read.cgi/tech/1288613056/521
0750デフォルトの名無しさん
2011/02/14(月) 02:03:46ttp://www.microsoft.com/downloads/ja-jp/confirmation.aspx?familyId=fe6f2099-b7b4-4f47-a244-c96d69c35dec&displayLang=ja
300KB/sec くらいしか出ていないけれど、こっちからだとうまく落とせてる。
ありがとうノシ
0751デフォルトの名無しさん
2011/02/14(月) 02:19:24SharperCVが地雷だと言うなら理由を書いておいてくれればいいのに。
調べたところ使える関数が少ないみたいだ。
なので>>746の言うとおりOpenCVSharpが良さそうだね。
0752デフォルトの名無しさん
2011/02/14(月) 02:37:12処理が全部終わったらスレッドも勝手に破棄されますか?
常にAbort()を呼び出す必要ってありますか?
0753デフォルトの名無しさん
2011/02/14(月) 02:54:05最終的に要素はリストに加えるか、IEnumerable<int>として扱えればいい
制限:.NetFramework 3.5、Linq使用可
<Hoge>
<Piyo>
<Ids>
<Id>1111</Id>
<Id>2222</Id>
<Id>3333</Id>
<Id>4444</Id>
</Ids>
</Piyo>
</Hoge>
0754デフォルトの名無しさん
2011/02/14(月) 04:34:210755デフォルトの名無しさん
2011/02/14(月) 11:45:04C#でCGIソフトを作る環境はありますか?
ブラウザに表示されたボタンやコマンドを入力 → 鯖で処理 → クライアントに表示
という奴です
0756デフォルトの名無しさん
2011/02/14(月) 11:49:58まず一般的な用語を身につけてから来い
0757デフォルトの名無しさん
2011/02/14(月) 11:59:400758デフォルトの名無しさん
2011/02/14(月) 18:08:26基本的にそっちの方が高速って認識で間違いないですか?
0759デフォルトの名無しさん
2011/02/14(月) 18:13:59その順番を変えたいのですが、どこを弄ればいいんでしょうか?
VC#2010Expressです。
0760デフォルトの名無しさん
2011/02/14(月) 18:25:06メニュー→表示→タブオーダー
0761デフォルトの名無しさん
2011/02/14(月) 19:00:41>>746
ありがとうございます!!
OpenCVSharですか、使ってみます!!
何事にもチャレンジですね!
>>751
調べていただいて申し訳ないです。
ありがとうございます。
がんばってみます。
0762デフォルトの名無しさん
2011/02/14(月) 19:39:03> なお、テンプレ2行目が読めない回答者は邪魔なので後述のC#相談室に移動して下さい。
0763デフォルトの名無しさん
2011/02/14(月) 19:54:52サンプルをどこがの情報サイトが公開してたな
あれ動かしてみなよ
サーバーにとってのURLが何かとかわかるよ
0764デフォルトの名無しさん
2011/02/14(月) 20:59:210765デフォルトの名無しさん
2011/02/14(月) 23:57:25こんな感じにしたい↓ BCDって言うんかな?
0 :0x00 0x00 0x00 0x00
1 :0x00 0x00 0x00 0x01
10:0x00 0x00 0x01 0x00
0766デフォルトの名無しさん
2011/02/15(火) 00:00:470767デフォルトの名無しさん
2011/02/15(火) 00:05:320768デフォルトの名無しさん
2011/02/15(火) 00:07:10そりゃ別にintだっていいじゃん
0769デフォルトの名無しさん
2011/02/15(火) 00:09:46http://d.hatena.ne.jp/gsf_zero1/20110126/p1
0770デフォルトの名無しさん
2011/02/15(火) 00:16:070771デフォルトの名無しさん
2011/02/15(火) 00:18:28仕様 書いたヤツに突っ込んでくれ
>>769
BCDではなさそう…
0000-> 0x0000 ←BCD
1234-> 0x1234 ←BCD
1234-> 0x01020304 ←こういうのが良いとさ。
0772デフォルトの名無しさん
2011/02/15(火) 00:20:02下位8ビットの論理積をとって、右8ビットシフトするのを繰り返すとかかなぁ
0773デフォルトの名無しさん
2011/02/15(火) 00:21:30意味が分からないんだけど、右の数字は16進数になってなくない?
単に一桁ずつ分けるなら数字を文字列に変換して一文字ずつ取り出せばいいと思うけど・・
0774デフォルトの名無しさん
2011/02/15(火) 00:22:54めんどくせーな
桁数がどれくらいかしらんけど
USC-2も半角部分はアスキー互換だっけ?
アスキー互換だとすれば
intで計算byte配列に直すときはintをstring化して文字単位に分割して
0x30をマイナス
0775デフォルトの名無しさん
2011/02/15(火) 00:23:06その結果から"0000"や"0001"や"0010"みたいな文字列作ってから
各桁から0x30引く(0x0Fでマスクでもいい)
0776デフォルトの名無しさん
2011/02/15(火) 00:24:33BCDは8bitで0〜9までしか扱わないんだよ
2進化10進だっけかな?
パックドとかアンパックドとか無かったっけ?
まあそんな機能があるのは昔のメインフレーム向けの言語とかの時代くらい?
どうせそういう名残のある物なんだろう
0777デフォルトの名無しさん
2011/02/15(火) 00:27:040778デフォルトの名無しさん
2011/02/15(火) 00:31:35インデックス化しないとテクスチャが扱えないんだよな
0779デフォルトの名無しさん
2011/02/15(火) 00:33:560780デフォルトの名無しさん
2011/02/15(火) 00:38:26桁上げのシフト演算もなぁ…
もっとスマートなの( ゚д゚)クレ
0781デフォルトの名無しさん
2011/02/15(火) 00:40:120782デフォルトの名無しさん
2011/02/15(火) 00:42:16そこ使うならコンソールで書けよ
実行結果見れないじゃん
0783デフォルトの名無しさん
2011/02/15(火) 00:47:24collection.Skip(30 * i).Take(30)
とかかな?
0784デフォルトの名無しさん
2011/02/15(火) 00:48:38コンソールだとブラウザ上で結果まで見えるのか
http://ideone.com/68sIa
0785デフォルトの名無しさん
2011/02/15(火) 00:56:28どうもどうも。
参考にさせていただきます
0786デフォルトの名無しさん
2011/02/15(火) 01:03:37桁上げシフトが何を言ってるのか分からんけど、C#なら結局10進数の最上位桁の
1の値から順に割ってくのが一番早いと思うよ。
アセンブラだとBCD加算命令が使えると思うから、byteをパックドBCDに変換するルーチンと
パックドBCDを256倍するルーチンを書いて、その二つを組み合わせてunitをbyte配列に書けるけど、
BCD加算をC#で実装してたらかえって重くなるんじゃないか。
0787デフォルトの名無しさん
2011/02/15(火) 01:09:56単純に割り算かな?
だとすると自分で組んだ方がいいかもなw
0788デフォルトの名無しさん
2011/02/15(火) 01:45:30世界最高レベルのライブラリ作者が書いたコードより速くできる自信があるならどうぞ
0789デフォルトの名無しさん
2011/02/15(火) 10:18:40特定の変換ルールに限定するなら自分で書いた方が速いだろ
でも数値->文字列の変換が使われる状況ってその処理自体がネックになることはまず無くて
IOとかGUI操作とかで吹き飛ぶ
0790デフォルトの名無しさん
2011/02/15(火) 12:29:03速度が問題になってから改良すれば十分
0791デフォルトの名無しさん
2011/02/15(火) 12:35:080792デフォルトの名無しさん
2011/02/15(火) 12:42:27よく本とか記事にそういうこと書かれてることがあるけど、
実際、速くするだけなら簡単なんだよな。
その論理だとJava開発陣は世界最低レベルの開発者の集まりってことになるし。
0793デフォルトの名無しさん
2011/02/15(火) 12:45:20今のところIEnumerableに拡張メソッドを作ろうとしてるけど
0794デフォルトの名無しさん
2011/02/15(火) 12:46:07>その論理だとJava開発陣は世界最低レベルの開発者の集まりってことになるし。
なにか問題でも?
0795デフォルトの名無しさん
2011/02/15(火) 13:10:36http://hibari.2ch.net/test/read.cgi/php/1295956018/
0796デフォルトの名無しさん
2011/02/15(火) 13:15:21制限の中で最速って意味だと思うけど・・・・
Javaなのにネイティブコード使って「はい最速ー^^って話ではないような
0797デフォルトの名無しさん
2011/02/15(火) 13:24:58そりゃ12345を常に"12345"に変換するだけの仕様ならずっと速く書けるが
実際にはもっと複雑で高機能なので遅くなって当たり前
0798デフォルトの名無しさん
2011/02/15(火) 13:27:530799デフォルトの名無しさん
2011/02/15(火) 13:38:180800デフォルトの名無しさん
2011/02/15(火) 15:11:550801デフォルトの名無しさん
2011/02/15(火) 16:58:36配置しています。TabIndexを設定していますが、最後まで行ったFocusが循環して
またTabIndexの先頭に戻って来ません。正しく先頭に戻るようにするにはどうすれば
よいでしょうか?教えてください。(VS2005使用)
0802デフォルトの名無しさん
2011/02/15(火) 17:02:570803デフォルトの名無しさん
2011/02/15(火) 17:19:15これをループで回すとカナリア遅くね?
もうちっと早くやりたい場合になんかいい方法論ない?
0804デフォルトの名無しさん
2011/02/15(火) 17:31:24ループで回すぐらいなら、全部取って30ずつ回せば良いだけでしょ
0805デフォルトの名無しさん
2011/02/15(火) 17:58:23やたらに使いたがる奴はただの馬鹿。C++のテンプレート厨と同じ。
0806デフォルトの名無しさん
2011/02/15(火) 18:01:44Enumeratorを管理するクラスでも作れば?
0807デフォルトの名無しさん
2011/02/15(火) 20:10:54それは単にお前が無知なだけじゃね
0808デフォルトの名無しさん
2011/02/15(火) 20:11:36馬鹿乙。
0809デフォルトの名無しさん
2011/02/15(火) 20:12:27無知はおまえだろうw
0810デフォルトの名無しさん
2011/02/15(火) 20:13:060811デフォルトの名無しさん
2011/02/15(火) 20:15:06var array = new T[30];
int count = 0;
foreach (var i in enumerable) {
if (count == 30) { yield return array; count = 0; }
array[count++] = i;
}
//// 残りが欲しい時
//var leftValues = new T[count];
//for (int i = 0; i < count; i++) leftValues[i] = array[i];
//yield return leftValues;
}
0812デフォルトの名無しさん
2011/02/15(火) 20:19:040813デフォルトの名無しさん
2011/02/15(火) 20:24:23それでバグ発見も普通にある。大手に何度かバグ報告したことあるし。
パッチに数ヶ月かかる糞大手もあった。
ただ自らLinqとか使って保守しずらくするのは馬鹿のすること。
短いのがスマートだと思ってる馬鹿がたまにいるから困る。
保守性や仕様変更耐性上げるために冗長に書くのが残業しないための知恵。
0814デフォルトの名無しさん
2011/02/15(火) 20:26:040815デフォルトの名無しさん
2011/02/15(火) 20:34:33それならむしろ可能な限り避けるべきなんじゃないの
0816デフォルトの名無しさん
2011/02/15(火) 20:34:520817デフォルトの名無しさん
2011/02/15(火) 20:35:37統計使って最適化できないし。
0818デフォルトの名無しさん
2011/02/15(火) 20:37:380819デフォルトの名無しさん
2011/02/15(火) 20:40:040820デフォルトの名無しさん
2011/02/15(火) 20:43:04void foo()
{
_hoge = new HogeClass();
PiyoClass A = new PiyoClass(_hoge);
PiyoClass B = new PiyoClass(_hoge);
A.ThreadStart();
B.ThreadStart();
}
としてフィールド変数_hogeを、
無限ループを持つスレッドA及びBで共有しているのですが、
この_hogeをHogeClass hoge = new HogeClass();のように、
ローカル変数として用意した場合どうなるのでしょうか
fooメソッドが終わってもhogeの実体は残り続けて、AとBで共有されるのでしょうか
0821デフォルトの名無しさん
2011/02/15(火) 20:44:160822デフォルトの名無しさん
2011/02/15(火) 20:49:580823デフォルトの名無しさん
2011/02/15(火) 20:57:31早く就職しろ。
0824デフォルトの名無しさん
2011/02/15(火) 21:06:540825デフォルトの名無しさん
2011/02/15(火) 21:07:37そうなんですか
じゃあフィールドで値持っておく必要ないんだ・・・
なんてこった
0826デフォルトの名無しさん
2011/02/16(水) 00:56:55サブクラスのフォーム2つでフォームのHeightが違うんだ
これを実装するにはやっぱ
1.BaseではでかいほうのHeightに合わせる
2.小さいほうのサブクラスフォームのロードイベントで、Heightを設定する
ってやり方になるかな?
0827デフォルトの名無しさん
2011/02/16(水) 01:07:33メソッドの引数に決め打ちで入力されることがあるんですが、
これって無駄なパラメータ入れてるから最適化されてるよって事ですよね?
恥ずかしいコード書いてるって認識した方が良いですか?
0828デフォルトの名無しさん
2011/02/16(水) 01:09:09ユーザーコントロールを使った方が人生シンプル
0829デフォルトの名無しさん
2011/02/16(水) 01:16:56無駄かどうかなんてお前以外の誰が判断できるんだ。
0830デフォルトの名無しさん
2011/02/16(水) 01:56:57可読性とか変更耐性とか色々有るので、必ずしも無駄とは限らんというか
「勝手に最適化してくれるんだから、コードをカリカリにチューニングしなくてもいいや」と思っとくが吉
0831デフォルトの名無しさん
2011/02/16(水) 02:07:110832デフォルトの名無しさん
2011/02/16(水) 03:19:590833デフォルトの名無しさん
2011/02/16(水) 03:37:000834デフォルトの名無しさん
2011/02/16(水) 03:45:270835デフォルトの名無しさん
2011/02/16(水) 03:49:390836デフォルトの名無しさん
2011/02/16(水) 03:55:060837デフォルトの名無しさん
2011/02/16(水) 04:00:08どおりでLinqの欠点が全く見えないわけだw
0838デフォルトの名無しさん
2011/02/16(水) 04:05:070839デフォルトの名無しさん
2011/02/16(水) 04:10:39Rxとか見せたら発狂しそうw
0840デフォルトの名無しさん
2011/02/16(水) 04:14:36Z80から何十年コード書いてると思ってんだよ?w
0841デフォルトの名無しさん
2011/02/16(水) 04:15:160842デフォルトの名無しさん
2011/02/16(水) 04:23:240843デフォルトの名無しさん
2011/02/16(水) 04:28:40名人様が来たぞー!逃げろー!
0844デフォルトの名無しさん
2011/02/16(水) 04:31:360845デフォルトの名無しさん
2011/02/16(水) 04:38:180846デフォルトの名無しさん
2011/02/16(水) 04:40:54自己紹介乙
0847デフォルトの名無しさん
2011/02/16(水) 07:14:410848デフォルトの名無しさん
2011/02/16(水) 07:18:11linqを使わないほうが仕様変更に強いっての本当?
実例をあげてみて欲しい。
0849デフォルトの名無しさん
2011/02/16(水) 08:25:590850デフォルトの名無しさん
2011/02/16(水) 08:32:14不毛過ぎる・・・
0851デフォルトの名無しさん
2011/02/16(水) 08:37:220852デフォルトの名無しさん
2011/02/16(水) 08:45:500853デフォルトの名無しさん
2011/02/16(水) 08:57:39この程度の事すら理解できない・理解しようとしない奴が、俺の書いたコードを弄繰り回して仕様変更するなんて寒気がするな。
0854デフォルトの名無しさん
2011/02/16(水) 09:32:470855デフォルトの名無しさん
2011/02/16(水) 10:03:530856デフォルトの名無しさん
2011/02/16(水) 10:15:500857デフォルトの名無しさん
2011/02/16(水) 13:23:540858デフォルトの名無しさん
2011/02/16(水) 15:40:50ここは無職の初心者スレだから仕方がないか。
0859デフォルトの名無しさん
2011/02/16(水) 16:15:46統計的結果ってなに?
ググってもそれらしいものがひっかからないんだが。
ソースくれ。
0860デフォルトの名無しさん
2011/02/16(水) 16:28:35OracleやSQLSeverで最適化したことないのか? 少しは勉強しろ。
0861デフォルトの名無しさん
2011/02/16(水) 16:35:290862デフォルトの名無しさん
2011/02/16(水) 16:35:45ブラウザからWebサービスをGETで叩き(引数としてaaa.htmlのURL)、
サーバーサイドに置いてあるaaa.htmlをブラウザに表示せずに
印刷ダイアログを表示して印刷させることはできるでしょうか?
ASPでもhtmlやajaxの処理でもC#での処理でも構いません。
0863デフォルトの名無しさん
2011/02/16(水) 16:38:47webbrowserを裏で使ってレンダリングさせてレンダリングした結果を
bitmapか何かで取得して印刷すればいいんでないの?
0864デフォルトの名無しさん
2011/02/16(水) 16:38:50おいおい。
台形公式とか次元が増えると誤差や計算量増えるだろ。
モンテカルロ積分とか遺伝的アルゴリズムとか知らないのかよ。
事前統計結果が得られるなら普通に処理の重みづけができるだろうに。
将棋の思考アルゴリズムとか既に主流だろ。
0865デフォルトの名無しさん
2011/02/16(水) 16:43:02アホかっ!
0866デフォルトの名無しさん
2011/02/16(水) 16:49:30違う。
>>859 みたいな無学、無知が何でもLinqにしようとするのが
困るって話をすると、馬鹿だからすぐ逆ギレして笑えるってことだよ。
0867デフォルトの名無しさん
2011/02/16(水) 16:56:05そろそろ楽になってもいいんだよ・・・
0868デフォルトの名無しさん
2011/02/16(水) 17:07:37統計的結果なんてあらゆる分野で普通に使われる科学の基本手続きなのに、
まさか統計的結果でググって見つからないとか言うし、
自分が無知なだけなのに正しい用語使えとか言うし。
昔はクグレカスって言ったけど、ググっても自分で調べられないときてる。
基本、自分が馬鹿だと気づいてないんだよね。
しかも初心者スレで教わる立場なのになぜか偉そうにしてる。
0869デフォルトの名無しさん
2011/02/16(水) 17:11:310870デフォルトの名無しさん
2011/02/16(水) 17:16:46まさか、ソースだせないの?
・統計的結果がoracleでは当たり前
・linqでは統計的結果が反映できない
この2点のソース早く頂戴。
当たり前ならすぐだせるでしょう?
「勉強しろ」なんて逃げうたないでさぁ。
0871デフォルトの名無しさん
2011/02/16(水) 17:21:160872デフォルトの名無しさん
2011/02/16(水) 17:30:26俺は彼じゃないけど、Oracleの統計情報ならこの辺り
http://itnavi.com/totteORA/Tips21.asp
linqとの関係は知りません
0873デフォルトの名無しさん
2011/02/16(水) 17:30:55統計的結果
ってなんだよ?統計は過去の産物を勝手に解釈したものに過ぎないだろう。
0874デフォルトの名無しさん
2011/02/16(水) 17:32:33つかあんま突っつくなよ・・・
0875デフォルトの名無しさん
2011/02/16(水) 17:38:33ほんとはできないのに、「できる」とかっこつけちゃった手前、ひっこみが
つかなくなってしまった。
「具体的な手順を」をいわれたけど、自分で試したわけでもないし、なにより
ほんとにやってみてできないことがわかってしまったら、自分が間違っている
ことが判明してしまうから、こわくてできない。
とりあえず、「自分で試せよ、簡単なんだからそのくらいできるだろ」と
言い続けることで、ごまかすことにしておく。
0876デフォルトの名無しさん
2011/02/16(水) 17:47:17数十分後、他の人が当選確実です。
っていうのが「統計的結果」の一例でいいですか?
0877デフォルトの名無しさん
2011/02/16(水) 17:52:48オプティマイザの使用する情報のことを「統計的結果」って呼ぶかなあ?
仮に呼ぶとして、linqだとそれが使えなくて、foreach だと使えるってことはないとおもうんだが・・・
0878デフォルトの名無しさん
2011/02/16(水) 17:57:46Linqの使い方が蓄積されるわけでもないし
C#の情報が残るわけでもない
専門板はスレたてが自由なんだし続けたい人は新しく建ててやってくれ
0879デフォルトの名無しさん
2011/02/16(水) 18:30:56だよね、統計的結果なんてのは良いから、ADO.NET等ではオプティマイズが効いて、
LINQでは効かないのか?って情報が知りたいところですね
いや事実であるとしたら結構大変なことだよw
0880デフォルトの名無しさん
2011/02/16(水) 18:34:280881デフォルトの名無しさん
2011/02/16(水) 18:36:030882デフォルトの名無しさん
2011/02/16(水) 18:58:46LINQとforeachの話だろ、立派なC#の話題じゃないか。
0883デフォルトの名無しさん
2011/02/16(水) 18:58:530884デフォルトの名無しさん
2011/02/16(水) 19:04:120885デフォルトの名無しさん
2011/02/16(水) 19:09:190886デフォルトの名無しさん
2011/02/16(水) 19:15:520887デフォルトの名無しさん
2011/02/16(水) 19:16:31例外さんの発言も意味通じるかもね
誰もLINQ to SQLなんか使ってねえし、誰もLINQ to SQLの話なんかしてねえけど
0888デフォルトの名無しさん
2011/02/16(水) 19:28:23DataGridViewでこのようなドットの境界線を設定したいのですが、
どのように指定したらいいのでしょうか
0889デフォルトの名無しさん
2011/02/16(水) 19:31:480890デフォルトの名無しさん
2011/02/16(水) 19:44:09難しいですね
困った
0891デフォルトの名無しさん
2011/02/16(水) 19:46:010892デフォルトの名無しさん
2011/02/16(水) 19:49:240893デフォルトの名無しさん
2011/02/16(水) 19:52:19やったこと無い人はわけわからんだろ
それにその辺のことを自力でやる人はすでにWPFやSLへ行ってるから
日本語の資料もそれほどないだろうし
0894デフォルトの名無しさん
2011/02/16(水) 19:59:58winformsは標準の物を組み合わせる程度なら強力なんだが
winformsで簡単にできることがwpfで実装されていないこともあることだし
0895デフォルトの名無しさん
2011/02/16(水) 20:03:05CかC++じゃないと出来ませんよね
0896デフォルトの名無しさん
2011/02/16(水) 20:04:140897デフォルトの名無しさん
2011/02/16(水) 20:07:31最終的にどういう結果にしたいかによるんじゃね?
決まった場所をクリックしたのを0.5秒待つのならクリックイベントひらって
待つ仕組みを入れるとかすればいいし
結局プログラムなんて見た目期待通り動けば内部の実装なんて・・・
0898デフォルトの名無しさん
2011/02/16(水) 20:07:42初心者御用達のDOBON.NETにも載ってるよ
0899デフォルトの名無しさん
2011/02/16(水) 20:12:520900デフォルトの名無しさん
2011/02/16(水) 20:13:36だからその最終的な目的がよくわからんのでなんともいえない
0901デフォルトの名無しさん
2011/02/16(水) 20:18:28http://www.microsoft.com/downloads/details.aspx?FamilyID=033CFB76-5382-44FB-BC7E-B3C8174832E2&displaylang=ja
3.5と違ってライセンスが完全フリーだったりするみたいで興味有るんだが、VS4SP1β入れろみたいなのが書いてあってちょっと不安
用途はスタンドアロンのwpfアプリ(個人用)を考えているんだが
0902デフォルトの名無しさん
2011/02/16(水) 20:27:30Silverlightで使えりゃなあ・・・
0903デフォルトの名無しさん
2011/02/16(水) 20:33:270904デフォルトの名無しさん
2011/02/16(水) 20:47:22こんな小さかったっけ
昔20MBくらいあった気がする
0905デフォルトの名無しさん
2011/02/16(水) 20:52:26>SQL Server Compact 4.0 は再配布の使用許諾契約書の下で無償で再配布でき、SQL Server Compact 4.0 を再配布するアプリケーション開発者は、SQL Server Compact 再配布サイトに登録することもできます。
何処かに「完全無償」って情報見覚えがあったが、最終的には3.5と同じライセンスになったみたいですね。見間違いだったかも知れませんが
0906デフォルトの名無しさん
2011/02/16(水) 21:11:43>>895さんありがとうございます
uwscとかAHKなどのマウスで出来るようなものはC#では出来ないのですね
0907デフォルトの名無しさん
2011/02/16(水) 21:28:050908デフォルトの名無しさん
2011/02/16(水) 21:29:42ttp://pinvoke.net/default.aspx/user32/sendinput.html
0909デフォルトの名無しさん
2011/02/16(水) 21:30:38そうか、DiredtInputには渡せないのか・・・ぐぬぬ
ドイラバ書くしかないのか
0910デフォルトの名無しさん
2011/02/16(水) 21:37:220911デフォルトの名無しさん
2011/02/16(水) 22:05:18ドイラバ(←なぜか変換されてる)
0912デフォルトの名無しさん
2011/02/16(水) 22:07:03ぼくへのレスでしたらBOT作成が目的ではないです
複数管理しているWEBサーバの手動CRONをブラウザでボタンを押すだけで動かせるのですが自動化したいのです。
セキュリティとかは気にせずただ左クリックを自動で押せればいいんですが・・・
C#で出来ないと知ったのであきらめます
0913デフォルトの名無しさん
2011/02/16(水) 22:21:370914デフォルトの名無しさん
2011/02/16(水) 22:27:26フォームの入力先とか全部いじれなかったっけ?
0915デフォルトの名無しさん
2011/02/16(水) 22:29:470916デフォルトの名無しさん
2011/02/16(水) 22:31:40そのまま送ればいいだけか
0917デフォルトの名無しさん
2011/02/16(水) 22:33:120918デフォルトの名無しさん
2011/02/16(水) 22:45:210919デフォルトの名無しさん
2011/02/17(木) 00:32:380920デフォルトの名無しさん
2011/02/17(木) 01:38:25あるいはされてないか調べるにはどうしたら良いのでしょうか
0921デフォルトの名無しさん
2011/02/17(木) 01:55:520922デフォルトの名無しさん
2011/02/17(木) 11:34:23みんな2.0ばっかりです
4.0には何か不具合があったりして避けているのでしょうか?
0923デフォルトの名無しさん
2011/02/17(木) 11:36:270924デフォルトの名無しさん
2011/02/17(木) 14:34:26てかXPで使うことも考えたら2.0で十分だし
0925デフォルトの名無しさん
2011/02/17(木) 14:54:180926デフォルトの名無しさん
2011/02/17(木) 15:53:25MEFなんか目立たないけど一応標準のDIコンテナということで画期的
0927デフォルトの名無しさん
2011/02/17(木) 16:04:07結局、昔と同じで高速化するには、CPUレベルの知識ないと無理というオチだったし。
0928デフォルトの名無しさん
2011/02/17(木) 16:11:10それぞれためしてみても違いがよくわからないのですが
Manualは自分が指定した位置に表示させ、CenterScreenは画面中央というのはわかるのですけど
ユーザーが窓を移動し、プログラムを終了して次回起動後には前回起動時の位置を記憶する方法をやりたいのですがどうやればいいのでしょうか
どうか教えてください、お願いいたします。
0929デフォルトの名無しさん
2011/02/17(木) 16:14:21パフォーマンスとか気にするんだったら正しい知識を持ってきちんと測定して調整するのは当たり前。
MSDNにも並列関係のドキュメントにはしつこいくらいに速くなるとは限らない測定しろと書いてある。
実際上でも適切な粒度で並列化できてれば速くなってるだろ。
>>928
ウインドウ 位置 保存 C#
0930デフォルトの名無しさん
2011/02/17(木) 16:52:45素早い回答ありがとうございます。
以下のHPで手順通りにやったのですがLocationの位置でしか起動できませんでした。
http://www.atmarkit.co.jp/fdotnet/dotnettips/438winsettings/winsettings.html
0931928
2011/02/17(木) 17:08:43イベントハンダラにFormClosingを追加し忘れていました
無事やろうとしていた事ができました、ありがとうございます!
0932デフォルトの名無しさん
2011/02/17(木) 17:20:20WebBrowser.Url = new Uri(file:///c:/test/test.htm#a001"); �@
のように指定してスクロールを制御したいのですが、
test.htmが変更されたときに、改めて�@を呼び出してもスクロールしません
(初回読込時は意図したとおりにスクロールします)
WebBrowser.Refresh(wb.Refresh(WebBrowserRefreshOption.Completely);
を呼び出しても同じでした
test.htmが変更されるたびにファイル名を変更して
WebBrowser.Url = new Uri(file:///c:/test/test003.htm#a001");
等にすれば意図したとおりの位置にスクロールするのですが、
もっとスマートなやり方はないでしょうか?
0933デフォルトの名無しさん
2011/02/17(木) 18:07:38高速に検索する方法はないでしょうか?
現在はノードを全部なめてtagを比較しています。
ノードのtagは重複していません。
treeview1.selectSingleNode(tag="hoge")
とかできるといいのですが・・・
0934デフォルトの名無しさん
2011/02/17(木) 18:41:160935デフォルトの名無しさん
2011/02/17(木) 19:10:18グループボックス使っても問題ないのかね?グループボックスの機能は全然必要ないんだけど。
それともピクチャボックスとラベルでやるべき?
0936デフォルトの名無しさん
2011/02/17(木) 19:20:01たぶんキャッシュ機能の関連でそうなるんだと思うんだけど
WebBrowserの制御の問題なのか以前ここかもう一つで見たんだけど
httpヘッダーの話なのかよくわからないのでそっち方面では対策してあられないけど
今思いついた即興としては
1.変更したtest.htmlを常に動的に新しいWebBrowserコンポーネントを作成して
コンテナへ貼り付けてBringToFrontするとか。前のWebBrowserは入れ替えた後破棄
2.ナビゲート後のDOMを解析してジャンプしたい場所を調べて自分で移動する
サンプルはここ http://cs2ch.blog123.fc2.com/blog-entry-83.html
0937デフォルトの名無しさん
2011/02/17(木) 19:20:14それいいですね
0938デフォルトの名無しさん
2011/02/17(木) 19:45:14C#, C♯, C#相談室 Part64
http://hibari.2ch.net/test/read.cgi/tech/1294734221/473
http://hibari.2ch.net/test/read.cgi/tech/1294734221/474
http://hibari.2ch.net/test/read.cgi/tech/1294734221/482
http://hibari.2ch.net/test/read.cgi/tech/1294734221/484
http://hibari.2ch.net/test/read.cgi/tech/1294734221/486
http://hibari.2ch.net/test/read.cgi/tech/1294734221/490
で、うまく行ったのか行かなかったのかなーんにも報告ないので使えるかどうか不明だけど
0939デフォルトの名無しさん
2011/02/17(木) 19:56:450940デフォルトの名無しさん
2011/02/17(木) 20:01:15よくわからんけど
http://msdn.microsoft.com/ja-jp/library/system.windows.forms.openfiledialog%28v=vs.80%29.aspx#Y612
ファイルが指定されてOKボタンを押したらStreamを返してるだけ
0941デフォルトの名無しさん
2011/02/17(木) 20:10:21参考になりそうな所ある?
0942デフォルトの名無しさん
2011/02/17(木) 20:44:37ありがとうございます。御飯食べてから詳しく見てみます
0943デフォルトの名無しさん
2011/02/17(木) 23:16:28シングルトンパターンなんだけど、同じ実装のインスタンスが複数欲しい時って
public sealed class Hoge
{
private static Hoge _foo = new Hoge();
public static Hoge Foo { get { return _foo; } }
private static Hoge _bar = new Hoge();
public static Hoge Bar { get { return _bar; } }
private static Hoge _baz = new Hoge();
public static Hoge Baz { get { return _baz; } }
public void Piyo()
{
}
}
みたいにしちゃっても良いんでしょうか
0944デフォルトの名無しさん
2011/02/17(木) 23:19:450945デフォルトの名無しさん
2011/02/17(木) 23:43:03それが悪いとは言わないが
0946デフォルトの名無しさん
2011/02/18(金) 01:40:32ありがとうございます
中身が"F0 F1 F2 F3 F4 F5 F6 F7"というファイルを開いたのですが
これをフォームアプリケーションの各ComboBoxに"240""241"などと
表示するにはどのようにすればすればよいのでしょうか?
0947デフォルトの名無しさん
2011/02/18(金) 01:42:560948デフォルトの名無しさん
2011/02/18(金) 01:45:32stringとして読み込むのならそれを一旦切り離してここを参考に
http://hiros-dot.net/CS2005/String/String16.htm
0949デフォルトの名無しさん
2011/02/18(金) 05:25:29フォームのコントロール内にコンソール画面の内容を表示させる事はできますか?
0950デフォルトの名無しさん
2011/02/18(金) 05:28:48http://dobon.net/vb/dotnet/process/standardoutput.html
0951デフォルトの名無しさん
2011/02/18(金) 05:45:35あ、なんとなくできそうです。有り難うございます。
0952デフォルトの名無しさん
2011/02/18(金) 07:15:11お前は黙ってろ
0953デフォルトの名無しさん
2011/02/18(金) 11:02:12C# 言語仕様は、次の場所から Microsoft Word 形式で入手できます。
●MSDN オンラインの Visual C# Developer Center
なんていうところで引っかかってここから先がわからん。URLくれくれ。
0954デフォルトの名無しさん
2011/02/18(金) 12:31:57やっぱりDictionary<string, List<string>>とかにするのが妥当ですか?
0955デフォルトの名無しさん
2011/02/18(金) 12:45:010956デフォルトの名無しさん
2011/02/18(金) 12:54:40どうやって書くのが一般的でしょうか?
class Point{
・・・
}
main()
{
Point temp = new[2, 2]; // ←全部要素メモリ確保してコンストラクタで初期化したい
}
0957デフォルトの名無しさん
2011/02/18(金) 13:10:00どうしても二次元配列使いたくなったら配列の配列使え
あと配列の領域を確保するのとオブジェクトの領域を確保するのとは別の行為だから
普通に別々に書け
0958デフォルトの名無しさん
2011/02/18(金) 13:17:23for (int x = 0; x < temp.GetLength(0); x++)
{
for (int y = 0; y < temp.GetLength(1); y++9
{
temp[x, y] = new Point();
}
}
こういうことと違うの?
0959デフォルトの名無しさん
2011/02/18(金) 13:18:37POINT [] _temp = Enumerable.Range(0, 2).Select(_ => new POINT()).ToArray();
これを多次元にする場合どういう書き方になります?
0960デフォルトの名無しさん
2011/02/18(金) 13:20:21そう、それなんですけど、>>959を使ったような簡略した書き方は無いのかなぁと。
2次元の場合はまだいいんですが、次元数が増えるとどういう書き方が一般的なんでしょうか?
0961デフォルトの名無しさん
2011/02/18(金) 13:33:26嫌味じゃなくてマジで
0962デフォルトの名無しさん
2011/02/18(金) 13:51:54Enumerable.Range(0, 2).Select(_=>Enumerable.Range(0, 2).Select(_=>new Point()))
で作れる
多次元配列ははっきり言って見放されてる。使いたいならCだと思って割り切って使え。
LINQとかC#らしい機能が使いたいなら多次元配列は捨てろ。
0963デフォルトの名無しさん
2011/02/18(金) 14:01:29なるほど、、、ご回答ありがとうございました。
多次元配列を捨てる理由っていうのは、LINQが使いにくくなるからとか
そういう理由からなんでしょうか?
0964デフォルトの名無しさん
2011/02/18(金) 14:18:07アンダースコアで使わない変数を表現するの初めて見たんだけど流行ってるの?
0965デフォルトの名無しさん
2011/02/18(金) 14:21:12多次元配列のためにLinqの構文乱されても割りに合わない
0966デフォルトの名無しさん
2011/02/18(金) 14:25:43正直C#を使い始めて日が浅いので、よく分かりません。
配列の初期化をするときに、ループで書いていたら、こういう方法があるって
教えてくれた人が使ってたのがアンダースコアだったのでそのまま使ってます。
>>965
なるほど、確かにLINQがすごく使いにくいなぁとは思ってました。
0967デフォルトの名無しさん
2011/02/18(金) 14:42:06Lookup<TKey, TElement>
ただしEnumerable.ToLookupでしか作れず読み取り専用
0968デフォルトの名無しさん
2011/02/18(金) 15:54:55流行ってるかは知らんけど
"x"よりも意味がないとコードで示すには"_"は適当じゃないか?
0969デフォルトの名無しさん
2011/02/18(金) 17:58:32その変数名は perl 出身の奴が
使いそうだな。
意味がないことをしめしたいなら
foo,bar が順当じゃないかな。
まあ、なんでもいいじゃんと
いう意見もあるだろうが・・・
0970デフォルトの名無しさん
2011/02/18(金) 18:07:06この場合は変数の存在自体に意味がないわけだからfoo,barは不適切でしょ
0971デフォルトの名無しさん
2011/02/18(金) 19:02:52ありがとうございます
テキストファイルでなくバイナリファイルなのですが
どうすればいいでしょうか
0972デフォルトの名無しさん
2011/02/18(金) 19:03:47関数型言語界隈の習慣じゃなかったっけ?
0974デフォルトの名無しさん
2011/02/18(金) 20:20:34結構メジャーだよ。
F#が"_"が値を捨てるという意味になってるので、.NETファミリー的には良い感じ。
Scalaだと.Select(_.hoge)みたいに書ける(=>を省ける)ので、
_をxの代用にする、という流儀の人もいるけど、そちらのほうがマイナーっぽい。
0975デフォルトの名無しさん
2011/02/18(金) 20:29:550976デフォルトの名無しさん
2011/02/18(金) 20:33:110977デフォルトの名無しさん
2011/02/18(金) 20:35:030978デフォルトの名無しさん
2011/02/18(金) 20:37:48VS2010でコンパイルしたいのですが発行でやるとsetup.exeのインストーラーでしかコンパイルできません。
アプリ単体のみでコンパイルしたいのですがどうやればいいのでしょうか?
ご教示お願いいたします。
0979デフォルトの名無しさん
2011/02/18(金) 20:39:27例外さんは間に合ってるよ
0980デフォルトの名無しさん
2011/02/18(金) 20:40:45特に設定弄らずにビルドしたらReleaseにできてないか?
0981デフォルトの名無しさん
2011/02/18(金) 20:42:49Releaseにあるものでよかったんですね
ありがとうございます、スレ汚し申し訳ありませんでした。
0982デフォルトの名無しさん
2011/02/18(金) 20:43:38リスト内包表記的なやり方で、別によくあることだと思うけど
0983デフォルトの名無しさん
2011/02/18(金) 21:46:51初期化関数をジェネリックスでも使って適当な次元分作っておくのが簡単かもね
0984デフォルトの名無しさん
2011/02/18(金) 22:33:090985デフォルトの名無しさん
2011/02/18(金) 22:40:35おすすめはしないが、無理やりやりたいなら自前で拡張メソッドを作る(笑
static class ArrayUtilExtensions {
public static T[,] ToArray2<T>(this IEnumerable<T> src1, IEnumerable<T> src2) {
IList<T> lst1 = src1 as IList<T>;
IList<T> lst2 = src2 as IList<T>;
if (lst1 == null) lst1 = new List<T>(src1);
if (lst2 == null) lst2 = new List<T>(src2);
var ln = Math.Max(lst1.Count, lst2.Count);
var t = new T[ln, 2];
for (var i = 0; i < ln; i++) {
if (lst1.Count > i) t[i, 0] = lst1[i];
if (lst2.Count > i) t[i, 1] = lst2[i];
}
return t;
}
}
Point [,] _temp = Enumerable.Range(0, 2).Select(_ => new Point()).ToArray2(Enumerable.Range(0, 2).Select(_ => new Point()));
0986デフォルトの名無しさん
2011/02/18(金) 22:41:330987デフォルトの名無しさん
2011/02/18(金) 23:13:150988デフォルトの名無しさん
2011/02/18(金) 23:19:170989デフォルトの名無しさん
2011/02/18(金) 23:21:100990デフォルトの名無しさん
2011/02/18(金) 23:22:45例外さんは呼んでないよ
0991デフォルトの名無しさん
2011/02/18(金) 23:39:45こういう事考えてる時点でなんか間違ってるような気もする
お前らは考えたこと無いのか?
0992デフォルトの名無しさん
2011/02/18(金) 23:49:12外から全部消したいなら、考え方が間違っている
0993デフォルトの名無しさん
2011/02/19(土) 01:22:130994デフォルトの名無しさん
2011/02/19(土) 01:44:31System.IO.Packaging.ZipPackage
これらは複数ファイルの圧縮に対応していない
http://dotnetzip.codeplex.com/
マイクロソフト が公開している DotNetZip。
こっち使うといい。ライセンス的にも。
0995デフォルトの名無しさん
2011/02/19(土) 01:50:360996デフォルトの名無しさん
2011/02/19(土) 01:53:580997デフォルトの名無しさん
2011/02/19(土) 02:07:22http://www.microsoft.com/downloads/en/details.aspx?FamilyID=DFBF523C-F98C-4804-AFBD-459E846B268E
0998デフォルトの名無しさん
2011/02/19(土) 03:18:320999デフォルトの名無しさん
2011/02/19(土) 03:22:361000デフォルトの名無しさん
2011/02/19(土) 03:30:1010011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。