ふらっとC#,C♯,C#(初心者用) Part68
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2011/01/13(木) 21:23:13「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。
ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からない場合など、勇気をもって書き込んでください。
内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。
なお、テンプレ2行目が読めない回答者は邪魔なので後述のC#相談室に移動して下さい。
>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっとC#,C♯,C#(初心者用) Part67
http://hibari.2ch.net/test/read.cgi/tech/1292491413/
■関連スレ
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/13(木) 21:48:44GCHandleType.PinnedでAllocしてるならGCHandle.AddrOfPinnedObjectとかでポインタ取れるから
Marshal.StructureToPtrなりなんなり
0003デフォルトの名無しさん
2011/01/13(木) 22:01:10sqlを書く時はStringよりStringBilderだよね
0004デフォルトの名無しさん
2011/01/13(木) 22:24:18次にイミュータブルでないこと
まぁでもたぶん君には関係ない
0005デフォルトの名無しさん
2011/01/13(木) 22:40:50SQLはStringに決まってんだろ。
where条件が可変個で動的にSQL文作るならStringBuilderだが。
0006デフォルトの名無しさん
2011/01/13(木) 23:36:11あんなすげぇの作れたらいいなぁ
0007デフォルトの名無しさん
2011/01/13(木) 23:37:570008デフォルトの名無しさん
2011/01/13(木) 23:40:31今一歩理解に苦しむ
0009デフォルトの名無しさん
2011/01/13(木) 23:48:06Kinect 対応した
無料
作れる人は作れるかな。
0010デフォルトの名無しさん
2011/01/13(木) 23:50:59Kinectで自分の動作で操作でいろいろできたりARしたりか
頑張ってるなぁ
0011デフォルトの名無しさん
2011/01/13(木) 23:52:51それが1万円台の価格で800万台以上売られたって部分が革命的かもしれない。
(※ただし日本での売り上げは800万台中4万台)
0012デフォルトの名無しさん
2011/01/13(木) 23:56:28ちょっと作って遊ぶにはいい感じかもね
あとは価格と手ごろさから介護とか医療のその辺に応用できたりしそうな感じ
手で触りたくないけどマニュアルページめくったりとか
0013デフォルトの名無しさん
2011/01/13(木) 23:57:52Kinect は使える
0014デフォルトの名無しさん
2011/01/14(金) 00:06:380015デフォルトの名無しさん
2011/01/14(金) 00:31:27同期通信を使ったルーチンをスレッド化するのでは、どちらがいいのでしょうか?
いまいちよくわかってないのですが、非同期処理と、同期処理+別スレッドの
それぞれ利点・欠点、違いを教えてください。
0016デフォルトの名無しさん
2011/01/14(金) 00:38:38非同期の方がいいよ。
.NET Framework の内部でいい具合に I/O 待ちスレッド制御してくれてるから。
ただ、書くのが楽なのは、現状、自前スレッドで同期処理。
まあ、それも、C# 5.0 で Task 非同期が入れば解消される問題。
0017デフォルトの名無しさん
2011/01/14(金) 08:15:10http://ideone.com/Jbe9t
0018デフォルトの名無しさん
2011/01/14(金) 08:59:54お前自身が地雷
0019デフォルトの名無しさん
2011/01/14(金) 09:45:53countのほうは
例外を出さずに無事実行できました!
ありがとうございました☆
DBNull.Valueなんですが、
INSERT INTO Id_Name (id,name)VALUES(DBNull.Value.ToString(),"A")
とやってみたのですが、例外が出ません><
idはPremary KEY + NOT NULLです。
書き方が間違ってますか??
Premary KEYの場合ってNOT NULL必要ない??
0020デフォルトの名無しさん
2011/01/14(金) 09:58:57あ、パラメータでセットしてなかったんだね
ごめん俺が嘘言ってた
0021デフォルトの名無しさん
2011/01/14(金) 10:02:31sqlite はPKでもNULL許可で、
しかもNULLのデータは重複登録できるので一意に管理したいならNOT NULLは必須じゃないかと思われます。
0022デフォルトの名無しさん
2011/01/14(金) 10:43:35パラメータでセットって
command.Parameters.Add(new SQLiteParameter("@id", DBNull.Value.ToString()"));
ってことですか???
>>21さん
ということはSQLiteはNOT NULL無視してるってことですか?
NULL許可したくないんですけど
他にやり方ってありますか?
0023デフォルトの名無しさん
2011/01/14(金) 10:58:10なるほど。
まだC#2.0で止まっている世界にいるので、簡潔さ重視でスレッド+同期を使おうと思います。
0024デフォルトの名無しさん
2011/01/14(金) 12:48:31どのようにすればよろしいでしょうか?
0025デフォルトの名無しさん
2011/01/14(金) 12:55:40not null制約自体は存在するだろ
単にprimary key制約には含まれないんだと割りきればええやんけ
0026デフォルトの名無しさん
2011/01/14(金) 13:07:35command.CommandText = "create table id_Name(id char NOT NULL primary Key, name char)";
ってやってるんですけど
それとは違いますか?
0027デフォルトの名無しさん
2011/01/14(金) 14:13:47デバッガの使い方はわかるか?
変数の値見ながら少しずつ進めれば、どこがおかしいかわかるだろう
0028デフォルトの名無しさん
2011/01/14(金) 14:26:07無事解決しました!
実は、ListViewで表示しているものを
DBに書き込んでいたのですが、
DBに書き込む前にListViewのアイテムで
NULL判定をしたところできました。
ご迷惑おかけしました><
ありがとうございました☆
0029デフォルトの名無しさん
2011/01/14(金) 14:26:35>command.Parameters.Add(new SQLiteParameter("@id", DBNull.Value.ToString()"));
ではなく
command.Parameters.Add(new SQLiteParameter("@id", DBNull.Value"));
じゃないでしょうか?
0030デフォルトの名無しさん
2011/01/14(金) 18:10:040031デフォルトの名無しさん
2011/01/14(金) 18:32:54どうぞ
つttp://www.atmarkit.co.jp/fdotnet/dotnettips/302wcget/wcget.html
0032777
2011/01/14(金) 19:56:54C#だけ使って、もっと速くする方法を教えてください
int[] pixel = img.GetPixel();
Bitmap bmp = new Bitmap(img.Width/*=2560*/, img.Height/*=2560*/, PixelFormat.Format32bppArgb);
BitmapData bd = bmp.LockBits(new Rectangle(0, 0, bmp.Width, bmp.Height), ImageLockMode.ReadWrite, bmp.PixelFormat);
fixed (int* p1 = pixel) {
int* p = (int*)bd.Scan0;
int nResidual = bd.Stride - bmp.Width * 4;
int* d1 = (int*)p1;
int x, y, w = bmp.Width, h = bmp.Height;
int min = 0, max = 512;
int colorMax = colorTable.Length - 1;
int val = 0;
for (y = 0; y < h; y++) {
for (x = 0; x < w; x++) {
val = (int)*d1++;
if (val < min) {
*p++ = colorTable[0];
}
else if (max < val) {
*p++ = colorTable[colorMax];
}
else {
*p++ = colorTable[val];
}
}
p += nResidual;
}
}
0033デフォルトの名無しさん
2011/01/14(金) 20:00:01*pとかってできたんだw
0034デフォルトの名無しさん
2011/01/14(金) 20:01:34その手のだったらほぼコア数倍になるよ
0035デフォルトの名無しさん
2011/01/14(金) 20:04:51colorTable配列になってますが、元々は毎回計算してました。
0036デフォルトの名無しさん
2011/01/14(金) 20:09:52シングルコアあたりの性能を僅かでもいいので上げたいのです。
0037デフォルトの名無しさん
2011/01/14(金) 20:10:542560x2560を一本の配列としてみるのであれば途中でぶった切って
>>34のいうようにスレッドで処理させてあとで結果を元に戻せばいいだけちゃう?
0038デフォルトの名無しさん
2011/01/14(金) 20:16:51変換してます。
512段階ではなく、実際は可変です。
あと、このルーチン自体が物凄い勢いでループします。
スレッドにするとスレッド生成・破棄のコストが大きいかなと考えていたりします。
あと、端末にはPentium4なんてのが生き残っていたり。
0039デフォルトの名無しさん
2011/01/14(金) 20:19:42解像度に関係なく画像のピクセルデータを1次元配列でみてるんだよね?
なんで二重ループなの?
最初に掛け算で縦横かけて総ピクセル数でループにした方が・・・
細かい話だけど
0040デフォルトの名無しさん
2011/01/14(金) 20:25:53ARGBまとめて数値として比較しても意味なくね?
0041デフォルトの名無しさん
2011/01/14(金) 20:26:05↓こいつが居るのです
int nResidual = bd.Stride - bmp.Width * 4;
0042デフォルトの名無しさん
2011/01/14(金) 20:28:05ARGBではなく独自の32bit値です。
それに色づけをしてグラフ?っぽく見せるものです。
0043デフォルトの名無しさん
2011/01/14(金) 20:28:05それループの外じゃないの?
0044デフォルトの名無しさん
2011/01/14(金) 20:28:59ループの中に居ます
p += nResidual;
0045デフォルトの名無しさん
2011/01/14(金) 20:31:480046デフォルトの名無しさん
2011/01/14(金) 20:51:05条件分岐ではなく、論理演算のみでやってみ。
0047デフォルトの名無しさん
2011/01/14(金) 20:51:450048デフォルトの名無しさん
2011/01/14(金) 20:52:07そのnResidualが常に0なら
その計算いらないしループを一つにできるのね
そうしたところでたいして速くはならなそうだけど
0049デフォルトの名無しさん
2011/01/14(金) 20:56:48http://www.k4.dion.ne.jp/~anis7742/codevault/00180.html
あとはマーシャルクラスだっけ?
あの辺使うしかないかもね
0050デフォルトの名無しさん
2011/01/14(金) 20:57:40for (y = 0; y < h; y++)
{
for (x = 0; x < w; x++)
{
val = (int)*d1++;
if (val < min)
{
*p++ = colorTable[0];
}
else if (max < val)
{
*p++ = colorTable[colorMax];
}
else
{
*p++ = colorTable[val];
}
}
p += nResidual;
}
0051デフォルトの名無しさん
2011/01/14(金) 20:58:27それ既にやってるだろ
0052デフォルトの名無しさん
2011/01/14(金) 21:03:00もしかしてC#ってポインタ遅い?
val = (int)*d1++;
0053デフォルトの名無しさん
2011/01/14(金) 21:07:21C++/CLIなんてものもあったなw
0054デフォルトの名無しさん
2011/01/14(金) 21:08:44ググったらこんなの有ったが
ttp://sgry.jp/pgarticles/cs_ptr_bench.html
あくまで個人サイトなので、
自分でパフォーマンス検証用のコード書いてみた方が良いと思うよ
0055デフォルトの名無しさん
2011/01/14(金) 21:17:450056デフォルトの名無しさん
2011/01/14(金) 22:00:49うーん、まったく逆の結果に…
0057デフォルトの名無しさん
2011/01/15(土) 04:31:40いっそCPUに処理させるという発想を捨てるのはどうだろう。
WPFにしてダブルバッファリングしたWriteableBitmapに監視スレッドから書き込んで(int[]に直接書ける)
出力時にシェーダで加工するのがマネージドコードでは最速だと思う。(ColorTableには1D/2Dテクスチャを使う)
さぁ、君もGPUの力を体感するんだ!
"C#だけ"じゃなくて、入門レベルのHLSLもちょっぴり使うけどね。
端末として生き残っているPen4 PCでShaderModel2.0が使えるのか。それだけが問題だ。(Intel GMA 900/2004年〜, GeForce FX/2002年〜)
0058伊藤
2011/01/15(土) 11:20:23PrintPreviewControlを配置しているのですが、プレビューが画面に入りきらずにスクロールバーが表示されている状態です。
ここで、マウスホイールで上下にスクロールできるようにしたいのですが、
方法が分かりません。
ご存知の方、教えていただけないでしょうか。
よろしくお願いいたします。
0059デフォルトの名無しさん
2011/01/15(土) 11:27:33コントロールが対応してればホイールでスクロールできる
もしくはMouseWheelイベント拾ってスクロール位置を移動させる
0060伊藤
2011/01/15(土) 11:56:45回答くださりありがとうございます。
「スクロール位置を移動させる」には、どのようにすればよいのでしょうか。
印刷する帳票はA4縦の単票なのですが、プレビュー上は上部しか表示されていないため、
ホイールで同ページ内のプレビューの下部へ移動したいと思っています。
お手数ですがよろしくお願いします。
0061伊藤
2011/01/15(土) 12:03:55たびたびすみません。
MouseEnterイベントにFocusメソッドを当ててみましたが、
Focusはされているようですが、PrintPreviewControl のスクロールはマウスホイールでできませんでした。
どのようにすればよいのでしょうか…。
0062デフォルトの名無しさん
2011/01/15(土) 12:22:070063デフォルトの名無しさん
2011/01/15(土) 12:25:50http://www.google.co.jp/search?hl=ja&q=printpreviewcontrol+%E3%82%B9%E3%82%AF%E3%83%AD%E3%83%BC%E3%83%AB
検索結果の一番上のページを隅から隅まで一字一句見逃さずに読め
0064デフォルトの名無しさん
2011/01/15(土) 13:30:37一応動くものを書いた
http://ideone.com/ZjL65
でも他にやりようがあると思うんだよな…
0065伊藤
2011/01/15(土) 14:03:26同一ページ内のプレビュースクロールができるかどうかが、気になっていました。
いただいたサイト、コーディングを参考に頑張ります。
0066デフォルトの名無しさん
2011/01/15(土) 14:57:040067デフォルトの名無しさん
2011/01/15(土) 15:44:200068デフォルトの名無しさん
2011/01/15(土) 15:52:270069デフォルトの名無しさん
2011/01/15(土) 16:12:020070デフォルトの名無しさん
2011/01/15(土) 16:24:56WinFormsでデザインが統一されてないのが根本だろ
スクロールバー出すならとりあえず標準の反応するようにしろよバカ
0071デフォルトの名無しさん
2011/01/15(土) 16:25:05今まで.NETに縛られた言語に過ぎないと勘違いしてたぜ
0072デフォルトの名無しさん
2011/01/15(土) 16:27:030073デフォルトの名無しさん
2011/01/15(土) 16:40:07WebBrowserコントロールで、以下の処理を実装したいのですが、可能ですか?
・exeやzip等のファイル(通常、ダウンロードダイアログが表示されるようなやつ)
のリンク等をクリックしてダウンロードが始まることを検出して、
・WebBrower標準のダウンロードダイアログを表示させず独自に実装した
ダウンロード処理を行わせる
・ダウンロードして保存したファイルのパスを取得する
可能でしたら、処理方法を教えてください。
ヒントだけでも結構ですのでよろしくお願いします。
0074デフォルトの名無しさん
2011/01/15(土) 16:50:25そこでe.Cancel = true;で標準の処理はキャンセルして
自前の方法でダウンロード
0075デフォルトの名無しさん
2011/01/15(土) 16:54:50ウィンドウスタイルで設定できるスクロールバーはいにしえの遺物なのでなんとも。
007673
2011/01/15(土) 17:18:31ありがとうございます。
ただ、ご教示いただいた方法では、
リンク元ページの読み込み時にもNavigatingイベントが発生し、
リンクをクリックしたNavigatingなのか否かを判別できません。
判別できる方法はないでしょうか?
※リンク先の拡張子が判れば拡張子で判別することもできるかと思いますが、
リンク先が /?name=hoge のようになっていてアクセスしないと
どんなファイルなのかわからないものの判別方法を知りたい次第なのです
0077デフォルトの名無しさん
2011/01/15(土) 19:10:370078デフォルトの名無しさん
2011/01/15(土) 19:54:08ごちゃごちゃしてるけど何か早いコードって
どっちがいいの?
0079デフォルトの名無しさん
2011/01/15(土) 19:54:14完璧に対応したければリクエスト投げて、レスポンスヘッダーのMIMEタイプ見るしかないんじゃない?
0080デフォルトの名無しさん
2011/01/15(土) 19:56:09スマートで、汎用的で、わかりやすいだろ
0081デフォルトの名無しさん
2011/01/15(土) 19:57:29フォーミュラーカーで獣道を走るか?
トラクターがサーキット走ってるか?お前の世界では
0082デフォルトの名無しさん
2011/01/15(土) 19:59:560083デフォルトの名無しさん
2011/01/15(土) 20:03:22P/Invoke じゃなくて、1つのアセンブリ中にネイティブと .NET 混在させれる唯一の言語よ。
008473
2011/01/15(土) 21:03:07>そういうのはサイトがわかると対策をかんがえやすいんだけどね
たとえばFirefoxのダウンロードページとかです(一例
http://mozilla.jp/firefox/download/
の「ここをクリック」のリンク先
http://download.mozilla.org/?product=firefox-3.6.13&os=win&lang=ja
>>79, 80
どうもです。
>>ALL
Firefoxのダウンロードページのような場合だと
たとえば具体的に皆さんだとどのような処理を書きますか?
0085デフォルトの名無しさん
2011/01/15(土) 21:19:26常識かもしれないんですけど…質問させてください
「〜は定義にありません」って表示されるやつは打ち込んでも意味がないんですか?
下らない質問すみません…
0086デフォルトの名無しさん
2011/01/15(土) 21:20:56ただFireFoxのサイトは新しくウィンドウ開いてそこでZIPのリソースにアクセスしているので
http://vsug.jp/tabid/63/forumid/45/threadid/9273/scope/posts/Default.aspx
の辺を見てWebBrowserを拡張しないといけません
無理なら寝ろ
0087デフォルトの名無しさん
2011/01/15(土) 21:22:53識別子(変数とか関数とかな)の名前間違ってるだけだと思うぞ
大文字小文字とか
でなければVB上がりでSharedをインスタンスから呼ぼうとしてるとか?
0088デフォルトの名無しさん
2011/01/15(土) 21:23:51WebBrowserのNavigatingイベントでイベントを拾って
e.Urlのアドレスに別途アクセスしてそのアドレスでアクセスする場合に
どういうデータを送ってくれるのかを調べるしかないかもね・・・
htmlならページ遷移なのでNavigatキャンセルしなくてもいいし
exeやzipだとダウンロードになるのでNavigatキャンセルしてダウンロード処理を始めればいいし
WebRequestとかで情報調べれたっけ?
0089デフォルトの名無しさん
2011/01/15(土) 21:30:48req.Method = "HEAD";
HttpWebResponse res = (HttpWebResponse)req.GetResponse();
Console.WriteLine(res.ContentType);
>application/x-gzip
そんな難しいもんでもあるめえ
009088
2011/01/15(土) 21:36:44http://ideone.com/Hgx0f
この辺はhtmlヘッダーを勉強してくれ
0091デフォルトの名無しさん
2011/01/15(土) 21:39:070093デフォルトの名無しさん
2011/01/15(土) 21:46:00すまねえ
0094デフォルトの名無しさん
2011/01/15(土) 22:35:06のようなURLを正規表現でマッチしてa,b,c,d,e...をそれぞれ取り出すにはどうすればいいですか?
0095デフォルトの名無しさん
2011/01/15(土) 22:45:43Uri.Segmentsとか
0096デフォルトの名無しさん
2011/01/15(土) 22:47:300097デフォルトの名無しさん
2011/01/15(土) 22:50:12これでURLを抽出して分解した方が簡単かな?
.netの正規表現はperl5互換なので本当は正規表現スレでperl5互換でどう書けば
いいか聞くほうがいいのかもね
0098デフォルトの名無しさん
2011/01/15(土) 23:06:56http://ideone.com/SD2P4
0099デフォルトの名無しさん
2011/01/16(日) 02:04:53コードを晒せばいいと思う。
多分以下のいずれかやっているのだろう?
・Windows の Form (ウィンドウ) を出すようなプログラム作っている
or
・自分でクラスを作る練習
多分 static 関連だろうと思うんだ。
変数・メソッドの宣言の所に static って入れたらエラーが出ないのでは?
010073
2011/01/16(日) 02:43:36ご丁寧な回答感謝です。
勉強になりました。
とりあえず標準のダウンロードダイアログを抑制して
実体のURL取得までできましたので、
このURLから次は実際のダウンロード処理部分を書いていきます。
自分でも調べながらやりますが、
親切な方、ヒントだけでもいただけるとうれしいです。
0101デフォルトの名無しさん
2011/01/16(日) 02:54:44NetworkStream→BinaryReader→バッファ→BinaryWriter→FileStream
って感じに
別にバッファ経由する必要ないけどキャンセルや進捗状況報告できるので普通はバッファ経由させる
0102デフォルトの名無しさん
2011/01/16(日) 03:18:16ダウンロード経過を表示したりしながらだったらこの辺を参考にすればいいよ
http://dobon.net/vb/dotnet/internet/downloadfile.html
0103デフォルトの名無しさん
2011/01/16(日) 03:44:44なんとかいい感じで絶対アドレスがわかるようになった
http://ideone.com/JqCs7
実行すると
http://tux.rainside.sk/mozilla/firefox/releases/3.6.13/win32/ja/Firefox Setup 3.6.13.exe
となるようだ
これで拡張子も正確にわかるな
0104デフォルトの名無しさん
2011/01/16(日) 10:16:45未定義どころか、余計に宣言してしまった変数まで「使用されませんでした」って教えてくれる。
IDEのおかげでほとんど素人の俺でも、ちょっとしたプログラムなら組めてしまう良い時代。
0105デフォルトの名無しさん
2011/01/16(日) 10:29:33メモ帳で C# 書いて、コマンドラインでコンパイルしてもちゃんと未使用変数の警告出るよ。
IDE が便利な点をしいて言うなら、その警告がリアルタイムに出ることか。
0106デフォルトの名無しさん
2011/01/16(日) 11:24:13どっちのメソッドを採用したほうがいいですか?
private void button1_Click(object sender, EventArgs e)
{
test test = new test();
label1.Text = test.tasuA(textBox1, textBox2);
label2.Text = test.tasuB(textBox1.Text, textBox2.Text);
}
---------------------------------------------------------------
public class test
{
public string tasuA(TextBox a, TextBox b)
{
string anser = a.Text + b.Text;
return anser;
}
public string tasuB(string a, string b)
{
string anser = a + b;
return anser;
}
}
0107デフォルトの名無しさん
2011/01/16(日) 11:28:16textboxのインスタンスを渡すのはどうかと・・・・
0108デフォルトの名無しさん
2011/01/16(日) 11:28:35間違ってたら教えろ
http://ideone.com/02FSl
0109デフォルトの名無しさん
2011/01/16(日) 11:29:230110デフォルトの名無しさん
2011/01/16(日) 11:31:08でも別にクラスライブラリ作ってるわけじゃないんでしょ?好きにしていい
0111デフォルトの名無しさん
2011/01/16(日) 11:31:09見る気しない
datをいじるより楽だろ
0112デフォルトの名無しさん
2011/01/16(日) 11:42:19ありがとうございます
>>一般論としてなら、引数は必要最小限のものを渡すべき
知りたかった理由そのもので大変参考になります
>>109
ありがとうございます
0114デフォルトの名無しさん
2011/01/16(日) 15:28:29C# には String と string とありますが(先頭が大文字小文字)
これの違いってなんでしょう?
またどのような場面で使い分けるのでしょうか?
0115デフォルトの名無しさん
2011/01/16(日) 15:31:31intとInt32
stringとString
同じ関係。
Int32のほうが実態。
小文字の方はエイリアス。
どちらもでいいよ、俺は主に小文字のほうを使ってるけど。
0116デフォルトの名無しさん
2011/01/16(日) 15:32:03C# のキーワード的には string。
で、これは実は略称みたいなもんで、その実体は .NET Framework 標準ライブラリの System.String。
前者はそれ単体でキーワードなんでどこででも書ける。
後者は実はフルネームは System.String なんで、using System; してないと String と書けない。
0118デフォルトの名無しさん
2011/01/16(日) 16:31:310119デフォルトの名無しさん
2011/01/16(日) 16:39:020120デフォルトの名無しさん
2011/01/16(日) 16:39:37統一感がない
0121デフォルトの名無しさん
2011/01/16(日) 16:47:14小文字は始まりは濃いブルーになって違いも一目瞭然なんでそっちがいいわ
0122デフォルトの名無しさん
2011/01/16(日) 17:03:19まあ、組み込み型は内部での扱いもかなり特別だし、ユーザー定義のクラスや構造体と揃える必要ないと思う。
0123デフォルトの名無しさん
2011/01/16(日) 17:06:28左側は小文字、右側は大文字にしちゃうわ。
0124デフォルトの名無しさん
2011/01/16(日) 17:06:380125デフォルトの名無しさん
2011/01/16(日) 19:53:35このふたつは特別でよいでしょ。
0126デフォルトの名無しさん
2011/01/16(日) 20:09:120127デフォルトの名無しさん
2011/01/16(日) 20:21:220128デフォルトの名無しさん
2011/01/16(日) 20:28:48それじゃあArrayListの存在意義って何よ
0129デフォルトの名無しさん
2011/01/16(日) 20:31:592.0以前までに必要だったから
ジェネリック実装でいらない子になっただけ
0130デフォルトの名無しさん
2011/01/16(日) 20:32:250131デフォルトの名無しさん
2011/01/16(日) 20:33:23過去の互換性
Silverlightや最新のCFでは削除された
0132デフォルトの名無しさん
2011/01/16(日) 20:33:350133デフォルトの名無しさん
2011/01/16(日) 20:33:520134デフォルトの名無しさん
2011/01/16(日) 20:34:510135デフォルトの名無しさん
2011/01/16(日) 20:36:460136デフォルトの名無しさん
2011/01/16(日) 20:38:49ほかにもToArrayがTypeを引数にとったりAddがint返したりRemoveがvoidだったり微妙にいろいろ違う
0137デフォルトの名無しさん
2011/01/16(日) 20:47:13あっちは空配列要求するけど
0138デフォルトの名無しさん
2011/01/16(日) 20:53:52.NETは最近の流れで基本的に継承やオーバーライドを制限しまくってるのに
コレクションだけJavaを模倣してる感じで異質だった
0139デフォルトの名無しさん
2011/01/16(日) 20:55:34そういうどこかで見た思想に汚染されてるのは仕方ないでしょ
0140デフォルトの名無しさん
2011/01/16(日) 21:52:330141デフォルトの名無しさん
2011/01/16(日) 23:03:25をこころみたのですがうまくいきません。
Complex クラス内に二つのメソッドを定義してみましたが、
どうやってもc4の値が変わりません。
public void copy1(Complex c1) { //asim
Console.Write("\nc1Re{0},c1Im{1},ThisRe{2},ThisIm{3}\n", c1.re, c1.im, this.re, this.im);
c1.re = this.re;
c1.im = this.im;
}
public static void copy2(Complex c1, Complex c2) {
c2.re = c1.re;
c2.im = c1.im;
}
// in main
Complex c3 = new Complex(33,3); // constructor 33+ 3i
Complex c4 = new Complex(44,4);
c3.copy1(c4);
Complex.copy2(c3,c4);
0142デフォルトの名無しさん
2011/01/16(日) 23:07:20あと、struct使ってる落ちとか?
0143デフォルトの名無しさん
2011/01/16(日) 23:08:31structを書き換えたら直りました
すいません。
0144デフォルトの名無しさん
2011/01/16(日) 23:11:05もちろんこんな内部書き換えるようなメソッドは無しで
0145デフォルトの名無しさん
2011/01/16(日) 23:13:39しかも奇怪な構造で
0146デフォルトの名無しさん
2011/01/16(日) 23:14:04>>144
今struct で書きなおしてます
ありがとうございました
0147デフォルトの名無しさん
2011/01/16(日) 23:17:37Guid guid = new Guid();
GCHandle handle = GCHandle.Alloc(guid, GCHandleType.Pinned);
IntPtr ptr = handle.AddrOfPinnedObject();
// ptrに書き込むP/Invoke呼び出し
Console.WriteLine(guid);
こんなくだらない事で悩んでしまった
0148デフォルトの名無しさん
2011/01/16(日) 23:19:060149デフォルトの名無しさん
2011/01/16(日) 23:22:45実は
object guid = new Guid();
〜略〜
Console.WriteLine(guid);
こうすると動くのよね。
どうにかして欲しい。
0150デフォルトの名無しさん
2011/01/16(日) 23:26:420151デフォルトの名無しさん
2011/01/16(日) 23:28:58そうする
0152デフォルトの名無しさん
2011/01/16(日) 23:33:51http://msdn.microsoft.com/en-us/library/aa372740%28v=VS.85%29.aspx
0153デフォルトの名無しさん
2011/01/17(月) 00:26:07visualC#を使っているのですが,
Form1のDataGridViewにある各セルの値をForm2のtextboxに表示したいのですが,どうすればいいでしょうか?
あいまいな質問ですみません><
DataGridViewの最後のセルに詳細表示ボタンを作り,ボタンを押すとForm2が表示されるようにしています.
From2を表示することまではできています.
0154デフォルトの名無しさん
2011/01/17(月) 00:28:580155デフォルトの名無しさん
2011/01/17(月) 00:38:47何かとはなんでしょうか?><
いろいろ調べてるのですが
例えば
ttp://dobon.net/vb/dotnet/form/accessanotherformdata.html
では,テキストボックスの値の受け渡しをしているようなのですが,
DataGridViewっぽくいろいろ変えているのですがうまくいきません.
また
ttp://vsug.jp/tabid/63/forumid/44/postid/8210/scope/posts/Default.aspx
では,やりたいことは一緒なのですが,よくわりません.
0156デフォルトの名無しさん
2011/01/17(月) 00:48:34Form2をShowで表示する場合はこんな感じでいける
http://ideone.com/afZV0
0157デフォルトの名無しさん
2011/01/17(月) 00:51:130158デフォルトの名無しさん
2011/01/17(月) 00:56:07面倒くさすぎで挫折しそうなんだが
0159デフォルトの名無しさん
2011/01/17(月) 01:00:34http://ideone.com/yTBxC
0160デフォルトの名無しさん
2011/01/17(月) 01:11:29いろいろ情報ありがとうございます.
参考にして頑張ってみます.
0161デフォルトの名無しさん
2011/01/17(月) 01:34:11動けばいいって言えばそれまでだが
0162デフォルトの名無しさん
2011/01/17(月) 03:14:54俺は全然使ってないけど
不快だと思ったら使わなければいいのに、なんで使い切ろうとするんだろうな?
どうしてこうマゾが多いのだろうか
0163デフォルトの名無しさん
2011/01/17(月) 09:45:56Listを使用して、同じカードがでないようになりました。
しかし、役判定でつまづいてしまいました。
Listを使用し、乱数を取得して、その乱数をc1、c2、c3、c4、c5に代入してそのカードを表示させます。
数字は1〜54の数字を取得していて、1〜13がクローバ、14〜26がダイヤ、27〜39がハート、40〜42がスペード、43、44にジョーカーの1、2として、取得した数字に対応したカードがでてきます。
その後、いらないカードを一回交換し、並び替えを行います。
1〜13はそのまま、14〜26は-13、27〜39は-26、40〜42は-39、ジョーカーは一番右にいくのでそのままにし、純粋に数字だけをみてc1がc2より大きかったら入れ替えをして、小さかったり、同じだったらそのままにします。それをc5まで繰り返します。
その後に役判定を行うのですが、マークと数字を見てるので、if文でやるととても長くなってしまいます。
また、ワンペアとジョーカーがある場合、スリーカードにしたいのですが見方によってはツーペアになってしまうかも知れません。
どうすればよいですか?
教えてください!
0164デフォルトの名無しさん
2011/01/17(月) 09:46:09その程度のことが面倒くさいと思うようならどうせユニットテストなんかやらないだろ?
じゃあMVVMなんか意味無いから普通に全部イベントハンドラで作ればいいよ
0165デフォルトの名無しさん
2011/01/17(月) 10:26:32class Card
{
Sweet Sweet { get; set; }
int Number { get; set; }
}
にでもしたら?
0166デフォルトの名無しさん
2011/01/17(月) 10:32:38大富豪なんでポーカーの参考になるかどうかわからないけど、一応:
http://ufcpp.net/study/csharp/source/Daifugou.zip
0167デフォルトの名無しさん
2011/01/17(月) 10:34:06Suiteな
スイートルームと同じ
0168デフォルトの名無しさん
2011/01/17(月) 11:37:20コードを書き始めたが時間切れで途中になってもた
興味ある人は続きを・・・
http://ideone.com/TU96i
0169デフォルトの名無しさん
2011/01/17(月) 11:38:140170デフォルトの名無しさん
2011/01/17(月) 12:24:56suitじゃない?
0171デフォルトの名無しさん
2011/01/17(月) 12:28:23「デリゲートがマネージ コードからガベージ コレクターによって収集されるのを手動で防ぐ必要があります。 ガベージ コレクターは、アンマネージ コードの参照を追跡しません。」
ということなのですが、これは具体的には、
GC.Collect();
を適当なプロセスで挿入すればいいのでしょうか?
0172デフォルトの名無しさん
2011/01/17(月) 12:48:080173デフォルトの名無しさん
2011/01/17(月) 12:55:480174デフォルトの名無しさん
2011/01/17(月) 13:14:02トランプのマークはスートだぞ
スイートじゃない
というかMarkで良いやん
0175デフォルトの名無しさん
2011/01/17(月) 13:27:15>1〜13はそのまま、14〜26は-13・・・
ジョーカーは別途処理として
number = card % 13;
suit = card / 13;
とするほうが楽
>その後に役判定を行う
隣り合う数字同士の差を元に判定する
4箇所で差1ならストレート(両端が1と13のときは差1にする)
連続する0の数でペア判定
>見方によってはツーペアになってしまうかも知れません。
役として強い方から見てけば問題ない
0176デフォルトの名無しさん
2011/01/17(月) 13:34:54強い順に役判定すればスリーカードがツーペアになることはないと思う。
数字ひとつに1ビット割り当てた約判定用数値を用意して
ビット演算するとコードを短くできるかもしれません。
Aとジョーカーが特殊なのでややこしいことに変わりはありませんが。
0177デフォルトの名無しさん
2011/01/17(月) 13:36:03http://ideone.com/tx4A6
・シャッフルしてない
・並べ替えしてない
・デバック用にメソッドをいくつか入れた
0178デフォルトの名無しさん
2011/01/17(月) 13:37:00なぜか
MarkとSuzyを選ぶだけ!
というCMを思い出した
0179デフォルトの名無しさん
2011/01/17(月) 13:44:42>>163は役判定の質問してるんだが
0180デフォルトの名無しさん
2011/01/17(月) 14:16:11ソースがでてこないしこうすればいいんじゃね?って日本語で
全部書くのもあれなので別にコードサンプルあってもいいんじゃね?
0181デフォルトの名無しさん
2011/01/17(月) 14:41:21一つの方法としては、static変数に入れればGCを防げる
でもよく理解しないでMarshalなんか使うと絶対にメモリリーク起こしたりエラーで死亡したりするから
どういう場合にどうして死亡するかわかるようになるまではMarshalなんか使っちゃダメ
0182デフォルトの名無しさん
2011/01/17(月) 14:43:14そのコードサンプルとやらに判定法が一切含まれていないんだよ
0183デフォルトの名無しさん
2011/01/17(月) 14:52:53話の土台がなければ判定コードは入れられないだろ
>>163のままだと全部作ってくださいって言ってるようなもんだよ
0184デフォルトの名無しさん
2011/01/17(月) 15:21:58カードクラスと5枚のカードを持つ手札クラスを用意して
手札クラスで役判定する関数があれば回答になるんじゃない?
ポーカーゲーム全部作る必要はないと思う。
0185デフォルトの名無しさん
2011/01/17(月) 16:20:52相手がどういうクラスを作ってるのかわからないに?
0186デフォルトの名無しさん
2011/01/17(月) 16:50:31ポーカーの判定部分のみ
http://ideone.com/MuyoO
やはりLINQは素晴らしい
あ、適当に作ったから間違いがないかちゃんとチェックしてね
0187デフォルトの名無しさん
2011/01/17(月) 17:11:39http://www1.axfc.net/uploader/Sc/so/195214.zip
0188デフォルトの名無しさん
2011/01/17(月) 17:15:230189デフォルトの名無しさん
2011/01/17(月) 17:26:47ジョーカーの判定がない件について
0190デフォルトの名無しさん
2011/01/17(月) 19:13:28http://www1.axfc.net/uploader/Sc/so/195245.zip
あとは自分でがんばれ
0191デフォルトの名無しさん
2011/01/17(月) 19:41:06CompareToですでにソートを使ってる場合に
別のソートっていけるのかな?
0192デフォルトの名無しさん
2011/01/17(月) 20:01:240193デフォルトの名無しさん
2011/01/17(月) 20:09:250194デフォルトの名無しさん
2011/01/17(月) 20:11:430195デフォルトの名無しさん
2011/01/17(月) 20:42:01やり方をご伝授願います。
0196デフォルトの名無しさん
2011/01/17(月) 20:59:450197デフォルトの名無しさん
2011/01/17(月) 21:04:32もう取り出してるじゃん
0198デフォルトの名無しさん
2011/01/17(月) 21:15:40初歩的な質問なのですが,
DataGridViewに表示させた文字をセルを指定して,そのセルの値を取り出すにはどうすればいいでしょうか?
0199デフォルトの名無しさん
2011/01/17(月) 21:21:04すいません。
その値の部分です。
0200デフォルトの名無しさん
2011/01/17(月) 21:24:04splitすればいいよ。
0201デフォルトの名無しさん
2011/01/17(月) 21:36:24var mc = Regex.Matches(uri.Query, @"([^?&=]+)=([^&=]*)");
var parameters = mc.Cast<Match>().ToDictionary(m => m.Groups[1].Value, m => m.Groups[2].Value);
Splitは美しくないから駄目だよ
Groupsのインデックスが美しくないから名前付けた方がいいかもしれん
あとURIデコードは知らん
0202デフォルトの名無しさん
2011/01/17(月) 21:41:36var x = "login=123&pass=123";
var dic = x.Split('&').Select(s => s.Split('=')).ToDictionary(p =>p[0], p => p[1]);
//var mat = Regex.Match(x, "login=(?'login'[^&]*)&pass=(?'pass'[^&]*)");
var login = dic["login"]; // mat.Groups["login"].Value;
var pass = dic["pass"]; // mat.Groups["pass"].Value;p
dicでもmatでも好きな方で
例外処理は自分で考えてね
0203デフォルトの名無しさん
2011/01/17(月) 21:42:310204デフォルトの名無しさん
2011/01/17(月) 21:43:040205デフォルトの名無しさん
2011/01/17(月) 21:59:40>>204
詳しく
0206デフォルトの名無しさん
2011/01/17(月) 22:13:40Console.WriteLine (uri.Query);
?がつくけどね
0207デフォルトの名無しさん
2011/01/17(月) 22:29:53http://www1.axfc.net/uploader/Sc/so/195317.zip
絵札だけはどうにもならん・・・
0208デフォルトの名無しさん
2011/01/17(月) 23:11:130209デフォルトの名無しさん
2011/01/17(月) 23:19:250210デフォルトの名無しさん
2011/01/17(月) 23:25:270211デフォルトの名無しさん
2011/01/17(月) 23:58:590212デフォルトの名無しさん
2011/01/18(火) 00:28:44ほとんど同じようなプログラムを去年の春かな。質問されたわ
0213デフォルトの名無しさん
2011/01/18(火) 00:48:120214デフォルトの名無しさん
2011/01/18(火) 01:04:140215デフォルトの名無しさん
2011/01/18(火) 01:16:180216デフォルトの名無しさん
2011/01/18(火) 01:19:35数字いれて
絵札は JQKでごまかして好きな絵でもかいとけ。
0217デフォルトの名無しさん
2011/01/18(火) 09:07:37新規の案件があってWinFormから移行するかどうか迷ってるんだが
0218デフォルトの名無しさん
2011/01/18(火) 10:04:11ごめん…
今高校生なんだ…
まあ、課題ではないけど成績に反映するからさ…
0219デフォルトの名無しさん
2011/01/18(火) 11:55:22もうちょっと考え抜いてから質問した方がいいんじゃね?
0220デフォルトの名無しさん
2011/01/18(火) 11:59:15関係ないおっさんが成りすましで書いてるのにマジレスとか
0221デフォルトの名無しさん
2011/01/18(火) 13:26:110222デフォルトの名無しさん
2011/01/18(火) 14:49:57文字列全体を弧に沿って曲げるようなレンダリングは可能でしょうか?
分かりやすくいうとスターバックスのロゴの文字のような感じです
0223デフォルトの名無しさん
2011/01/18(火) 14:55:230224デフォルトの名無しさん
2011/01/18(火) 17:41:200225デフォルトの名無しさん
2011/01/18(火) 17:46:080226デフォルトの名無しさん
2011/01/18(火) 19:49:11それは他の公理に比べて自明性は低く、
また明らかに冗長であったので、
いくつかの疑念を生ずることとなった。
こいつにタダ飯食わせるのは正しいのだろうか?
--------------------------------------------
0227デフォルトの名無しさん
2011/01/18(火) 20:37:450228デフォルトの名無しさん
2011/01/18(火) 21:50:34業務系のアプリって、あんまし会社の外に出て来ないから
普及してるかどうかは、正直何とも。
ASP.NETのフロントエンドを置き換える目的なら、SLは良いと思う。
WinFormsを置き換える目的なら、SLじゃなくWPF検討しといた方が多分幸せ。
SLはWinFormsやWPFに比べて、イベントがかなり削られてるから
色々苦労すると思うよ。
0229デフォルトの名無しさん
2011/01/19(水) 00:52:370230デフォルトの名無しさん
2011/01/19(水) 01:02:04XAML でできることは原理的には全部 C# でもできる。
Silverlight 標準の宣言的で、イベント駆動な UI じゃ遅い、
フレーム単位で、ビットマップ描画で絵を出したいとか
そういう要件の場合は↓こちらを。
http://writeablebitmapex.codeplex.com/
0231デフォルトの名無しさん
2011/01/19(水) 01:05:06WPFでつかえる?
0232デフォルトの名無しさん
2011/01/19(水) 01:07:38WriteableBitmapの仕様がだいぶ違うんで、当人が両対応してなきゃ、そのままじゃ動かないと思う。
0233デフォルトの名無しさん
2011/01/19(水) 01:08:15ありがとうございます。
いろいろできるんですね
コンパクトと聞いてたので不安でしたがさすがFlashの替わりを目指すだけのことはありますね
0234デフォルトの名無しさん
2011/01/19(水) 01:33:090235デフォルトの名無しさん
2011/01/19(水) 01:52:270236デフォルトの名無しさん
2011/01/19(水) 10:13:55ttp://tsushima.2ch.at/s/news2ch118956.png
0237デフォルトの名無しさん
2011/01/19(水) 11:01:24で動作する部分でFormとかのUIいじろうと思ったらやっぱInvokeしないといけないの?
0238デフォルトの名無しさん
2011/01/19(水) 11:05:080239デフォルトの名無しさん
2011/01/19(水) 11:08:16Invokeの必要性があるかどうかを理解してるなら動かしてみればいいじゃん
UI部分をいじれればいらない、いじれない場合は居る
それだけだと思うよ
0240デフォルトの名無しさん
2011/01/19(水) 11:10:40サンクス
>>239
今ちょっと環境ないんだけど聞いてみたかったんだ
普通にスレッドと同じだと思えばいいのか・・・
0241デフォルトの名無しさん
2011/01/19(水) 11:28:07実体はスレッドプール。
デリゲートのBeginInvokeしたときと挙動一緒。
0242デフォルトの名無しさん
2011/01/19(水) 11:51:55ありがとうございます。
なるほど、効率の良くなって小細工できるスレッドプールのようなものですね。
0243デフォルトの名無しさん
2011/01/19(水) 19:09:47の「0.b7ab7b_r21_ad1」が変更されるのですが、設定で固定させる事は可能ですか?
0244デフォルトの名無しさん
2011/01/19(水) 19:09:550245デフォルトの名無しさん
2011/01/19(水) 19:11:08http://ideone.com/4mKE4
↑のように左上を原点ではなく、文字(文字列)の中央付近を原点に
その場で回転させたいのですがどうすればいいでしょうか?
0246デフォルトの名無しさん
2011/01/19(水) 19:17:510247デフォルトの名無しさん
2011/01/19(水) 19:23:41それが何の文字列かぐらいは書かないと意味不明
たぶんウィンドウクラスだろうけど、無理
0248デフォルトの名無しさん
2011/01/19(水) 19:28:17ありがとうございます
回転軸を変えることができました
http://ideone.com/NNm6n
0249デフォルトの名無しさん
2011/01/19(水) 21:05:31これを変更するにはどうしたらいいでしょうか?
0250デフォルトの名無しさん
2011/01/19(水) 21:10:470251デフォルトの名無しさん
2011/01/19(水) 21:23:04ソリューションエクスプローラーのツリーのところで
Form1.csの名称を変えると「参照を全部変更しますか?」って聞いてくるので
はいを選ぶと全部変えてくれる
0252デフォルトの名無しさん
2011/01/19(水) 21:23:180253デフォルトの名無しさん
2011/01/19(水) 21:38:35無理です
0254デフォルトの名無しさん
2011/01/19(水) 21:43:17>>251の方法でIDEが関連をすべて変更してくれるんだし
それほどの労力かね・・・?
0255デフォルトの名無しさん
2011/01/19(水) 22:05:43VBでいちいちModifireをPrivateに直すのが面倒臭い
0256デフォルトの名無しさん
2011/01/19(水) 22:11:020257デフォルトの名無しさん
2011/01/19(水) 22:53:16気にするだけ無駄
0258デフォルトの名無しさん
2011/01/19(水) 22:54:170259デフォルトの名無しさん
2011/01/19(水) 23:02:280260デフォルトの名無しさん
2011/01/19(水) 23:05:11でも、プロジェクトをクラスライブラリにすると、クラスのデフォルトはパブリック
理由はわからないでもないがどうなんだろうな?
0261デフォルトの名無しさん
2011/01/19(水) 23:10:460262デフォルトの名無しさん
2011/01/19(水) 23:42:190263デフォルトの名無しさん
2011/01/19(水) 23:51:250264デフォルトの名無しさん
2011/01/20(木) 00:56:12http://msdn.microsoft.com/ja-jp/library/system.web.script.serialization.javascriptserializer.aspx
これを使いたいのですが、System.Web.Extensions.dllを参照に追加しないといけないと聞きました。
「参照の追加」のウィンドウまではいったのですが、ここからがわかりません。
ここからどうしたらいいか、わかる方お願いします。
0265デフォルトの名無しさん
2011/01/20(木) 01:48:59自己解決しました
0266デフォルトの名無しさん
2011/01/20(木) 06:33:490267デフォルトの名無しさん
2011/01/20(木) 07:53:510268デフォルトの名無しさん
2011/01/20(木) 11:21:51C++からC#に移植した単純にループ&intの代入を繰り返すだけの簡単なコードが遅くて使いものになりません。
0269デフォルトの名無しさん
2011/01/20(木) 11:26:29コードがしょぼいという発想は無い?
0270デフォルトの名無しさん
2011/01/20(木) 11:28:250271デフォルトの名無しさん
2011/01/20(木) 12:01:010272デフォルトの名無しさん
2011/01/20(木) 12:07:480273デフォルトの名無しさん
2011/01/20(木) 12:15:13起動にかかる時間も含めて言ってるんじゃない?
言ってるとしたらただのアホだが
0275デフォルトの名無しさん
2011/01/20(木) 13:04:340276デフォルトの名無しさん
2011/01/20(木) 13:27:210277デフォルトの名無しさん
2011/01/20(木) 13:37:230278デフォルトの名無しさん
2011/01/20(木) 13:41:18だからシェーダ使えって
アホみたいに早いぞ
0279デフォルトの名無しさん
2011/01/20(木) 13:43:480280デフォルトの名無しさん
2011/01/20(木) 13:45:36C#の存在価値を全否定するレスばかりだなw
0281デフォルトの名無しさん
2011/01/20(木) 13:46:28C#なんていらなかったんや
0282デフォルトの名無しさん
2011/01/20(木) 13:50:06速度欲しい部分だけC++/CLIで書いて残りはC#で書けばいいだろ
ネイティブDLLとか呼び出すよりマシだろうし・・・
0283デフォルトの名無しさん
2011/01/20(木) 13:54:540284デフォルトの名無しさん
2011/01/20(木) 13:59:09適切なハードなり言語なり選ぶとかできない本人が悪い
0285デフォルトの名無しさん
2011/01/20(木) 14:07:50部分的に使うって発想は無いのね
0286デフォルトの名無しさん
2011/01/20(木) 14:12:04C++じゃ>>32には遅くて使い物にならんだろw
0287デフォルトの名無しさん
2011/01/20(木) 14:22:370288デフォルトの名無しさん
2011/01/20(木) 14:32:13C#ってのはWindowsでもAndroidでもiPhoneでも動くからいいんじゃねーのか?
http://hibari.2ch.net/test/read.cgi/mac/1291602001/
0289デフォルトの名無しさん
2011/01/20(木) 14:33:470290デフォルトの名無しさん
2011/01/20(木) 14:35:400291デフォルトの名無しさん
2011/01/20(木) 14:42:34だからC#が遅くて使い物にならないなら、同様にC++も遅くて使い物にならんだろうと馬鹿にされてるのさ
まぁ、C++で書き直したら5%ぐらいの速度向上は見込めるんじゃないかな?
http://d.hatena.ne.jp/espresso3389/20101008/1286464729
0292デフォルトの名無しさん
2011/01/20(木) 14:45:31ヤスリで削るといいお
0293デフォルトの名無しさん
2011/01/20(木) 14:54:40PGによって書き方がバラバラすぎる。
オナニーで言語仕様を拡張するのは止めてくれ。
0294デフォルトの名無しさん
2011/01/20(木) 14:56:230295デフォルトの名無しさん
2011/01/20(木) 14:58:100296デフォルトの名無しさん
2011/01/20(木) 14:59:35C++は酷い・・・
0297デフォルトの名無しさん
2011/01/20(木) 15:11:05デリゲートとかLINQとかもうわけわからんぜ
0298デフォルトの名無しさん
2011/01/20(木) 15:14:000299デフォルトの名無しさん
2011/01/20(木) 15:14:510300デフォルトの名無しさん
2011/01/20(木) 15:17:450301デフォルトの名無しさん
2011/01/20(木) 15:18:03LINQは確かに必要な拡張かどうか悩むけど
0302デフォルトの名無しさん
2011/01/20(木) 15:33:05public class ParameterDispData
{
public DateTime DateInfo;
public string Comment;
}
こんな感じのデータのList<ParameterDispData>があって
Commentの中身に複数の条件を含むデータを取得したい
たとえば Commentに A Bのいづれかを含むデータ(条件の数は可変)
みたいな感じに
どうかけばいいのやら・・・
0303デフォルトの名無しさん
2011/01/20(木) 15:35:08C++で書こうが単一CPUの限界
>>302
list.Where(x => x.Comment == A || x.Comment == B)
0304デフォルトの名無しさん
2011/01/20(木) 15:46:15ありがとうございます。
でも実現したいのは
A B C
になったり
A C
になったり
A
だけったり
全く条件は無かったり
なんです
まぁ例えば検索エンジンの条件みたいなものと考えてもらえれば・・・
実際はデータのフィルタリングに使用するんですが・・・
ひとまず基本は
var list = from x in readDataList
//ここに動的な条件はいる
select new { x.DateInfo, x.Comment };
こんな感じです。
0305デフォルトの名無しさん
2011/01/20(木) 15:47:41join comment in comments on item.Comment equals comment
select item;
かな
list.Where(item => comments.Contains(item.Comment)
こっちの方がわかりやすいかも
0306デフォルトの名無しさん
2011/01/20(木) 16:03:440307デフォルトの名無しさん
2011/01/20(木) 16:15:42なんでJavaの悪口言ってるの?
0308デフォルトの名無しさん
2011/01/20(木) 16:18:360309デフォルトの名無しさん
2011/01/20(木) 16:19:51もちろん、使いまわせるところは使いまわすけど
0310デフォルトの名無しさん
2011/01/20(木) 16:31:51C#にこだわる発想が馬鹿だよな。適材適所って言葉も知らんのか。
C#はネイティブとマネージド、静的言語と動的言語、手続き型と関数型 ...これら全てを相互に結び付けるグルー言語だ。
0311デフォルトの名無しさん
2011/01/20(木) 16:37:17え? Javaの宣伝文句じゃん。
実際は、Write once, debug everywhereって言われたけどな。
0312デフォルトの名無しさん
2011/01/20(木) 16:39:12そうそう
だから「Write Once Run Anywhere!!!」って言ってもJavaへの皮肉にしかならんよね って話。
0313デフォルトの名無しさん
2011/01/20(木) 16:42:090314デフォルトの名無しさん
2011/01/20(木) 16:44:420315デフォルトの名無しさん
2011/01/20(木) 17:46:30動的に条件が増えるならLINQで書くよりも
IEnumerable<T> Filter<T>(IEnumerable<T> datas, IEnumerable<Func<T, bool>> filters) {
foreach (var d in datas) {
foreach (var f in filters) {
if (f(d)) {
yield return d; break;
}}}}
IEnumerable<T> Filter<T>(IEnumerable<T> datas, params Func<T, bool>[] filters) {
return Filter(datas, (IEnumerable<Func<T, bool>>)filters);
}
みたいなのを作っておいた方が拡張性がいい気がする
オーバーロードはなくてもいいけどあれば↓みたいな書き方ができる
Filter(list, p=>p.Comment.Contains("A"), p=>p.Comment.Contains("B"))
0316デフォルトの名無しさん
2011/01/20(木) 17:52:26正しい
0317315
2011/01/20(木) 17:53:01var q = from d in list
where filters.Any(f => f(d))
select d;
と思ったけどよく考えたらこれでいいな
0318デフォルトの名無しさん
2011/01/20(木) 18:26:170319デフォルトの名無しさん
2011/01/20(木) 18:38:000320デフォルトの名無しさん
2011/01/20(木) 18:41:41Whereで使えればいいのに
0321デフォルトの名無しさん
2011/01/20(木) 19:37:26ありがとうございます。
勉強になります。
ひとまず、Linqの勉強がてらだったんですが、結構奥が深そうで・・・・
0322デフォルトの名無しさん
2011/01/20(木) 20:14:520323デフォルトの名無しさん
2011/01/20(木) 20:52:40もっと、深く・・・
0324デフォルトの名無しさん
2011/01/20(木) 21:04:030325デフォルトの名無しさん
2011/01/20(木) 21:18:450326デフォルトの名無しさん
2011/01/20(木) 21:22:180327デフォルトの名無しさん
2011/01/20(木) 22:23:59やりたいことはfalseが返ってきたらその時点でHogeに戻りたい。
今は無理やりこんな感じでやってます。
if文が気持ち悪いので困ってます。
public void Hoge()
{
if( A && B){}
return;
}
private bool A()
{
return true;
}
private bool B()
{
return false;
}
0328デフォルトの名無しさん
2011/01/20(木) 22:31:210329デフォルトの名無しさん
2011/01/20(木) 22:36:52if(A) B;
とかじゃだめなんですか
0330デフォルトの名無しさん
2011/01/20(木) 22:39:350331デフォルトの名無しさん
2011/01/20(木) 22:43:42例ではbool値返すメソッドは二つですが
実際は沢山あります。
あと、bool値返すメソッドはエラーならfalseを返すという使い方を考えてます。
0332デフォルトの名無しさん
2011/01/20(木) 22:44:13ショートカット演算子で検索。
結論から言えば、もうそのコードで既に望みどおりの動作になってる
0333デフォルトの名無しさん
2011/01/20(木) 22:45:310334デフォルトの名無しさん
2011/01/20(木) 22:47:11気持ち悪いなら、メソッド名が悪いと思う。
0335デフォルトの名無しさん
2011/01/20(木) 22:51:22ちなみにコードは即席なので気にしないでください
ありがとうございました
0336デフォルトの名無しさん
2011/01/20(木) 22:56:03微妙すぎだな
0337デフォルトの名無しさん
2011/01/20(木) 23:02:50delegeteに追加して、途中で抜けれるとかならいいんですが・・・
0338デフォルトの名無しさん
2011/01/20(木) 23:08:110339デフォルトの名無しさん
2011/01/20(木) 23:09:460340デフォルトの名無しさん
2011/01/20(木) 23:31:19//中身は頑張って作れ
}
こんな感じで使えるはず
RunAnyway(A, B, C, D);
0341デフォルトの名無しさん
2011/01/20(木) 23:34:010342デフォルトの名無しさん
2011/01/20(木) 23:35:30>>315か>>317みたいな感じにしてみれば?
0343デフォルトの名無しさん
2011/01/20(木) 23:53:050344デフォルトの名無しさん
2011/01/21(金) 00:02:01なんか質問の主の質問とズレてる気もするし。(質問者が日本語不自由過ぎるのでそこは微妙だが)
0345デフォルトの名無しさん
2011/01/21(金) 00:15:280346デフォルトの名無しさん
2011/01/21(金) 02:31:14当然縦横も集計なのか明細なのか仕様もばらばらだが、if文だらけで千に届かんばかりの行数の関数
この手のものであるなら、最初から作り直したほうがいいと思うわ
0347デフォルトの名無しさん
2011/01/21(金) 02:32:500348デフォルトの名無しさん
2011/01/21(金) 02:34:20多少効率悪くなっても読みやすく重複の少ないコードがいいわ。
0349デフォルトの名無しさん
2011/01/21(金) 02:42:450350デフォルトの名無しさん
2011/01/21(金) 07:29:260351デフォルトの名無しさん
2011/01/21(金) 07:47:360352デフォルトの名無しさん
2011/01/21(金) 08:59:550353デフォルトの名無しさん
2011/01/21(金) 09:17:47あのようなメンバ関数を持たせる場合はどのように定義すればいいのでしょうか?
0354デフォルトの名無しさん
2011/01/21(金) 09:26:440355デフォルトの名無しさん
2011/01/21(金) 12:11:42ありがとうございます
0356デフォルトの名無しさん
2011/01/21(金) 15:14:09この間の修正版カード
http://www1.axfc.net/uploader/Sc/so/196550.zip
pass 無し
カードの著作権はフリーです。(フォントの著作権はよくわからん
0357デフォルトの名無しさん
2011/01/21(金) 17:08:100358デフォルトの名無しさん
2011/01/21(金) 17:13:11中身の絵柄は萌え系に変更させてもらうがな!!
0359デフォルトの名無しさん
2011/01/21(金) 17:27:44スレッドが3つあるとして、
スレッド1は 0,3,6・・・
スレッド2は 1,4,7・・・
スレッド3は 2,5,8・・・
に対してそれぞれ読み書きしたいんです。
既存のデータに対しての処理なので、そもそも設計が云々と言うのは無しでお願いします
0360デフォルトの名無しさん
2011/01/21(金) 17:30:42項目が別れてるならいいんじゃないの?
同じエリアをアクセスするとなるとヤバイだろうけど
0361デフォルトの名無しさん
2011/01/21(金) 19:46:31台湾Microsoft辺りで、色々素材出してくれるといいのにねー。
0362デフォルトの名無しさん
2011/01/21(金) 20:06:54デザイン時はリソース見に行かずに普通のアドレスとして解釈してエラー起こるんだが、皆どんな対応している?
普通に嵌ってしまったわ
0363デフォルトの名無しさん
2011/01/21(金) 20:13:15とか使ってもダメなのかね
0364デフォルトの名無しさん
2011/01/21(金) 20:34:39駄目でした、でも実行時にはちゃんとリソース持ってくるんだよね、Loadedに置いても
バージョンは4です
0365デフォルトの名無しさん
2011/01/21(金) 20:37:040366デフォルトの名無しさん
2011/01/21(金) 20:39:470367デフォルトの名無しさん
2011/01/21(金) 21:04:36大きいのも作れるけどw
0368デフォルトの名無しさん
2011/01/21(金) 21:10:47けどねw
0369デフォルトの名無しさん
2011/01/21(金) 21:27:05お前らちゃんと使えてる?
0370デフォルトの名無しさん
2011/01/21(金) 21:42:360371デフォルトの名無しさん
2011/01/21(金) 21:47:47ちょっとしたアプリでもデリゲートが使えないと困ることって出てきそうなだがどうなんだろ?
GUIのイベントとは別ね
0372デフォルトの名無しさん
2011/01/21(金) 21:49:250373デフォルトの名無しさん
2011/01/21(金) 21:52:010374デフォルトの名無しさん
2011/01/21(金) 21:58:05処理するとかやるのかなw
0375デフォルトの名無しさん
2011/01/21(金) 22:52:460376デフォルトの名無しさん
2011/01/21(金) 23:21:37分かってる奴は意味もなく問題視したりしないから迷わず使えばいいよ
さすがにUIを勝手に非同期化したりはしないが
0377デフォルトの名無しさん
2011/01/21(金) 23:31:26何やってるのかパッと見で把握できない
非常に困る
0378デフォルトの名無しさん
2011/01/21(金) 23:34:510379デフォルトの名無しさん
2011/01/22(土) 00:06:460380デフォルトの名無しさん
2011/01/22(土) 00:21:31というかLINQは前者の3つが分かってればそんなに難しくないでしょ
0381デフォルトの名無しさん
2011/01/22(土) 00:32:25何故?
0382デフォルトの名無しさん
2011/01/22(土) 00:42:19特にC++/CLI
・・・理解してなくてスマソ
0383デフォルトの名無しさん
2011/01/22(土) 01:00:39好みの問題かな
http://gushwell.ldblog.jp/archives/51740610.html
0384デフォルトの名無しさん
2011/01/22(土) 01:51:590385デフォルトの名無しさん
2011/01/22(土) 08:07:35マルチスレッドでフォームにアクセスするときに使うのはわかる。
0386デフォルトの名無しさん
2011/01/22(土) 08:17:10おすすめのサイトや書籍などありますか?
http://msdn.microsoft.com/ja-jp/library/dd492171.aspx
のような感じで、さらに複雑な例があるとうれしいです。
0387デフォルトの名無しさん
2011/01/22(土) 10:13:01C:\WINDOWS\system32\CARDS.dll を読み込んで
カード画像のリソース流用できない?
0388デフォルトの名無しさん
2011/01/22(土) 11:05:250389デフォルトの名無しさん
2011/01/22(土) 11:10:580391デフォルトの名無しさん
2011/01/22(土) 11:14:190392デフォルトの名無しさん
2011/01/22(土) 11:48:37男の言ったものも空の彼方へ消え、永遠に失われたのだ
0393デフォルトの名無しさん
2011/01/22(土) 11:49:250394デフォルトの名無しさん
2011/01/22(土) 12:45:59ポーカーの役判定を質問したものです。
ここまで作りました。
ここからの役判定をどうすればいいですか?
(途中まで書いてありますが無視してくれてかまいません)
http://www1.axfc.net/uploader/File/so/57396
0395デフォルトの名無しさん
2011/01/22(土) 12:49:14昔マイクロソフトの面接で10分ちょいで紙にコーディングさせられたわ。簡単だった
0396デフォルトの名無しさん
2011/01/22(土) 13:07:280397デフォルトの名無しさん
2011/01/22(土) 13:11:47リソースの画像の管理をもうちょっと整理しろw
0398デフォルトの名無しさん
2011/01/22(土) 13:49:54どうせコードレビューで叩かれてデリゲートの説明から入るとか、それなら他の方法取った方が楽と思ってしまう
0399デフォルトの名無しさん
2011/01/22(土) 13:54:11ポリモフィズム実装したい時に
0400デフォルトの名無しさん
2011/01/22(土) 14:08:10手をつけかけたけどあれこれ整理していくと元ソースとかけ離れそうで
その過程まで説明する羽目になりそうなで挫折・・・
ITエンジニアは効率や整理する能力は要らないのかな?
やっぱり老害にとってはコミュ力(笑)重視?w
効率とかどうでもいいんだよ!!ってこと?
0401デフォルトの名無しさん
2011/01/22(土) 14:13:45少々汚くても適切にメソッドが分割されてて外に影響しなければ問題ない
0402デフォルトの名無しさん
2011/01/22(土) 14:20:19dataGridView内の行をD&Dで任意の場所に簡単に並べ替えられるようにしたいのですが
一通り検索したやり方では上手く動作してくれませんでした。
また、こちらも苦戦中なのですがdataGridView外のForm1にあるチェックボックスでchecked時にリストの移動をできないという状態にもしたいのです。
こちらは前者のD&Dが実現してからでないと検証のしようがありませんでしょうが…
一応必要かと思われるプロパティ情報を記載しておきます。
・プロパティ
Name
└ "dataGridView1"
AllowDrop
└ "True" //D&Dを許可
SortMode
└ "NotSortable" //列ヘッダでソートしない
SelectionMode
└ "FullRowSelect" //行のみフォーカス
EditMode
└ "EditOnKeystrokeOrF2" //Key入力orF2押下で編集可
どうかご教示のほどよろしくお願いいたします。
0403デフォルトの名無しさん
2011/01/22(土) 14:40:52http://ideone.com/KWeSj
まーこの際配列化も覚えた方がいいな
配列にすればかなり短くなるコードなのにやたら大きくなってるし
同じようなコードが複数あるのもいただけない
まずはコードの整理をしてからだよw
card01()メソッドを参考に他のも直してみなよ
0404デフォルトの名無しさん
2011/01/22(土) 14:56:32そんなに無駄に長いコードを書く時間があるならまずC#のいろはを勉強しろといいたい
0405デフォルトの名無しさん
2011/01/22(土) 15:03:200406デフォルトの名無しさん
2011/01/22(土) 16:33:530407デフォルトの名無しさん
2011/01/22(土) 16:36:480408デフォルトの名無しさん
2011/01/22(土) 16:45:29メンバ関数の使い方もただコードが長くなるので分離したような感じだし
再利用可能な形に変えるとかさ
0409デフォルトの名無しさん
2011/01/22(土) 16:48:370410デフォルトの名無しさん
2011/01/22(土) 16:54:29嫌いとか好きの問題じゃないようなw
逐次制御なマシン上でプログラム組んでる以上はどうやっても分岐は必要になるんだし
ただあまりにも「プログラムをやり出したころの昔の自分のコード」を見てるようで
ちょっとワロタけどw
クラスとかの前にまずはメンバ関数を再利用可能にするとか配列化出きる物は
配列にまとめて簡単なコードにしちゃうとかさw
0411デフォルトの名無しさん
2011/01/22(土) 16:56:170412デフォルトの名無しさん
2011/01/22(土) 17:02:020413デフォルトの名無しさん
2011/01/22(土) 17:02:59配列とforをうまく使いましょう。
http://ideone.com/SwEAJ
あとメソッド(関数)の使い方をもっと工夫するべきだよ
cardexchange01からcardexchange05まで全部作るんじゃなくて
cardexchange一個作ってどのカードを変えるかはメソッドの引数で切り替えるみたいな感じで
0414デフォルトの名無しさん
2011/01/22(土) 17:06:52>あとメソッド(関数)の使い方をもっと工夫するべきだよ
>cardexchange01からcardexchange05まで全部作るんじゃなくて
>cardexchange一個作ってどのカードを変えるかはメソッドの引数で切り替えるみたいな感じで
その辺が上でも言ってる再利用だよ
今はグローバル変数をいじってるし関数名に番号が付いてるのはどれも
ただ処理を切り離しただけに見える
整理して再利用可能にすればもっとすっきりするがその辺を分かってる人が
いきなり全部やっちゃうと何をやったかさっぱりわからない可能性があるので
まずは>>403をやってみろ
0415デフォルトの名無しさん
2011/01/22(土) 17:25:00http://hato.2ch.net/test/read.cgi/news/1295633497/
139 名前: はずれ(東京都)[sage] 投稿日:2011/01/22(土) 17:12:51.80 ID:ufXMllHm0
システムエンジニア 生き残りの極意: 実はオブジェクト指向ってしっくりこないんです!
http://el.jibun.atmarkit.co.jp/minagawa/2010/04/post-ebc4.html
さっさと旧石器時代の老人は去れ
こんなのが生きていける業界=効率とは別のところに重きを置きすぎ
だからおかしくなる
0416デフォルトの名無しさん
2011/01/22(土) 17:36:21斬新過ぎるw
0417デフォルトの名無しさん
2011/01/22(土) 17:40:310418デフォルトの名無しさん
2011/01/22(土) 17:42:56うむ
コラム書くのは事実だが問題は「こんな痛い人がどうどうと発言できる権限を持ってる」事が異常なんだよなw
コミュ力(笑)重視
そりゃ沈むよ
0419デフォルトの名無しさん
2011/01/22(土) 17:44:03ミス
コラム書くのは自由だが
0420デフォルトの名無しさん
2011/01/22(土) 17:49:30「しっくりこないんです」は釣り定型句として永劫使われるとは思うけどw
0421デフォルトの名無しさん
2011/01/22(土) 17:51:55,i':r" `ミ;;,
彡 ミ;;;i
彡 ,,,,,、 ,,,,、、 ミ;;;!
,ゞi" ̄ フ‐! ̄~~|-ゞ,
ヾi `ー‐'、 ,ゝ--、' 〉;r' 「しっくりこないんです」
`,| / "ii" ヽ |ノ
't ←―→ )/イ
ヽ、 _,/ λ、
_,,ノ|、  ̄//// \、
_,,..r''''" | \`'/ /  ̄`''ー
| /\ /
|/)::::/\/
| ,r":::ヽ /
|i´:::::::::| /
0422デフォルトの名無しさん
2011/01/22(土) 17:57:020423デフォルトの名無しさん
2011/01/22(土) 17:57:260424デフォルトの名無しさん
2011/01/22(土) 18:04:040425デフォルトの名無しさん
2011/01/22(土) 18:06:140426デフォルトの名無しさん
2011/01/22(土) 18:35:380427デフォルトの名無しさん
2011/01/22(土) 18:42:51割と本人はオブジェクト指向に理解を示そうと努力してるみたいだぜww
叩かれた時からこのくらいの姿勢でいればいいのに
0428デフォルトの名無しさん
2011/01/22(土) 18:55:59>>394
のタイマーの動作のところいじってて気が付いたんだが・・・
0429デフォルトの名無しさん
2011/01/22(土) 18:58:010430デフォルトの名無しさん
2011/01/22(土) 18:58:42なんにせよ構造体なので0かnullしか入らないけど
0431デフォルトの名無しさん
2011/01/22(土) 19:06:450432デフォルトの名無しさん
2011/01/22(土) 19:08:13クラスとか構造体のメンバーは、明示しないと0クリアで保証されてる。
ローカル変数とかはそもそも未初期化利用不可。
0433デフォルトの名無しさん
2011/01/22(土) 19:09:29もうやめてあげて!おじいちゃんをいじめないで!
0434デフォルトの名無しさん
2011/01/22(土) 19:11:230435デフォルトの名無しさん
2011/01/22(土) 19:13:440436デフォルトの名無しさん
2011/01/22(土) 19:14:070437デフォルトの名無しさん
2011/01/22(土) 19:15:19そこは問題ないだろ
.netだとわりあてねーぞごら!!って言うし
0438デフォルトの名無しさん
2011/01/22(土) 19:52:550439デフォルトの名無しさん
2011/01/22(土) 19:56:53少なくともVB.Netでは使えるし、ループ内の変数を毎回初期化してないのが原因の不具合も見たことがあるが
0440デフォルトの名無しさん
2011/01/22(土) 19:59:28普通Onにするだろけどね、VB6上がりのおのぼりプログラマでなければ
0441デフォルトの名無しさん
2011/01/22(土) 20:01:54C#が恋しいよお
0442デフォルトの名無しさん
2011/01/22(土) 20:03:13初期化しなかったら自動で規定値に初期化されることになってたはず
0443デフォルトの名無しさん
2011/01/22(土) 20:05:40http://ideone.com/GOymD
にあるプログラムにMyCircleというクラスを追加して
ウインドウサイズを変更した際も表示が同じになるよう
にしたいのですがよくわかりません。
課題ではMyCircle型のコレクションクラス
に円を格納するクラスを作り、MyCircleクラスにメソッドDraw
を追加し、それを呼び出しすべての円を描くようDrawCirclesを
書き換えろという風になっているのですが、コレクションクラス
の配列を用意しそれを利用する方法ががよくわかりません。
お願いします。
0444デフォルトの名無しさん
2011/01/22(土) 20:07:40高校?大学?
0445デフォルトの名無しさん
2011/01/22(土) 20:09:160446デフォルトの名無しさん
2011/01/22(土) 20:10:00どう同じになればいいのかがわからない
0447デフォルトの名無しさん
2011/01/22(土) 20:42:20それを抜いた残りの仕様はこれでいいのかな?
http://ideone.com/745u8
0448デフォルトの名無しさん
2011/01/22(土) 20:58:41乱数に関してはこうした方がいいな
http://ideone.com/KFiWg
0449デフォルトの名無しさん
2011/01/22(土) 21:06:130450デフォルトの名無しさん
2011/01/22(土) 21:08:42では出来上がる画像に違いがあるかなあと
動かしてみればわかるよ
毎度ランダムのインスタンス作る方はばらつき感がイマイチ
0451デフォルトの名無しさん
2011/01/22(土) 21:43:33staticを理解していない人のコードを見ると、いちいちコンストラクタのパラメータで渡しているので笑ってしまう
0452デフォルトの名無しさん
2011/01/22(土) 21:51:43そのメソッドに関連する変数が複数あるならクラスのフィールド変数にした方がいいし
0453デフォルトの名無しさん
2011/01/22(土) 21:57:370454デフォルトの名無しさん
2011/01/22(土) 22:01:59そういうことじゃなくて
>>448のRandom _rnd;は
static Random _rnd = new Random();
でもいいよねっていうのを>>415-416の流れを踏まえつつ茶化してみただけなんだけど
わざわざ説明させんなよ
0455デフォルトの名無しさん
2011/01/22(土) 22:03:120456デフォルトの名無しさん
2011/01/22(土) 22:22:380457デフォルトの名無しさん
2011/01/22(土) 23:01:200458デフォルトの名無しさん
2011/01/22(土) 23:12:25間に合ってるよ
0459デフォルトの名無しさん
2011/01/22(土) 23:27:39これってたとえばFormのLoadの段階で一つ作って
Form1とかでインスタンスを管理してる場合は
Form1の配下で作るどこかのクラスでインスタンスを作った場合は
Loadイベントで作った物を共有することになるの?
0460デフォルトの名無しさん
2011/01/22(土) 23:29:010461デフォルトの名無しさん
2011/01/22(土) 23:30:41シングルトンはインスタンスをstatic変数にしてグローバルで共有してるだけ
つまりはグローバル変数
害悪もグローバル変数と同様だけど名前がかっこいいので誤魔化せる
0462デフォルトの名無しさん
2011/01/22(土) 23:33:38>グローバル変数
なるほど
でもこれって書き換えをしない情報の共有ならいいかもね
C#の標準の値クラスってどう実装してるのか気になってたけどこういう感じなのかな?
Pensとかいろいろあるじゃん
0463デフォルトの名無しさん
2011/01/22(土) 23:41:080464デフォルトの名無しさん
2011/01/23(日) 00:07:560465デフォルトの名無しさん
2011/01/23(日) 00:15:01生成にある程度コストがかかり、尚且つ参照範囲が広いもの…か
0466デフォルトの名無しさん
2011/01/23(日) 00:21:33シングルトンは本来、複数インスタンスを作ったら、そのクラスが仕様上正しく動作しないような場合に使うもの
そうではないけどアプリケーション全体で一つしかいらないような場合は、シングルトンにするのではなくて
static class SharedObjects { public static Hoge Hoge { get; } } みたいに持つべき
でも実際には安易にグローバル変数として使われるけど
0467デフォルトの名無しさん
2011/01/23(日) 00:27:45全体で一つしかいらないものをどうやって持つかは色々あるけど、それは別にして
シングルトンは本来グローバル変数を作るためのパターンじゃないということが言いたかっただけ。
0468デフォルトの名無しさん
2011/01/23(日) 00:31:30C#ではどう頑張ってもクラスメンバーにしかならないと思うんだけど
0469デフォルトの名無しさん
2011/01/23(日) 00:36:03ほんとの意味でグローバルなものみたいに名前衝突で困ることはないけども、
同時アクセスとかでははまる。
0470デフォルトの名無しさん
2011/01/23(日) 00:42:47テストしにくくなったり見通しが悪くなったり
0471デフォルトの名無しさん
2011/01/23(日) 00:46:39わかりやすく解説してくれているサイトとか知っていたら教えてくれませんか?
0472デフォルトの名無しさん
2011/01/23(日) 00:56:590473デフォルトの名無しさん
2011/01/23(日) 00:57:44http://ufcpp.net/study/csharp/oo_about.html
この辺りは?
0474デフォルトの名無しさん
2011/01/23(日) 00:58:41初心者向けの本やサイトが多い
0475デフォルトの名無しさん
2011/01/23(日) 01:00:19そのサイトはある程度理解している人が使うもんだと思っていたが。
0476デフォルトの名無しさん
2011/01/23(日) 01:12:230478デフォルトの名無しさん
2011/01/23(日) 01:27:32Object 型は 3 つの仮想メソッドを持ちます。
例えば
ToString
メソッドは、オブジェクトを文字列にするメソッドで、これをオーバーライドすることにより
Console.WriteLne(object)
に渡した時に表示する文字列を変更することが出来ます。
0479デフォルトの名無しさん
2011/01/23(日) 02:18:27デザインパターン本とか未だにJavaの方が充実しているよな
俺も結城さんの本からオブジェクト指向勉強した
0480デフォルトの名無しさん
2011/01/23(日) 02:32:570481デフォルトの名無しさん
2011/01/23(日) 02:45:010482デフォルトの名無しさん
2011/01/23(日) 02:51:00初心者にデザパタ
>>476にオーバーライド
0483デフォルトの名無しさん
2011/01/23(日) 02:51:460484デフォルトの名無しさん
2011/01/23(日) 02:56:55そんなことはない
0485デフォルトの名無しさん
2011/01/23(日) 03:00:48デリケートとイベントが登場して、こんなに簡単にできるようになるのかと驚いた物だよな
後デザパタの基本を知らないと、オーバーライドとかアブストラクトのありがたみも理解できないわ
0486デフォルトの名無しさん
2011/01/23(日) 03:04:29必要にならなければ儲け物だろう?無駄な機能ってことだからな
中二病よろしく何にでも存在意義を求めるのを止めなさい
0487デフォルトの名無しさん
2011/01/23(日) 03:14:130488デフォルトの名無しさん
2011/01/23(日) 03:26:37>必要になったら覚えればそれでいい
ここは同意できるが
>無駄な機能ってことだからな
ここは同意できない
使えなくても存在意義は把握しているべき
そうしないと本当に必要なときに必要だとわからない
>>487
C原語でもやってろ
0489デフォルトの名無しさん
2011/01/23(日) 03:34:240490デフォルトの名無しさん
2011/01/23(日) 03:41:320491デフォルトの名無しさん
2011/01/23(日) 03:41:440492デフォルトの名無しさん
2011/01/23(日) 03:49:420493デフォルトの名無しさん
2011/01/23(日) 03:53:350494デフォルトの名無しさん
2011/01/23(日) 03:58:290495デフォルトの名無しさん
2011/01/23(日) 04:09:15何十も全く違う扱いするとかあり得ない
0496デフォルトの名無しさん
2011/01/23(日) 04:15:560497デフォルトの名無しさん
2011/01/23(日) 04:23:300498デフォルトの名無しさん
2011/01/23(日) 04:31:20で、実装は似たクラスをコピペしてDBと列を弄るだけかぁ
0499デフォルトの名無しさん
2011/01/23(日) 04:34:200500デフォルトの名無しさん
2011/01/23(日) 04:34:42>>447 のプログラムなんですが、表示を円から三角形に改造すると
どんな感じになります?
0501デフォルトの名無しさん
2011/01/23(日) 04:40:350502デフォルトの名無しさん
2011/01/23(日) 11:33:260503デフォルトの名無しさん
2011/01/23(日) 11:42:590504デフォルトの名無しさん
2011/01/23(日) 12:05:29本来のインターフェイスの使い方からはちょっと外れる
0505デフォルトの名無しさん
2011/01/23(日) 12:09:28>ウインドウサイズを変更した際も表示が同じになるようにしたい
これって全部円が納まるエリアを計算してアス比とか調整して描画する必要があるってことかね?
その辺が気になって範囲を求めるロジック書いてたんだがこれより早くする方法はないだろうか?
これはテスト用なのでLineだけど
http://ideone.com/A7snI
0506デフォルトの名無しさん
2011/01/23(日) 12:12:260507デフォルトの名無しさん
2011/01/23(日) 12:30:24イメージとしてはコレクションに対するforeachのような感じです
0508デフォルトの名無しさん
2011/01/23(日) 12:36:47その用途ならディクショナリーでも検討してみたら?
0509デフォルトの名無しさん
2011/01/23(日) 12:45:36どういうこと?
0510デフォルトの名無しさん
2011/01/23(日) 12:48:08実際の実装クラスは多くの場合一つだけ
C++のヘッダに近い扱い
0511デフォルトの名無しさん
2011/01/23(日) 12:50:380512デフォルトの名無しさん
2011/01/23(日) 12:54:420513デフォルトの名無しさん
2011/01/23(日) 12:55:510514デフォルトの名無しさん
2011/01/23(日) 12:56:37そうしたいのは山々なんですが、既存システムとして多くの箇所で
構造体が使われてしまっているので、全てを直すのは難しいです
今のところは構造体にコレクションを返すメソッドでも個別に定義していくしかないかと
考えているのですが、別の手段があれば参考にしたいなと思って質問しました
0515デフォルトの名無しさん
2011/01/23(日) 13:00:04ガッツ石松じゃないんだから言葉は正確に使って欲しいよな
生Cじゃないんだからメンバーって言われても.....
0516デフォルトの名無しさん
2011/01/23(日) 13:00:19ディクショナリに変換するメソッドをあらかじめ自動生成してしまうのがいいと思う
リフレクションで舐めてプロパティの情報を取得して、C#のソースを機械的に吐くだけ
0517デフォルトの名無しさん
2011/01/23(日) 13:00:53速度とトレードオフなので十分に検討してくださいね
0518デフォルトの名無しさん
2011/01/23(日) 13:01:22>>502-504の流れがおかしいってことだろw
あとクラスの継承より委譲使った方がC#っぽいかもね
0519デフォルトの名無しさん
2011/01/23(日) 13:03:35メンバでもよくね?
http://msdn.microsoft.com/ja-jp/library/0taef578%28v=vs.80%29.aspx
> 構造体メンバを既定値に初期化する既定の(ry
0520デフォルトの名無しさん
2011/01/23(日) 13:08:05正式な規定は記憶の彼方だが、メンバーはパブリックでフィールドはプライベートって認識
プロテクテッドもメンバーかな?
0521デフォルトの名無しさん
2011/01/23(日) 13:09:49ありがとうございます
参考に致します
0522デフォルトの名無しさん
2011/01/23(日) 13:11:16プロパティ・フィールド・メソッド・イベントはその外側のクラスのメンバ
クラスやデリゲートなどを名前空間のメンバと呼ぶこともある
0523デフォルトの名無しさん
2011/01/23(日) 13:45:46実はインターフェイスの方がバージョニングに問題あるよ。
メソッド追加した時に、実装側の修正も必要になる。
抽象クラスなら、abstractじゃなくてvirtualにすれば派生クラス側の修正要らない。
あと、あんまりインターフェイスを分割しすぎるとロード時のパフォーマンスに問題出るみたい。
0524デフォルトの名無しさん
2011/01/23(日) 13:46:08Reflection.EmitとかLinq.Expressionsを使ってレビュアーを恐怖のどん底に落とそうぜ
0525デフォルトの名無しさん
2011/01/23(日) 13:52:37C#の仕様書(http://msdn.microsoft.com/ja-jp/library/ms228593.aspx)だと、
メンバー … メソッドとかプロパティとか定数とかフィールドとか全部
フィールド … C++で言うところのメンバー変数
になってる。
メンバーは、例えば、名前空間直下のクラスのことを指して「名前空間のメンバー」とかでも使ってる。
>>520
その文面、2008とか2010では削除されてるね。
0526デフォルトの名無しさん
2011/01/23(日) 13:57:17もう滅茶苦茶だなw
0527デフォルトの名無しさん
2011/01/23(日) 14:05:29既存はC#で作っているアプリがあります。
これをC++に直すメリットってありますか?
0528デフォルトの名無しさん
2011/01/23(日) 14:09:070529デフォルトの名無しさん
2011/01/23(日) 14:11:10公式のガイドラインでも可能ならインターフェイスより抽象クラス使えっていうのがあるけど
実際のところMSのC#製アプリは基本>>510スタイルだったりする
0530デフォルトの名無しさん
2011/01/23(日) 14:16:50いや、でも、Javaと比べるとさ、インターフェイス少ないと思うよ。
Stream クラスがインターフェイスじゃないとか、ReadとWrite分かれてないとか。
0531デフォルトの名無しさん
2011/01/23(日) 14:21:15これを改造すればなんとかなるかね?
http://ideone.com/IfYO8
0532デフォルトの名無しさん
2011/01/23(日) 14:37:20>>529はアプリケーションの話ね
Expression Blendとかそうだよ
クラスライブラリは本当に変更がきかないからもっと保守的
0533デフォルトの名無しさん
2011/01/23(日) 14:38:380534デフォルトの名無しさん
2011/01/23(日) 14:38:380535デフォルトの名無しさん
2011/01/23(日) 14:38:54どうやれば出来ますでしょうか?
現在自分で書いてみたのは
private void button9_Click(object sender, EventArgs e)
{
foreach (DataGridViewRow r in dataGridView1.Rows)
{
if (((string)Column5.TrueValue) == "1")
{
// チェック行をクリア
(ここが上手くいきません)
}
}
}
どなたかお助けお願いいたします
0536デフォルトの名無しさん
2011/01/23(日) 14:41:38とりあえずチェックされてるrowだけ別のリストに取り出して
Rows.Removeで消せ
0537535
2011/01/23(日) 14:55:07レスありがとうございます。
TrueValueを"1"と定義しているのでifで1になってる時、としたつもりでした
>チェックされてるrowだけ別のリストに取り出して
初心者なものですみません、DataTableで抽出ということであってますでしょうか?
0538デフォルトの名無しさん
2011/01/23(日) 14:56:49for(int i=dataGridView1.Rows.Count-1;i>=0;i--)
{
DataGridViewRow r = dataGridView1.Rows[i];
って感じ
0539デフォルトの名無しさん
2011/01/23(日) 15:04:000540デフォルトの名無しさん
2011/01/23(日) 15:11:37DataGridViewが出てくる時点でどうでもいい
どうせコントロールの操作に比べれば誤差
0541デフォルトの名無しさん
2011/01/23(日) 15:13:11ていせい
インデックスで回すんだからDictionaryじゃなくてListか
0542デフォルトの名無しさん
2011/01/23(日) 15:31:39要望にあってるかね?
http://ideone.com/hsEFS
0543デフォルトの名無しさん
2011/01/23(日) 15:39:56http://ideone.com/E3Ua3
0544535
2011/01/23(日) 16:35:40InvailidOperationExceptionはハンドルされませんでした。
コミットされていない新しい行を削除することはできません。
とエラーが出て、調べてみたところユーザーが行の追加可能にチェック入れてると出ると書いてあったので外してみましたが改善されませんでした。
C言語初めてまだ一ヶ月も経ってないのでいろいろと勉強不足ですね・・・
0545デフォルトの名無しさん
2011/01/23(日) 16:37:480546デフォルトの名無しさん
2011/01/23(日) 16:38:540547デフォルトの名無しさん
2011/01/23(日) 16:39:540548デフォルトの名無しさん
2011/01/23(日) 16:45:000549デフォルトの名無しさん
2011/01/23(日) 17:05:51string data1 = "[value1] value2";
と言う場合変数data1の[ ]の中だけ(value1を抜き出したい)の文字列を抜き出して、他の変数にコピーしたいんです
そういうメソッドはありませんか?よろしくお願いします
0550デフォルトの名無しさん
2011/01/23(日) 17:14:53String.Substring
http://msdn.microsoft.com/ja-jp/library/system.string.substring%28v=VS.100%29.aspx
使い方説明読んで自分で考えろ
0551デフォルトの名無しさん
2011/01/23(日) 17:18:52使い方は聞かれてないんで書かない
0552デフォルトの名無しさん
2011/01/23(日) 17:35:21http://ideone.com/B7WRr
0553デフォルトの名無しさん
2011/01/23(日) 17:36:500554デフォルトの名無しさん
2011/01/23(日) 17:41:580555デフォルトの名無しさん
2011/01/23(日) 17:42:390556デフォルトの名無しさん
2011/01/23(日) 17:44:130557デフォルトの名無しさん
2011/01/23(日) 17:48:080558デフォルトの名無しさん
2011/01/23(日) 17:56:24ちぃ覚えた
0559デフォルトの名無しさん
2011/01/23(日) 17:56:29>IOCCCとは「The International Obfuscated C Code Contest(国際邪悪なCコードコンテスト)」の略称。
>故意に読みづらいC言語のコードを書き、その汚さなどを競うというハッカーの奇祭である。
ワロチ
0560デフォルトの名無しさん
2011/01/23(日) 17:57:31熱いw
0561デフォルトの名無しさん
2011/01/23(日) 17:59:34なんかそれ汚くね?どうせ書くなら
\[[^]]*\]
だろ?
わざとかもしれんけど初心者スレだし念のため
0562デフォルトの名無しさん
2011/01/23(日) 18:04:14こうじゃないのか?
(\[)([^]]*)(\])
0563デフォルトの名無しさん
2011/01/23(日) 18:04:25凶悪だw
展開したくなるw
0564デフォルトの名無しさん
2011/01/23(日) 18:04:450565デフォルトの名無しさん
2011/01/23(日) 18:05:030566デフォルトの名無しさん
2011/01/23(日) 18:05:58俺はこっちのが好み。MS独自仕様っぽいけど
\[(?<str>[^]]*)\]
m.Groups["str"].Value
0567デフォルトの名無しさん
2011/01/23(日) 18:07:55独習なんかは言語仕様にしか触れないもんね
ほぼ全てのC#コンパイラがCLI、ひいては.NETを移植する形で実装されているのにさ
0568デフォルトの名無しさん
2011/01/23(日) 18:15:15全くの初心者が読んで分かるようなC#の本はないよ
こういう本から段階踏んでいくしかない
http://www.amazon.co.jp/dp/4822283151
0569デフォルトの名無しさん
2011/01/23(日) 18:15:49そうなんだ
http://ideone.com/jPRfr
一応>>562の実行ソース
0570デフォルトの名無しさん
2011/01/23(日) 18:24:520571デフォルトの名無しさん
2011/01/23(日) 18:28:06http://ideone.com/95sND
0572デフォルトの名無しさん
2011/01/23(日) 18:45:15>>549は[value1[nest1[nest2]]] value2だった場合
value1[nest1[nest2]]じゃなきゃだめかもしれないじゃないか
だからこうしないと
var r = new Regex(@"[^\[\]]*(((?'open'\[)[^\[\]]*)+((?'close-open'\])[^\[\]]*)+)*(?(open)(?!))");
var m = r.Match(data1).Groups["close"];
0573デフォルトの名無しさん
2011/01/23(日) 18:50:050574デフォルトの名無しさん
2011/01/23(日) 18:51:500575デフォルトの名無しさん
2011/01/23(日) 18:56:15これ知らなかったな
MSアホだからできないのだと思ってた
0576デフォルトの名無しさん
2011/01/23(日) 18:56:150577デフォルトの名無しさん
2011/01/23(日) 18:57:410578デフォルトの名無しさん
2011/01/23(日) 19:01:49すまねぇ俺が悪かった・・・だから>>575は許してやってくれ・・・
0579デフォルトの名無しさん
2011/01/23(日) 19:07:340580デフォルトの名無しさん
2011/01/23(日) 19:08:300581デフォルトの名無しさん
2011/01/23(日) 19:12:37正規表現の取り込み範囲バグとか想像しただけでうんざりだ
0582デフォルトの名無しさん
2011/01/23(日) 19:17:25↓ここまで俺の自演禁止
0583デフォルトの名無しさん
2011/01/23(日) 19:19:480584デフォルトの名無しさん
2011/01/23(日) 19:19:490585デフォルトの名無しさん
2011/01/23(日) 20:12:01これがIOCCCとか凶悪って。
現場でLinqを使えるようになるのはまだまだ先だな。
0586デフォルトの名無しさん
2011/01/23(日) 20:20:30ToArrayしてコンストラクターに渡せばいいやん
0587デフォルトの名無しさん
2011/01/23(日) 20:25:570588デフォルトの名無しさん
2011/01/23(日) 21:43:400589デフォルトの名無しさん
2011/01/23(日) 21:55:390590デフォルトの名無しさん
2011/01/23(日) 22:07:120591デフォルトの名無しさん
2011/01/23(日) 22:21:380592デフォルトの名無しさん
2011/01/23(日) 22:31:55多人数で保守できる文法じゃありません。
0593デフォルトの名無しさん
2011/01/23(日) 22:33:270594デフォルトの名無しさん
2011/01/23(日) 22:34:370595デフォルトの名無しさん
2011/01/23(日) 22:37:00学習に掛ける時間が取れない場合も有るかもだし。
(個人にだったら、 「もっと頑張れよ」 って言うけど)
酷い所だと、オブジェクト指向の採用すら出来なかったりするらしいからな…。
0596デフォルトの名無しさん
2011/01/23(日) 22:43:020597デフォルトの名無しさん
2011/01/23(日) 22:46:210598デフォルトの名無しさん
2011/01/23(日) 22:49:030599デフォルトの名無しさん
2011/01/23(日) 22:53:010600デフォルトの名無しさん
2011/01/23(日) 22:56:11Linqを理解できないレベルのひとは、おそらくそれ以外の部分の理解だってそうとう
怪しいレベルだと思うけど、まあ、使えちゃってるわけでしょ?
0601デフォルトの名無しさん
2011/01/23(日) 23:05:14あんまし関係無い話だけど、フィールドとかプロパティとかメソッドとかの命名規則ってどうしてる?
0602デフォルトの名無しさん
2011/01/23(日) 23:06:290603デフォルトの名無しさん
2011/01/23(日) 23:12:050604デフォルトの名無しさん
2011/01/23(日) 23:12:51・publicな要素はパスカル記法
・プレフィクスは用いない
・アンダーバーは用いない
だっけ?
0605デフォルトの名無しさん
2011/01/23(日) 23:14:560606デフォルトの名無しさん
2011/01/23(日) 23:16:17privateというか外から見えない部分については踏み込んでないし
再利用性を考える必要がないものについては規定してない>MSのガイドライン
0607デフォルトの名無しさん
2011/01/23(日) 23:16:400608デフォルトの名無しさん
2011/01/23(日) 23:18:53長らくDelphi使ってた頃の名残が。。
0609デフォルトの名無しさん
2011/01/23(日) 23:21:460610デフォルトの名無しさん
2011/01/23(日) 23:21:46ハンガリアンより効率が落ちる
0611デフォルトの名無しさん
2011/01/23(日) 23:22:31型か型じゃないか混同する場面は無いでしょw
0612デフォルトの名無しさん
2011/01/23(日) 23:25:05private string displayName;
public string DisplayName
{
get{ return (displayName);
}
こういう記法を辞めろって事?
0613デフォルトの名無しさん
2011/01/23(日) 23:27:30MSの人のかいたガイドラインの本
0614デフォルトの名無しさん
2011/01/23(日) 23:29:42MSではとくに統一されてなくてチームごとに違うっぽい
0615デフォルトの名無しさん
2011/01/23(日) 23:31:46return に括弧付ける意味が分からない。
0616デフォルトの名無しさん
2011/01/23(日) 23:32:20{
private string _displayName;
public string DisplayName
{
get { return (_displayName); }
}
public MyClass(string displayName)
{
_displayName = displayName;
}
}
>>612
引数をフィールドに代入する事も考えると、この方が好みかも
0617デフォルトの名無しさん
2011/01/23(日) 23:32:55この本でも、複数の意見を併記してたね。
0618デフォルトの名無しさん
2011/01/23(日) 23:36:53どうでもいいけど中古のほうが高いってどういうことだよ
0619デフォルトの名無しさん
2011/01/23(日) 23:37:260620デフォルトの名無しさん
2011/01/23(日) 23:39:35間違って押すのを狙ってんじゃね?
0621デフォルトの名無しさん
2011/01/23(日) 23:40:32おう、こんなんでPropertyChangedが発生しない不具合とか出来ても下らないから
あとprivate TypeName typeName;って命名もIntelliSenseが誤爆してウザい
>>619
System.Globalizationとかはパスカル記法だったと思う
0622デフォルトの名無しさん
2011/01/23(日) 23:40:330623デフォルトの名無しさん
2011/01/23(日) 23:41:08プロパティで自動実装できないものは仕方ないから_付けてる
0624デフォルトの名無しさん
2011/01/23(日) 23:42:01.netの中はこれが一番多いからこれにしてる
迷った時はリフレクション使ってのぞけばいいよ
オレオレ命名は癌
0625デフォルトの名無しさん
2011/01/23(日) 23:43:55色々なサンプルもこれ
prismなんかのフレームワークもこれなのに…
0626デフォルトの名無しさん
2011/01/23(日) 23:45:120627デフォルトの名無しさん
2011/01/23(日) 23:47:14自動実装プロパティと、自動実装じゃないプロパティが混在してるのが何となく嫌で
個人的には使わなくなった。
0628デフォルトの名無しさん
2011/01/23(日) 23:48:05アンダバー付けていいのかどうかを・・・・・
0629デフォルトの名無しさん
2011/01/23(日) 23:50:070630デフォルトの名無しさん
2011/01/23(日) 23:50:100631デフォルトの名無しさん
2011/01/23(日) 23:50:20自分は _camel と camel 混在してること多い。
あと、自動コード生成で作るコード限定で、
private T _Name = defaultValue;
public T Name { get; set; }
があったりも。生成元にNameとnameを書きたくないし、自動でcase変更するようなプログラム書くのも嫌だし。
0632デフォルトの名無しさん
2011/01/23(日) 23:51:17ところがどっこいMSのソースにあるんだよ
0633デフォルトの名無しさん
2011/01/23(日) 23:51:51Dictionaryのプライベートフィールドは_無しだったりするわけで、
プライベートのものはバラバラだから、
「普通は_を付けるはずだ!」とか思ってるなら、その認識のほうがよくないかと。
0634デフォルトの名無しさん
2011/01/23(日) 23:52:440635デフォルトの名無しさん
2011/01/23(日) 23:52:59クラス内からもプロパティやメソッド越しにアクセスしろ、だからあえて打ちにくい文字から始めるていう。
_ 付きのprivateフィールドを参照するのはコンストラクター内くらい。
0636デフォルトの名無しさん
2011/01/23(日) 23:54:11英語とは限らないわけで、大文字小文字があるとも限らない
0637デフォルトの名無しさん
2011/01/23(日) 23:54:470638デフォルトの名無しさん
2011/01/23(日) 23:57:38■再生
SpVoice spv = new SpVoice();
ISpeechObjectTokens voiceInfo;
voiceInfo = spv.GetVoices("", "");
spv.Voice = voiceInfo.Item(i);
SpeechVoiceSpeakFlags flg = SpeechVoiceSpeakFlags.SVSFIsXML |
SpeechVoiceSpeakFlags.SVSFlagsAsync |
SpeechVoiceSpeakFlags.SVSFPurgeBeforeSpeak;
spv.Speak(talkText, flg);
0639デフォルトの名無しさん
2011/01/23(日) 23:57:57まじ読みやすい。
0640デフォルトの名無しさん
2011/01/23(日) 23:58:14趣味のプログラムだとコメント書かなくても何とかなるから結構好きなんだが
0641デフォルトの名無しさん
2011/01/23(日) 23:58:210642デフォルトの名無しさん
2011/01/24(月) 00:00:160643デフォルトの名無しさん
2011/01/24(月) 00:00:180644デフォルトの名無しさん
2011/01/24(月) 00:02:210645デフォルトの名無しさん
2011/01/24(月) 00:03:08UpperCaseは使わない。
>>640
DataGridの列を、ItemsSourceをバインドするコレクションから自動生成させる時くらいかな。
滅多にやらない。
0646デフォルトの名無しさん
2011/01/24(月) 00:03:19もう日本語でいいだろって思うけど、あんまり賛成してもらったことはない。
0647デフォルトの名無しさん
2011/01/24(月) 00:03:530648デフォルトの名無しさん
2011/01/24(月) 00:05:030649デフォルトの名無しさん
2011/01/24(月) 00:06:05Googleの検索じゃもうそうなってんだからMSもがんばれ
0650デフォルトの名無しさん
2011/01/24(月) 00:06:130651デフォルトの名無しさん
2011/01/24(月) 00:09:320652デフォルトの名無しさん
2011/01/24(月) 00:09:44ハンガリアン日本語変数?
0653デフォルトの名無しさん
2011/01/24(月) 00:11:13区分をKBNって書くくらいなら日本語の変数名にしろと思う
0654デフォルトの名無しさん
2011/01/24(月) 00:12:09public class MyClass
{
private string _名称;
public string 名称
{
get { return _名称; }
}
public MyClass(string 名称)
{
_名称 = 名称;
}
}
書いてて思った。
半角/全角を一々切り替えるのが面倒。
後、大文字/小文字を分けられない都合で
プロパティ名と引数名が被るのが、ちょっと気持ち悪い。
(名前空間的には大丈夫なんだっけ?)
0655デフォルトの名無しさん
2011/01/24(月) 00:12:250656デフォルトの名無しさん
2011/01/24(月) 00:12:310657デフォルトの名無しさん
2011/01/24(月) 00:12:53俺ならKuBuN
3文字主義者は知らん
0658デフォルトの名無しさん
2011/01/24(月) 00:13:01あるコンストラクタの中で、
Aクラスのオブジェクトのリストを持つオブジェクトを、
Aクラスをフィールドとプロパティに持つwrapAクラスでラップすることはできますか?
文章下手だ…すんません
0659デフォルトの名無しさん
2011/01/24(月) 00:13:43セム語系っぽいw
0660デフォルトの名無しさん
2011/01/24(月) 00:13:58コードが読みにくかった。
使うなら要所要所でだな。
0661デフォルトの名無しさん
2011/01/24(月) 00:15:34何したいのか分からん
擬似コードで良いから書いてみたら?
0662デフォルトの名無しさん
2011/01/24(月) 00:15:390663デフォルトの名無しさん
2011/01/24(月) 00:28:40リストを持つオブジェクト.リスト.select(Aクラスのオブジェクト => new wrapA(Aクラスのオブジェクト));
0664デフォルトの名無しさん
2011/01/24(月) 00:28:54なんで切り替えキーをカスタマイズしないんだ?
普通に日本語のドキュメント書くときでも切り替えは頻繁だろう?
0665デフォルトの名無しさん
2011/01/24(月) 00:30:360666デフォルトの名無しさん
2011/01/24(月) 00:32:04↓
切り替えキーターン!
↓
文字打つ
↓
切り替えキーターン!
↓
ctrl+space
↓
やっと補完出てきた
ドット打って頭文字を打つ
↓
ctrl+space
↓
補完までスムーズ!
0667デフォルトの名無しさん
2011/01/24(月) 00:34:45伊藤さんの欠勤日数
っていう変数名がインテリセンスに出てくるようにするべきだと思う
0668デフォルトの名無しさん
2011/01/24(月) 00:35:100669デフォルトの名無しさん
2011/01/24(月) 00:36:320670デフォルトの名無しさん
2011/01/24(月) 00:37:090671デフォルトの名無しさん
2011/01/24(月) 00:39:27>>663
レスどうもです
VSにたよらんとコード書けないです…
えーと
まず
[メインクラス][著者クラス][著者の本クラス][著者ラップクラス][著者の本ラップクラス]があります
[メインクラス]が[著者クラス]をnewします
[著者の本]のリストをフィールドに持つ[著者クラス]は[著者の本]クラスをいくつかnewし、ます
(著者インスタンスが著者の本インスタンスを持ってる感じ)
で、
[メインクラス]において、[著者]インスタンスを、[著者の本]のリストをフィールドに持つ[著者ラップクラス]でラップしたいです
また、[著者の本クラス]は[著者の本]をフィールドに持つ[著者の本ラップクラス]でラップしたいです
ただし、著者の本のラップは[著者ラップクラス]のコンストラクタでラップしたいです
どうでしょうか…
これでだめならまた出直してきます…
0672デフォルトの名無しさん
2011/01/24(月) 00:40:27無変換キーでIMEOFFしてる
0673デフォルトの名無しさん
2011/01/24(月) 00:43:06なるほどね
スレチだがそのへんにESC割り当てればVimが快適になるな
0674デフォルトの名無しさん
2011/01/24(月) 00:44:490675デフォルトの名無しさん
2011/01/24(月) 00:46:30俺がいたw
俺は更にcapslockをescにしてるw
0676デフォルトの名無しさん
2011/01/24(月) 00:47:090677デフォルトの名無しさん
2011/01/24(月) 00:50:150678デフォルトの名無しさん
2011/01/24(月) 00:53:46そうしないと著者ラップクラスのコンストラクタでラップした著者の本ラップクラスがどこかへ消えてしまう
0679デフォルトの名無しさん
2011/01/24(月) 00:55:150680デフォルトの名無しさん
2011/01/24(月) 00:55:380681デフォルトの名無しさん
2011/01/24(月) 00:58:04そう言うときのためのファクトリパターン
0682デフォルトの名無しさん
2011/01/24(月) 00:59:43だからいじったやつに慣れると職場で余計にストレスたまるから
今使ってるやつもいじれない
0683デフォルトの名無しさん
2011/01/24(月) 01:06:06れすどうもです
ああなるほど
そうかもしれないです
一番の悩みは、リストに格納してある[著者の本]インスタンスを、コンストラクタ内(=メソッド使わない)で、リストではない[著者の本ラップクラス]でラップできるのか、という点だったのですが、もしかして見当違いだったんですかね…
ちょっと試してみます
また明日報告しますー
0684デフォルトの名無しさん
2011/01/24(月) 01:28:20これもバックグラウンドが透けないからや・・・
0685デフォルトの名無しさん
2011/01/24(月) 01:33:05>>443 の投稿なんですが説明不足でした。すいません。
http://ideone.com/GOymD のプログラムを実行すると円が大量に描かれるものの、ウィンドウサイズ変更していると、
円が不自然な形になってしまいます。
それを以下の段階を踏んで修正しろというのですが、
�@-1 プログラムから描写に必要な情報を考えて、円に対応するクラスMyCircleを作成せよ。
このクラスには適切なメンバ変数とコンストラクタを設定すること。
�@-2 プログラムの中のDrawCircleをよく読み、MyCircle型のコレクションクラスに
円に格納する関数を作成せよ。このメソッドはフォームのコンストラクタから呼び出しておくこと。
(System.Collection.Generic名前空間にあるListクラスを使用)
*使用例
List<MyCircle> a = new List a<MyCircle>
a.Add(new MyCircle)(/*コンストラクタ引数*/));
a.Add(new MyCircle)(/*コンストラクタ引数*/));
MyCircle x = a[10];
�@-3 プログラムの中のDrawCircleをよく読み、MyCircleクラスにグラフィックオブジェクトを引数にとって描写を行うメソッドDrawを追加。
また、Drawメソッドを呼び出してすべての円が描写できるようDrawCircleを書き直しなさい。
�A 完成した�@を改造し、三角形を描写できるようにする。
必要なのは�@-3の終了段階で完成するプログラムと、�Aのプログラムになります。
0686デフォルトの名無しさん
2011/01/24(月) 01:34:43WPFにいっちゃえよ
0687デフォルトの名無しさん
2011/01/24(月) 01:36:06これでも他の使うと結構ミスる。
0688デフォルトの名無しさん
2011/01/24(月) 01:36:42で一応模範解答ぽいのはでてるがいきなりあれこれ入れすぎソースかもしれないな・・・
0689デフォルトの名無しさん
2011/01/24(月) 01:39:09WPFってベクター系のお絵かきツールとか作りやすい?
0690デフォルトの名無しさん
2011/01/24(月) 01:39:12あんたのためを思っていってやってるんだからな
0691デフォルトの名無しさん
2011/01/24(月) 02:36:000692デフォルトの名無しさん
2011/01/24(月) 04:17:44中共を新中国と呼ぶのは反日サヨクだよ。「中共」は、中国大陸においては中国共産党の略称である。
一方、中国大陸の外においては、中華人民共和国が国家であることを認めない人々が
「(中国大陸を統治する)中国共産党政権」という意味の俗称として使っていた
(この意味による「中共」は、日中国交正常化前の日本社会で使われていたほか、
現在でも、国共内戦で中国大陸から台湾に渡った中国国民党などが使っている)。
また「新中国」は、主に日中の国交正常化前、つまり中華人民共和国建国後は
台湾島を含む一帯を統治している中華民国を日本政府が「中国を代表する正当な政府」としていた時代(1912〜2009)に、
中国共産党を支持する日本人が中華人民共和国を指して使っていたものである。
0693デフォルトの名無しさん
2011/01/24(月) 04:38:030694デフォルトの名無しさん
2011/01/24(月) 07:01:44SAPI5.1で再生中の音声をStopさせる方法を教えてください。
■再生
SpVoice spv = new SpVoice();
ISpeechObjectTokens voiceInfo;
voiceInfo = spv.GetVoices("", "");
spv.Voice = voiceInfo.Item(i);
SpeechVoiceSpeakFlags flg = SpeechVoiceSpeakFlags.SVSFIsXML |
SpeechVoiceSpeakFlags.SVSFlagsAsync |
SpeechVoiceSpeakFlags.SVSFPurgeBeforeSpeak;
spv.Speak(talkText, flg);
0695デフォルトの名無しさん
2011/01/24(月) 10:23:50せめてSystem.Speech使え
0696デフォルトの名無しさん
2011/01/24(月) 13:46:4864bitって超絶遅くなるものなの?
0697デフォルトの名無しさん
2011/01/24(月) 13:52:230698デフォルトの名無しさん
2011/01/24(月) 13:57:06やってみないとわからん
0699デフォルトの名無しさん
2011/01/24(月) 14:13:12x64は昔懐かしのセグメント方式(64KBオフセットを切り替えて1MB)を、
同様に32bit環境下でやって擬似的に64bitメモリ空間を作り出している、
なんちゃって64bit。
DOS時代と違ってセグメント切り替えがCPU内部で自動的に行われる
ので、プログラムは楽だが、セグメント切り替えが発生しない状況でも
勝手にCPUがアドレス計算するので劇的に遅くなる。
つまり、x64はIA64のような本物の64bitではないので、大量のメモリが
使える代償として、メモリアクセスが遅くなる諸刃の剣。
0700デフォルトの名無しさん
2011/01/24(月) 14:17:06この辺は補足しておいたほうがいいんじゃないの?
MSの宿命である互換性を重視しないといけないのでそんな変なモード使ってるって
たしかCPUそのものにはネイティブ64bitモードあったよね?
今のインテルって
・x86互換モード
・32bitモード
・64bitが数種類
0701デフォルトの名無しさん
2011/01/24(月) 14:21:08今のインテルやAMDのCPUって
というのが正しいか
http://ja.wikipedia.org/wiki/AMD64
ttp://tsushima.2ch.at/s/news2ch119892.png
0702デフォルトの名無しさん
2011/01/24(月) 14:26:32古の12bitCPUじゃないが
0703デフォルトの名無しさん
2011/01/24(月) 14:28:410704デフォルトの名無しさん
2011/01/24(月) 14:30:33AMD64ネイティブモードはレジスタ数2倍かつレジスタ幅2倍なので
64bit長の計算なんかは速くなるが、メモリ周りに関しては>>699の
ままなので遅くなる。
計算が複雑でメモリアクセスが少ない状況だとたぶん速くなるよー、
一般的なアプリは大体このパターンだし、ってのがAMD64。
0705デフォルトの名無しさん
2011/01/24(月) 14:40:140706デフォルトの名無しさん
2011/01/24(月) 14:42:37.NETアプリケーションでは64bitモードで動作できないってこと?
0707デフォルトの名無しさん
2011/01/24(月) 14:46:08.netは問題ないでしょ
AnyCPUなら実行時に勝手に判別
64bit指定でコンパイルしとけばOK
32bit指定でも互換モードで動く
ただ現状64bitやAnyCPU指定で64bitOS上で動かす場合は使う部品によっては問題ありだしな
たとえばブラウザコンポーネントを使ってFlash表示する場合は32bit指定でコンパイルしておかないと
実行時にこける(まだ64bit版Flashでてないよね?
0708デフォルトの名無しさん
2011/01/24(月) 14:50:05いや、そうじゃなくてx64では実際のメモリ幅が32bitらしい(>>699)ので
>>701の画像の表の64bitモードでは動作しないのかなと思った。
0709デフォルトの名無しさん
2011/01/24(月) 15:03:260710デフォルトの名無しさん
2011/01/24(月) 15:20:51まーこういうのはやってみないとわからないしねえ
勉強になったね♪ということでいいのでは?
0711デフォルトの名無しさん
2011/01/24(月) 15:44:28こいつのところにバグがあっても認めないので修正作業が前に進まないことが結構・・・・
0712デフォルトの名無しさん
2011/01/24(月) 16:07:020713デフォルトの名無しさん
2011/01/24(月) 16:52:010714デフォルトの名無しさん
2011/01/24(月) 17:04:110715デフォルトの名無しさん
2011/01/24(月) 17:12:09イメージ的にはこんな感じです。
こんな関数が定義されてて・・・。
void Hoge<T>() { /*型に応じて内部処理を変える*/ }
こんな感じで呼び出したい。
Type typeInt = typeof(int);
Hoge<typeInt>();
Type typeFloat = typeof(float);
Hoge<typeFloat>();
0716デフォルトの名無しさん
2011/01/24(月) 17:15:32この時点でジェネリックにする意味が崩壊してないか
0717デフォルトの名無しさん
2011/01/24(月) 17:25:25http://hibari.2ch.net/test/read.cgi/tech/1294734221/50-53
0718デフォルトの名無しさん
2011/01/24(月) 17:45:24C# でリソースにexeを追加してバイナリにして、それを実行・・・なんて
できるのでしょうか?
0719デフォルトの名無しさん
2011/01/24(月) 17:49:53中でtypeof(T)ってやってるんでしょ。
ジェネリックの実質的な意味は無いけど、戻り値がT型の場合は
利用者がダウンキャストしなくていいという点では意味があるので
実際.NETのライブラリでも使われてるパターン。
でもvoidだったら全く意味無し。最初からTypeを引数に取るべき。
>>718
ファイルに書き出してプロセスを起動するだけ
0720デフォルトの名無しさん
2011/01/24(月) 17:57:050721デフォルトの名無しさん
2011/01/24(月) 18:00:19できんじゃね?
プロジェクトを右クリック > 追加 > 既存の項目 > ファイル選択
追加したファイルのプロパティで“コンテンツ”を“埋め込まれたリソース“に変更
0722デフォルトの名無しさん
2011/01/24(月) 20:30:16自作のTypeConverter.CreateInstance()内で変更されたプロパティがどれか知りたい(All or Left,Top.Right.,Bottom)のです。
TypeConverter.GetProperties()内で値を保持すれば行けそうな気もするけど、正しいかどうかよくわからない。
どのようにすれば実現できるか諸先輩方々ご教授願います。
0723デフォルトの名無しさん
2011/01/24(月) 21:05:13ありがとう豚さん(´・ω・`)
0724デフォルトの名無しさん
2011/01/24(月) 22:38:25簡単なお絵かきツールを作っているのですがDrawLinesなどの引数は
Point[]なのでなるべくならList<>などからの変換を避けたいのですが・・・
0725デフォルトの名無しさん
2011/01/24(月) 22:41:480726デフォルトの名無しさん
2011/01/24(月) 22:43:40無理。List<T>.ToArrayでその都度変換するしかない。
DrawLinesにかかる時間とList<>→[]の変換にかかる時間の比ってどれくらいだと思う?
たぶん3桁くらいDrawLinesの方が時間かかるよ。
0727デフォルトの名無しさん
2011/01/24(月) 22:47:240728デフォルトの名無しさん
2011/01/24(月) 22:55:06なるほど
細かく分ければ増減時の負荷も減りそうなんで諦めます
ありがとうございました
0729デフォルトの名無しさん
2011/01/24(月) 23:07:49パフォーマンスを考えるときは一番時間がかかってるところだけが重要で
ほかはいくら非効率だろうが全く影響ない
0730デフォルトの名無しさん
2011/01/24(月) 23:44:520731デフォルトの名無しさん
2011/01/24(月) 23:47:36↓
Reflectorでも使ってDrawLinesをパクる
↓
DrawLines内部でpoints.Lengthを使ってる所を書き換える
変態になりたいならこれで
0732デフォルトの名無しさん
2011/01/24(月) 23:52:36FormBorderSty;e=FixedSingleのFormをタイトルバーだけ表示させる方法を教えてください
Size(0,0)指定だとクライアント領域が若干飛び出てしまい、美しくありませんでした
0733デフォルトの名無しさん
2011/01/25(火) 00:01:25x64はレジスタ自体は64bit幅だが、CPUキャッシュとメインメモリのやりとりが処理がクソ重いので、
CPUの各コアのキャッシュ内で収まるように並列化すればいい。
たとえば巨大な画像処理の場合だと、CPUキャッシュに収まるようにブロック化して、コア数だけ
並列で処理すればいいという事になる。
基本的にL1キャッシュを意識して組め。
0734デフォルトの名無しさん
2011/01/25(火) 00:05:10試してないけど、Regionでタイトルバーの部分だけ表示するようにするとか。
でもなんでそんなアホみたいなことしないのかなw
意味あると思えない
0735デフォルトの名無しさん
2011/01/25(火) 02:55:00箱庭プラットフォームで無茶言うな。
0736デフォルトの名無しさん
2011/01/25(火) 10:48:53WPFで時間を簡単に計測する手法はなんでしょうか?
WPFでTextBoxにユーザが値を入れたら、処理を開始するプログラムを作ろうとしてます。
で、TextBoxのTextChangedを使おうとしたんですが、これは一文字ごとにイベントがきます。
そこで入力がすんだら、処理を開始する、という風にしようかと思っていて、
最後のTextChangedから1〜2s待つという処理を作ろうと思ってます。
たしかWindowFormでは定期的に呼び出されるイベントがあった(ような)気がします。
そこでWindowのプロパティを眺めていたのですがそういうイベントがなさそうです。
別スレッドで回すしかないですか?(´・ω・`)
0737デフォルトの名無しさん
2011/01/25(火) 10:57:51DispatcherTimerてのを使います
0738デフォルトの名無しさん
2011/01/25(火) 11:13:21いけそうです。ありがとうございます。
0739デフォルトの名無しさん
2011/01/25(火) 13:37:52例えば
for (;;)
{
hoge += hogehoge;
}
の時
for(;;)
{
piyo();
}
void piyo()
{
hoge += hogehoge;
}
と比較して
0740デフォルトの名無しさん
2011/01/25(火) 13:40:44でも実際のところは処理内容にもよるけど誤差だと思うよ
0741デフォルトの名無しさん
2011/01/25(火) 13:41:410742デフォルトの名無しさん
2011/01/25(火) 13:43:32ミリ秒でパフォーマンス詰めていくと不利だって事ですね
ありがとう
0743デフォルトの名無しさん
2011/01/25(火) 13:45:05そう
むしろ速度を気にしすぎて可読性が悪くなのるのならダメだしねえ
今の時代可読性を犠牲にしてまで詰める必要があることがどれだけあることやら・・・
0744デフォルトの名無しさん
2011/01/25(火) 13:48:44マイクロ秒ナノ秒レベルの話
0745デフォルトの名無しさん
2011/01/25(火) 13:50:49そんなの詰めたところでWindowsで適当にサービス動いたりしただけでもうチャラになるし
0746デフォルトの名無しさん
2011/01/25(火) 13:52:001GHzって1msecで100万クロックという計算になる。で、そのオーバーヘッドがあったとしても数クロック分
0747デフォルトの名無しさん
2011/01/25(火) 13:52:240748デフォルトの名無しさん
2011/01/25(火) 13:53:34>1GHzって1msecで100万クロックという計算
桁ちゃいまっせ
0749デフォルトの名無しさん
2011/01/25(火) 13:56:29でもさ
動画のエンコードとかひたすら処理をするのなら大きいかもしれないが
GUIもからんで人間が行動起す->イベント発生してその関連の処理->人間の行動待ち
とかならそれこそ考えるだけ無駄だぜ
0750デフォルトの名無しさん
2011/01/25(火) 13:58:330751デフォルトの名無しさん
2011/01/25(火) 14:01:33インライン展開されないようなメソッドは、メソッドの中の処理自体が呼び出しコストより何桁も重い。
つまり考えるだけ時間の無駄。人間が頑張ってやるような事じゃないわ。
0752デフォルトの名無しさん
2011/01/25(火) 14:02:061000msec=1secでっせ
0753デフォルトの名無しさん
2011/01/25(火) 14:03:451GHzを1億Hzって読んでた
恥ずかしい
0754デフォルトの名無しさん
2011/01/25(火) 14:11:57超和む
マルチスレッドでなでなでしてあげたい
0755デフォルトの名無しさん
2011/01/25(火) 14:43:02とりあえず、Parallel.For?
0756デフォルトの名無しさん
2011/01/25(火) 17:19:54/// C#やりたい放題すぎワラタw
///
byte[] array = new byte[1024];
byte val;
fixed (byte* p = array) {
byte* q = p;
for (int i = 0; i < ary.Length; i++) {
num = *q++;
}
}
0757デフォルトの名無しさん
2011/01/25(火) 18:03:59ソケットの状態を取得するにはどうすればよいでしょうか?
0758デフォルトの名無しさん
2011/01/25(火) 19:20:030759デフォルトの名無しさん
2011/01/25(火) 19:39:07作ってあげますよ。
0760デフォルトの名無しさん
2011/01/25(火) 19:44:270761デフォルトの名無しさん
2011/01/25(火) 19:45:24core i7 CPUのdell製パソコン作って僕にください
0762デフォルトの名無しさん
2011/01/25(火) 19:54:55測ってみるとわかるがBuffer.BlockCopyとかArray.Copyとか使ったほうが
自分でポインタ触るより速いし安全
0763デフォルトの名無しさん
2011/01/25(火) 19:56:26じゃあ任意精度浮動小数点ライブラリを頼む
0764デフォルトの名無しさん
2011/01/25(火) 19:59:13じゃあVisualStudioレベルのGUIを簡単に作れるフレームワークを頼む
0765デフォルトの名無しさん
2011/01/25(火) 20:50:380766デフォルトの名無しさん
2011/01/25(火) 20:51:01それじゃあダメだ、オラもう自分でがんばるよ(’ω’)
0767デフォルトの名無しさん
2011/01/25(火) 21:21:59なんとなく矩形選択できるTextBoxが欲しい
あとIntelliSenseにも対応してほしいんで、構文解析器の基底クラスと
設定ファイルからパーサー自動生成するカスタムツールもよろしく
0768デフォルトの名無しさん
2011/01/25(火) 21:24:37>矩形選択できるTextBox
意味がわからん
秀丸のCTRL押しながらマウスで反転させると・・・ってのと一緒?
0769デフォルトの名無しさん
2011/01/25(火) 21:28:34>意味がわからん
いやそのままだろwww
0770デフォルトの名無しさん
2011/01/25(火) 21:33:160771デフォルトの名無しさん
2011/01/25(火) 21:37:430772デフォルトの名無しさん
2011/01/25(火) 21:46:140773デフォルトの名無しさん
2011/01/25(火) 21:48:15あなたも日本語が不自由でご苦労されたんですね
ここはあなたのような人が大勢いますから、安心して書き込んでくださいね
0774デフォルトの名無しさん
2011/01/25(火) 23:02:41無料環境でExpressしか選択肢がない人の場合はどのようにしてインストーラを作るのでしょうか?
0775デフォルトの名無しさん
2011/01/25(火) 23:06:38ClickOnceって機能で、インストーラーは作成できる
普通のインストーラーが好みならフリーのインストーラーが色々あるから試してみたらどうかな?
0776デフォルトの名無しさん
2011/01/25(火) 23:17:170777デフォルトの名無しさん
2011/01/25(火) 23:22:000778デフォルトの名無しさん
2011/01/25(火) 23:53:230779デフォルトの名無しさん
2011/01/26(水) 00:47:53ネイティブ(アンマネージド?)なDLLから提供される C++ のインターフェイスクラスを
C#から利用することは出来ますか?
COMみたいな感じだと思うのですが。
// C++DLLのインターフェイス
class IFoo{
virtual void __stdcall Method() =0;
virtual ~IFoo(){}
};
// IFoo*を取得するDLL関数
extern "C" __declspec(dllexport) IFoo* GetFoo();
// C#
[DllImport("foo.dll")]
extern static IFoo GetFoo();
// 実際の利用
IFoo f = GetFoo();
f.Method();
こんな感じの利用が可能なら、C#のIFooの定義方法とか教えてもらえると嬉しいです。
0780デフォルトの名無しさん
2011/01/26(水) 00:50:41C++/CLIでラップしましょう
0781デフォルトの名無しさん
2011/01/26(水) 00:59:370782デフォルトの名無しさん
2011/01/26(水) 09:27:020783デフォルトの名無しさん
2011/01/26(水) 09:41:12自分で作ったダイアログはコモンダイアログとはいわない
0784デフォルトの名無しさん
2011/01/26(水) 09:54:08OK押すと印籠が光り輝く
0785デフォルトの名無しさん
2011/01/26(水) 10:21:460786デフォルトの名無しさん
2011/01/26(水) 10:22:58肛門のローマ字読みを間違えたのかな?w
0787デフォルトの名無しさん
2011/01/26(水) 10:24:03∧__∧
(´∀` )
(⊃⌒*⌒⊂)
/__ノωヽ__)
0788デフォルトの名無しさん
2011/01/26(水) 10:24:35Koumon
Common
こういうことか・・・
ほんとだ!!半分以上一致してる
こりゃ間違いないなぁ
0789デフォルトの名無しさん
2011/01/26(水) 10:29:15この2つを一つのインストーラーで何とかするスマートなアイデア有りませんかね?
0790デフォルトの名無しさん
2011/01/26(水) 10:30:120791デフォルトの名無しさん
2011/01/26(水) 10:30:46名前同じなんですよ
0792デフォルトの名無しさん
2011/01/26(水) 10:33:380793デフォルトの名無しさん
2011/01/26(水) 10:33:49作り変えたりしないのならDLLを呼び出す前にDLLを単なるバイナリファイルとして読み込んで
サイズで比較とかチェックサムで比較とか
あとインストーラーがよくやるのはインストール前は別の拡張子にしておいて
インストールの段階で拡張子をターゲットに変更するとか
肛門ネタから一気に話が変わったな
0794デフォルトの名無しさん
2011/01/26(水) 10:43:52今のところ後者のやり方がベターなんですかね?今のところClickOnceのお手軽仕様を考えているから
起動直後にチェックしてリネームですかね。それか何か面白いフリーのインストーラーでもあったら
教えていた出ると有り難いです
元々08stdで作っていたんだが、wpf環境が破壊されてデバッグ不可になり、泣く泣く10exに変更したんでclickonceなんです
0795デフォルトの名無しさん
2011/01/26(水) 11:00:290796デフォルトの名無しさん
2011/01/26(水) 11:04:35netで調べてVSどころか.netまで入れ直してその他やっても復活できず
Win7 64だと簡単には直らないのかなぁ .net3.5標準装備だし
あ、3.5もちゃんと入れ直したんですけどね
0797デフォルトの名無しさん
2011/01/26(水) 11:08:250798デフォルトの名無しさん
2011/01/26(水) 11:14:30良く解らないけど、突然wpfのデザインビュー開くと固まるようになっちまった
2010にコンバートしたら10では問題ないんですがね
一応これに近いかと思って対策したが駄目でした
http://social.msdn.microsoft.com/Forums/ja-JP/vbexpressja/thread/03010ec1-61c6-4cff-92f3-fab50812819b
0799デフォルトの名無しさん
2011/01/26(水) 13:23:59まるでDLL開発側の仕様のように言うなよ。
OSの糞仕様なんだから。
0800デフォルトの名無しさん
2011/01/26(水) 13:31:28Blendを使うとBindingのプレビューや、MVVM向けのライブラリも付属してるから
WPFやるならBlendを使ってXAML側を編集するのがオススメ。
0801デフォルトの名無しさん
2011/01/26(水) 15:40:02C#やっている人、Windowsにべったりな気がしますが、
XKeyamcsってソフトがあります。EmacsのキーバインドをWindows 上で実現するソフトです。
---
http://www.cam.hi-ho.ne.jp/oishi/
---
このソフト、C#で作り直せるでしょうか?
0802デフォルトの名無しさん
2011/01/26(水) 15:40:42なぜかというと、.net 3.5 のクラスに"keybind"とかそんなのがあったから、どうかなと思いまして。
0803デフォルトの名無しさん
2011/01/26(水) 15:43:250804デフォルトの名無しさん
2011/01/26(水) 15:43:440805デフォルトの名無しさん
2011/01/26(水) 15:44:53http://visualstudiogallery.msdn.microsoft.com/09dc58c4-6f47-413a-9176-742be7463f92?SRC=VSIDE
0806デフォルトの名無しさん
2011/01/26(水) 15:49:33需要あるんだなぁ
0807デフォルトの名無しさん
2011/01/26(水) 15:52:02実現するとすれば
・アプリを常駐
・特定の実行ファイルを監視して起動してるようならフック
・入力があったらキーコードを偽装
こんなところかね?
キーボードフックならいっぱいありそうだが
0808デフォルトの名無しさん
2011/01/26(水) 16:44:46まあ、日曜プログラマーの底辺層なので、ライフワークでやってみます。
0809デフォルトの名無しさん
2011/01/26(水) 16:53:12林晴比古先生の書籍の"Visual C++ 2008 シニア編"でも読むかな…
0810デフォルトの名無しさん
2011/01/26(水) 16:57:24思い込み
テンプレートやリソースやアニメーションの編集機能はしょぼいけど、
VS2010のプレビューやバインディングデザイナはBlendのものと実際大差ない
0811デフォルトの名無しさん
2011/01/26(水) 17:03:59そうなのかなぁ。
同じフォームをVSだとエラーだけどBlendだと正常にプレビュー出来るって事が多々あるんだけど
これは俺のコードの書き方が悪いのかな。
0812デフォルトの名無しさん
2011/01/26(水) 17:05:09コードビハインドで落ちてるんじゃないの?
0813デフォルトの名無しさん
2011/01/26(水) 19:36:43コードビハインドは空っぽ・・・
0814デフォルトの名無しさん
2011/01/26(水) 20:58:120815デフォルトの名無しさん
2011/01/26(水) 21:24:28なんでわざわざJava屋と同じ轍を踏むんだ?
0816デフォルトの名無しさん
2011/01/26(水) 21:35:100817デフォルトの名無しさん
2011/01/26(水) 21:35:490818デフォルトの名無しさん
2011/01/26(水) 22:15:53問題があっても苦労はしてないから使うに決まってるだろ
0819デフォルトの名無しさん
2011/01/26(水) 22:20:21皆苦労しているのはそれ以上を求めているからだけだよ
で、MFCで同じ物作るよりは数段楽だぜ
0820デフォルトの名無しさん
2011/01/26(水) 22:27:42苦労して作ったGUIほど間違いなく、ユーザーには使いにくいのに。
JAVA製のGUIアプリの糞さを見れば明らか。
0821デフォルトの名無しさん
2011/01/26(水) 22:30:23どれが有効なボタンかすら分からないようなデザインとか。
0822デフォルトの名無しさん
2011/01/26(水) 22:32:510823デフォルトの名無しさん
2011/01/26(水) 22:34:460824デフォルトの名無しさん
2011/01/26(水) 22:40:17列挙型の変数のメンバに「#」の文字を使いたいのですが、
どういうふうに書けばいいですか?
0825デフォルトの名無しさん
2011/01/26(水) 22:41:16全角の#を使う
0826デフォルトの名無しさん
2011/01/26(水) 22:42:47だから自由度が高いGUIライブラリは糞ってことだ。
昔のMSは言ってたじゃないか。
UIは統一性が大事だって。だからUnixは使いにくいんだって。
0827デフォルトの名無しさん
2011/01/26(水) 22:45:16やっぱり環境の問題と作り手の問題を区別できないような人じゃねーか。
0828デフォルトの名無しさん
2011/01/26(水) 22:46:52でも前宣伝の仕方次第では環境に変な作り手がよってくるのも事実だしなあ・・・
アンドロイドとiOSの違いというか
片方はガチガチでエロも厳しい
片方はフリーダム(すぎ
まあUIの話じゃないけどさw
0829デフォルトの名無しさん
2011/01/26(水) 22:48:19いいかげんVistaと7の不人気の原因を真摯に受け止めろよ。
0830デフォルトの名無しさん
2011/01/26(水) 22:50:10全角で書いてもIDEが全角と認識しないようなんですけど。
0831デフォルトの名無しさん
2011/01/26(水) 22:51:18まるで関係ないな
0832デフォルトの名無しさん
2011/01/26(水) 22:52:140833デフォルトの名無しさん
2011/01/26(水) 22:53:030834デフォルトの名無しさん
2011/01/26(水) 22:54:010835デフォルトの名無しさん
2011/01/26(水) 22:55:560836デフォルトの名無しさん
2011/01/26(水) 22:59:270837デフォルトの名無しさん
2011/01/26(水) 23:00:40向こうの事情はよく分からんけど、有名どこ?のSwing・AWT・SWT・JFace・他色々はWinForms的だよね?
JavaとWinFormsを批判してんのか?
XMLでUI定義とか別に珍しくもない。
Javaならgui4jやJava FX、CならGTK+ Glade、C++ならQtのuic、Adobe FlexならMXML、MozillaならXUL みたいに数えたらきりがない。
.NETはWPFやSilverlightでより先進的な地位にある。
後塵を拝して取り残されるような事にならずに済んで喜ばしいと思うが
自分に理解できなかったからって叩くのは馬鹿のやることだろ。
0838デフォルトの名無しさん
2011/01/26(水) 23:00:41Direct3Dを直に使ってUIを自前描画したアプリだって世の中にはけっこうある
0839デフォルトの名無しさん
2011/01/26(水) 23:02:360840デフォルトの名無しさん
2011/01/26(水) 23:02:53フルスクラッチだから仕組み的にはどっちかというとWPFでしょ
0841デフォルトの名無しさん
2011/01/26(水) 23:04:59そういうのって開発者とは別に、開発やUIに無知な馬鹿が
デザインやUI仕様に口出しして開発した場合がほとんどだから。
0842デフォルトの名無しさん
2011/01/26(水) 23:13:27批判してる連中はあり得ない前提を持ち出してきて、さも当然のように語りだすから困る。
WinFormsではちょっと使いやすく変えたい場合でも山ほどコーディングしないといけない。
0843デフォルトの名無しさん
2011/01/26(水) 23:13:43XMLのUIって失敗の歴史だな。
0844デフォルトの名無しさん
2011/01/26(水) 23:16:42どうせToStringの結果を変えたいんだろ?
enumのメンバに[EnumString("A#1")]のようなカスタム属性付けといて
クラスでラップしてToStringオーバーライドして中でリフレクションで取得するか
enum使わずにSystem.Drawing.Colorみたいにするか
0845デフォルトの名無しさん
2011/01/26(水) 23:18:28全部失敗してるとでも思ってるのかい?
0846デフォルトの名無しさん
2011/01/26(水) 23:20:26XML派生言語は柔軟性が高いから、厨仕様を呼び込みやすいんじゃないか
0847デフォルトの名無しさん
2011/01/26(水) 23:20:38それに近いhtmlはどうするだよ
整形用テキストを解析してUIにしちゃうってのはこれだけ普及してるし
WPFだってhtml+CSS+JavaScriptの組み合わせのようなことをやってるじゃん
0848デフォルトの名無しさん
2011/01/26(水) 23:21:45基本的にXAMLを見たり直接触ったりする必要は無いし
もし手で編集してもWinFormsと違ってデザイナが壊れることが無い
0849デフォルトの名無しさん
2011/01/26(水) 23:24:280850デフォルトの名無しさん
2011/01/26(水) 23:28:25FinFSもそれが原因で頓挫したんじゃなかったか?
0851デフォルトの名無しさん
2011/01/26(水) 23:38:25XAMLとWinFSに何の関係があるの?
0852デフォルトの名無しさん
2011/01/26(水) 23:41:15そんなものは自然に淘汰される。
HTMLだって昔はチカチカ光ったり、文字スクロールさせたりするようなのが流行ってた。
今では全然見なくなったのが何よりの証拠。
0853デフォルトの名無しさん
2011/01/26(水) 23:43:18ここら辺だけは改良して欲しいとこだなぁ
0854デフォルトの名無しさん
2011/01/26(水) 23:43:290855デフォルトの名無しさん
2011/01/26(水) 23:43:46>全然
すくなくとも1サイトは存続してないか?w(ネタ的として振ってみるw
ところでSliverLigthで外部のサイトのアドレスから情報を引っ張って来る物を作りたいんだが
そういうことってできる?
アクセス権限がどうので自分のサーバーの外にはでれないとかどこかで見かけた気がしたんだが
気のせいならいいのだが・・・
0856デフォルトの名無しさん
2011/01/26(水) 23:46:56クロスドメイン制約で無理。JavaScriptでもFlashでも無理。
明示的にクロスドメインアクセスが許可されているサーバーにはアクセスできるけど
そうでなければWebサービスを経由するしかない。
OOB+ElevatedPermissionsなら制限なし。
0857デフォルトの名無しさん
2011/01/26(水) 23:49:29最先端のもののはずなのに、懐かしいものを見た気分になった。
0858デフォルトの名無しさん
2011/01/26(水) 23:50:25あのサイトはあのまま変わらないから価値があるw
0859デフォルトの名無しさん
2011/01/26(水) 23:55:12スターウォーズ風のなら知ってる
http://ie.microsoft.com/testdrive/Performance/ScrollingText/Default.xhtml
0860デフォルトの名無しさん
2011/01/26(水) 23:57:11ありがとう
やっぱり見間違いじゃなかったか・・・
>>858
まあ設置場所が楽天関係になって閉鎖とかにならなければ永遠に残りそうだな
0861デフォルトの名無しさん
2011/01/27(木) 00:01:28作者にせっせと送信してたら困るからな
0862デフォルトの名無しさん
2011/01/27(木) 00:17:57JavascriptならJSONPで一応クロスドメインアクセスできる
Silverlightで使えるかどうかはしらないけど
0863デフォルトの名無しさん
2011/01/27(木) 00:29:49例えばバインド元データの件数を知りたい場合、
ObjectがIList,IListSource IBindingList IBindingListViewの
どれ該当するか判定し、キャストした上で処理するという事で合ってます?
ITypedList?なんかもあり得ます?
0864デフォルトの名無しさん
2011/01/27(木) 00:40:05var collection = source as ICollection;
if (collection != null) { count = collection.Count; }
else { Debug.Assert(source is IEnumerable); count = source.Cast<object>().Count(); }
0865デフォルトの名無しさん
2011/01/27(木) 00:40:430866864
2011/01/27(木) 00:42:41((IEnumerable)source).Cast<object>().Count()でおk
0868デフォルトの名無しさん
2011/01/27(木) 01:34:20WPFどころかWinFormsも使ったことないのかよ…。
お前なんでこのスレ居るの?いや、ふらっと ならこんなもんか。
MSDNのDataGridView.DataSourceプロパティのとこ読んで勉強してこい。
http://msdn.microsoft.com/ja-jp/library/system.windows.forms.datagridview.datasource%28VS.80%29.aspx
0869デフォルトの名無しさん
2011/01/27(木) 02:02:30今だとなんでもかんでもIEnumerable<>だけど時代を感じる
0870デフォルトの名無しさん
2011/01/27(木) 02:05:47Lunaにそこまで惚れてる奴がいるとは・・・
0871デフォルトの名無しさん
2011/01/27(木) 02:12:29アプリケーションのUIがダサくても大目に見てもらえてたんじゃないか
0872デフォルトの名無しさん
2011/01/27(木) 02:16:070873デフォルトの名無しさん
2011/01/27(木) 02:19:500874デフォルトの名無しさん
2011/01/27(木) 02:30:18あれは同期無視でとにかく処理しちゃえってことだからな
重いとか関係なしに出るよ
0875863
2011/01/27(木) 02:32:25丁寧にありがとうございます。
各インターフェースはICollectionかIEnumerableを継承しているんですね。
ICollectionなら素直にCountがあり、IEnumerableの方は拡張メソッドで
IEnumerable<T>にキャストすればCountが使えると。
ん?キャスト?O(n)でなくO(1)で処理されるんですか?
>>865にはちょっと同意。
何でもかんでもとりあえずバインド出来ますよ
ってユーザーの利便性を優先した代償なんでしょうか。
JAVAからC#に移って、文化の違いに戸惑い中。。。
0876デフォルトの名無しさん
2011/01/27(木) 02:37:240877863
2011/01/27(木) 02:55:29自己レスです。
多分理解しました。
遅延実行を利用して返却する値を個別にキャストするんですね。
その結果、T型を列挙するIEnumerable、つまりIEnumerable<T>になると。
0878デフォルトの名無しさん
2011/01/27(木) 08:44:36デザイナとコードの分離なんてまやかしだって事だな
夢物語に過ぎなかった
0879デフォルトの名無しさん
2011/01/27(木) 09:52:01普通に考えて、わざわざコードにするほうがずっと実装面倒で不自然な頭おかしい設計
0880デフォルトの名無しさん
2011/01/27(木) 10:25:36XAMLはXMLを態々コードにプリコンパイルしてからさらにCLIにコンパイルする方式なんだが
0881デフォルトの名無しさん
2011/01/27(木) 12:15:51態々漢字変換すんなし
0882デフォルトの名無しさん
2011/01/27(木) 12:16:36XMLは遅い。コードのほうが圧倒的に速い。
0883デフォルトの名無しさん
2011/01/27(木) 12:33:20きまりきった形式で中身も保証しているデータをCSVではなく
XMLとか
サイズが大きくなるんだ・・・
マジ勘弁
0884デフォルトの名無しさん
2011/01/27(木) 12:34:58違う
XAMLはテキストかバイナリの形でリソースに保持される
0885デフォルトの名無しさん
2011/01/27(木) 12:38:290886デフォルトの名無しさん
2011/01/27(木) 12:52:530887デフォルトの名無しさん
2011/01/27(木) 13:05:330888デフォルトの名無しさん
2011/01/27(木) 13:22:270889デフォルトの名無しさん
2011/01/27(木) 13:25:460890デフォルトの名無しさん
2011/01/27(木) 13:33:48・silverlight製プレーヤーは汎用型でバージョンアップ以外はいじらない
・htmlなどの外部にスクリプトの読み込み先アドレスが置いてある(もしくはhtmlかjavascriptから自前プレーヤーに与える
・sliverlight製プレーヤーは上記で与えられたアドレスから自前スクリプトを読み込み解析する
こんな感じのことは実現できますかね?
当然すべての部品は同じサーバー上においてあります。
あくまで外部スクリプトなどをいじることで汎用的な対応をしようと思ってます
それとは別件で、sliverlightアプリを指定したサイト以外で動かないようにする方法はありますか?
標準機能で無い場合はなんらかの外部情報を入手して判断しようかと思ってるんですが
0891デフォルトの名無しさん
2011/01/27(木) 13:37:140892デフォルトの名無しさん
2011/01/27(木) 13:53:340893デフォルトの名無しさん
2011/01/27(木) 13:55:24パフォーマンスが問題とされる分野はどこもガチガチ固定長フォーマットがデフォ。
0894デフォルトの名無しさん
2011/01/27(木) 13:57:410895デフォルトの名無しさん
2011/01/27(木) 13:58:060896デフォルトの名無しさん
2011/01/27(木) 13:58:44CSVで馬鹿にされたからって、何言ってんだコイツ
0897デフォルトの名無しさん
2011/01/27(木) 13:59:51人違いですよ。私はTSV派です。
0898デフォルトの名無しさん
2011/01/27(木) 14:01:390899デフォルトの名無しさん
2011/01/27(木) 14:03:290900デフォルトの名無しさん
2011/01/27(木) 14:05:28しかも行列データをXMLに格納しようとかもっと頭おかしい。
0901デフォルトの名無しさん
2011/01/27(木) 14:07:240902デフォルトの名無しさん
2011/01/27(木) 14:07:580903デフォルトの名無しさん
2011/01/27(木) 14:10:590904デフォルトの名無しさん
2011/01/27(木) 14:11:02XML信者が調子乗って何でもXMLでやろうするのが問題。
昔、Java最強とか言ってなんでもJavaでやろうとしてほとんどの分野で失敗して、
一部のサーバ分野でしか使い物にならなかったのと同じ。
0905デフォルトの名無しさん
2011/01/27(木) 14:12:490906デフォルトの名無しさん
2011/01/27(木) 14:14:01今なら年間10円にしとくから
0907デフォルトの名無しさん
2011/01/27(木) 14:14:370908デフォルトの名無しさん
2011/01/27(木) 14:16:39同意せざるを得ない
0909デフォルトの名無しさん
2011/01/27(木) 14:19:48MSにそういう一派がいてプロジェクト失敗してんだよ。
0910デフォルトの名無しさん
2011/01/27(木) 14:21:48XMLは開発者なら誰もが使えて、HTMLで大成功した実績ある方法だ。
UIの木構造をインスタンス化するMLとしてXML以上の選択肢なんてないだろ。
俺仕様のバイナリデータにしたり
*ここは触っちゃダメ*と書いて、デザイナからしか編集しないでねと言うのが本当にいいと思ってるの?w
0911デフォルトの名無しさん
2011/01/27(木) 14:23:45昔、散々やってJava屋のデスマーチ何度も見たろ?
0912デフォルトの名無しさん
2011/01/27(木) 14:24:36COMの否定ですか? MS信者失格ですね。
0913デフォルトの名無しさん
2011/01/27(木) 14:24:540914デフォルトの名無しさん
2011/01/27(木) 14:25:23XML使ったらデスマーチになるとでも?wwwww
0915デフォルトの名無しさん
2011/01/27(木) 14:26:26CSVの次はCOMが出てきたよww
0916デフォルトの名無しさん
2011/01/27(木) 14:30:44デザイナからしか編集できないようにするのはやっぱり嫌なんじゃねーかw
0917デフォルトの名無しさん
2011/01/27(木) 14:31:130918デフォルトの名無しさん
2011/01/27(木) 14:32:50うちの設計w
0919デフォルトの名無しさん
2011/01/27(木) 14:35:25俺は適材適所でやるべきだと思ってるからプレーンテキストで書いて、サーバでDATフォーマットにしてもらうわ
0920デフォルトの名無しさん
2011/01/27(木) 14:37:57ご愁傷様です
0921デフォルトの名無しさん
2011/01/27(木) 14:42:00速度重視なら本運用でコンバートプログラム書いて早くなるようなキャッシュを作ればいいだけだし
独自のデータフォーマットを構築する方が時間無駄のように見える
0922デフォルトの名無しさん
2011/01/27(木) 14:43:02おまえ仕事したことないだろw
0923デフォルトの名無しさん
2011/01/27(木) 14:45:390924デフォルトの名無しさん
2011/01/27(木) 14:48:16釣れますか?
そういえばネオコアとかいうXMLDBをどこぞのページが大プッシュしてたけど
最近見ないなwwwww
実際広く使われてるように書かれてたけどどうなんだろうな
0925デフォルトの名無しさん
2011/01/27(木) 14:48:27数千万件のデータをXMLでやってたら遅すぎて話しにならん。
2日のバッチ処理が1週間かかるよ。しかもデータ量爆増するし。
0926デフォルトの名無しさん
2011/01/27(木) 14:50:34そんなもんリレーショナルデータベース使うに決まってるじゃねーか。
0927デフォルトの名無しさん
2011/01/27(木) 14:50:550928デフォルトの名無しさん
2011/01/27(木) 14:52:01XMLDBの盛り上がりを見逃すな!
とか2007年の記事があってクソわろたwwwww
このコンサルどんな気持ちなんだろ
0929デフォルトの名無しさん
2011/01/27(木) 14:52:170930デフォルトの名無しさん
2011/01/27(木) 14:52:290931デフォルトの名無しさん
2011/01/27(木) 14:53:13負荷計算すらまともにできないから
未だにコボラーが幅を利かせるのですよ。
0932デフォルトの名無しさん
2011/01/27(木) 14:53:51幾らXML好きでも、一端DBに入れて処理するのは当たり前でしょ
え?もしかしたら現実にそんな設計する奴居るの?それなら一大事だが
0933デフォルトの名無しさん
2011/01/27(木) 14:55:07ばか・・・大手でもアフォはいるんだよ・・・・
0934デフォルトの名無しさん
2011/01/27(木) 14:55:36ていうか否定派もUIの木構造をMLで記述する点については否定してないんだな。
0935デフォルトの名無しさん
2011/01/27(木) 14:56:12>>925は頭悪い派だな
0936デフォルトの名無しさん
2011/01/27(木) 14:57:000937デフォルトの名無しさん
2011/01/27(木) 14:57:16それさ、XMLが悪いんじゃなくてバカが幅利かせているのが悪いだけだな
0938デフォルトの名無しさん
2011/01/27(木) 14:57:32普通に数億円以上規模のプロジェクトでは、
仕様決める側はプログラムなんて全く書けない自称SEばかりなんですよ。
だから、流行のJavaで!! XMLで!! とか平気で言う。
0939デフォルトの名無しさん
2011/01/27(木) 14:59:50俺は醜態を晒すことによってXML否定派のネガキャンしてると見たね。
そうでなかったら・・・
>>938
金払いがいい客相手ならなんだって作るわ。
0940デフォルトの名無しさん
2011/01/27(木) 15:00:030941デフォルトの名無しさん
2011/01/27(木) 15:01:12不公平だから日本のIT業界は腐ってるだろw
0942デフォルトの名無しさん
2011/01/27(木) 15:01:34レコードが多くなったりしたらSQLだけど。
0943デフォルトの名無しさん
2011/01/27(木) 15:02:110944デフォルトの名無しさん
2011/01/27(木) 15:05:270945デフォルトの名無しさん
2011/01/27(木) 15:06:03むしろしたくねぇよ
バカばっかりだぞ?
理由なければXML選ぶとかいみわかんねぇ
0946デフォルトの名無しさん
2011/01/27(木) 15:08:020947デフォルトの名無しさん
2011/01/27(木) 15:08:09大量のデータならデザイナでDB自動生成
こんな私ですがお嫁にいけますか?
0948デフォルトの名無しさん
2011/01/27(木) 15:10:540949デフォルトの名無しさん
2011/01/27(木) 15:35:18可能。
Silverlight初期化時にHTMLから任意のパラメータを渡せる。URI渡してSilverlightからダウンロードすればいいだけ。
HTML DOMの操作も可能なので、もっと高度なこともできて、
たとえばSilverlight用のDLRを使うと、HTMLのscriptタグに書かれたrubyやpythonのスクリプトを
動かせるんだけど、それはSilverlightプラグインから自身が貼られてるHTMLのDOMを読むことで実現されてる。
指定したサイト以外で動かせないようにするには、自分自身のURIはSilverlightのAPIで簡単に取得できるので
あとはご自由に。
0950デフォルトの名無しさん
2011/01/27(木) 16:13:02よかったレスもらえてw
XML関連でスレが埋まりそうな勢いだったのであせったw
想定してたこと以上にできそうですね
ありがとうございます
0951デフォルトの名無しさん
2011/01/27(木) 16:37:060952デフォルトの名無しさん
2011/01/27(木) 18:22:530953デフォルトの名無しさん
2011/01/27(木) 18:26:560954デフォルトの名無しさん
2011/01/27(木) 18:29:430955デフォルトの名無しさん
2011/01/27(木) 19:43:310956デフォルトの名無しさん
2011/01/27(木) 22:27:26ISiteのDesignModeあたり関係無いかと調べてはいるのですが、全くわかりません。
0957デフォルトの名無しさん
2011/01/27(木) 23:16:490958デフォルトの名無しさん
2011/01/27(木) 23:38:270959デフォルトの名無しさん
2011/01/28(金) 02:35:380960デフォルトの名無しさん
2011/01/28(金) 02:37:100961デフォルトの名無しさん
2011/01/29(土) 01:53:400962デフォルトの名無しさん
2011/01/29(土) 02:00:030963デフォルトの名無しさん
2011/01/29(土) 02:07:420964549
2011/01/29(土) 02:49:13string[] temp = GetFileName();
foreach (string n in temp)
dataGridView1.Rows.Add();
Regex reg = new Regex(@"\[[^]]*\]");
Match m = reg.Match(temp[0]);
if (m.Success)
MessageBox.Show("検索された文字が含まれています");
変数tempにファイル名が代入されるんですが
例えば、"[名前1] タイトル1"といファイル名だったら
配列の変数nameに文字列"名前1"、同じく配列の変数titleに文字列"タイトル1"と代入したいのですが
含まれていた場合、文字列を抜き出すというのが理解できません
自分でも調べてみたんですが、文字列が含まれていたかいないかくらいしか判断できません
どのようにしたら抜き出せるんでしょうか?
0965デフォルトの名無しさん
2011/01/29(土) 04:59:41普通に考えて、使う理由考える方が大変。
>>963
Java 屋さんかな?
Java だと(アノテーションがなかった頃の習慣で)C# なら属性使うような場面でインターフェイスのから実装する場合があるんで。
0966デフォルトの名無しさん
2011/01/29(土) 05:04:27() でくくって、Match.Group で拾う。
\[([^\]]*)\]\s*(.*) でマッチさせて m.Group[1], m.Group[2] か、
\[(?<name>[^\]]*)\]\s*(?<title>.*) でマッチさせて m.Group["name"], m.Group["title"]。
0967デフォルトの名無しさん
2011/01/29(土) 06:40:01多分実装が楽だったから。staticクラスは実質abstract sealed classらしいよ
まあインスタンス作れないのはいいんだけど、抽象化が全然できなくなるから割に合わないな
0968デフォルトの名無しさん
2011/01/29(土) 09:38:08CLI的にはインターフェイスを実装できない理由は全く何もない
意味的におかしいから使えなくしてある
0969デフォルトの名無しさん
2011/01/29(土) 09:53:26危険って言えば危険
0970デフォルトの名無しさん
2011/01/29(土) 10:33:022chlog.txt というファイルのパスを取得するexeを作成するのですが、実装方法で悩んでいます
前提条件として
1.2chlog.txtはOS(XP、VISTA、7 の3つのみでいい)によって格納パスが違う
また、どのドライブにあるかも不明(Aというソフトのインストールドライブにできる)
2.exeを利用するユーザーのPCのOSはXP、VISTA、7のどれかは不明
よろしくお願いします
0971デフォルトの名無しさん
2011/01/29(土) 10:34:384.ユーザのPCのドライブ構成は不明(どんなPCから操作されるかわからない)
よろしくお願いします
0972デフォルトの名無しさん
2011/01/29(土) 10:39:080973デフォルトの名無しさん
2011/01/29(土) 10:41:200974デフォルトの名無しさん
2011/01/29(土) 10:42:17そのテキストファイルが、ユーザーが作ったものなら>>972みたいに
ユーザーに指定させるしかないわな。
0975デフォルトの名無しさん
2011/01/29(土) 10:46:271. 検索ソフトの初回起動時にのみ以下の動作をさせる
- OS のバージョンを調べる
- OS のバージョンごとに特定のフォルダに検索を掛ける
- 検索はスレッドを立てて水面下で行う
- 見つかったら設定ファイルかなにかにそのパスを保存しておく
2. 検索ソフトの起動時に以下の動作をさせる
- 設定ファイルから 2chlog.txt のパスを取得する
- ファイルがないか、設定ファイルにその記述がなかったらユーザに通知するメッセージボックスを表示してお伺いを立てる
- ユーザが「検索」を選択したら 1 の動作をさせる
0976デフォルトの名無しさん
2011/01/29(土) 10:47:310977デフォルトの名無しさん
2011/01/29(土) 10:48:04ユーザーディレクトの下のどこそこみたいに、だいたい
決まってるだろうけど。
0978デフォルトの名無しさん
2011/01/29(土) 10:58:30すでにある専ブラのログビューワーとかそんなのかもな
UACの関係でフォルダの位置が変わる可能性があるんだっけ?
XPから卒業してないのでvistaや7のように実行ファイルの配下がだめとかそういう世界はよくわからんがw
0979デフォルトの名無しさん
2011/01/29(土) 11:09:38ありがとうございました。
OSのバージョンをGetする実装はどぼん.netにあったのでぱくろうと思います
> - OS のバージョンごとに特定のフォルダに検索を掛ける
ここの実装が悩みどころですが以下のような実装にしようと思います、
1.Directory.GetLogicalDrives()でユーザーのPCのドライブ一覧を取得しリストに格納
2.foreach((各ドライブ) in (1.で格納したドライブの一覧リスト))
{
(各ドライブの中に「2chlog.txt」が存在するか調べる処理)
}
0980デフォルトの名無しさん
2011/01/29(土) 11:28:160981デフォルトの名無しさん
2011/01/29(土) 11:29:05Environment.GetFolderPath使え
0982デフォルトの名無しさん
2011/01/29(土) 11:37:48確かにそうなんですが、古いソフトなんで調査に時間がかかりそうなんです
締め切りに間に合わせるために別の方法を探してるわけです^^;
>>981
ありがとうございます
たしかにOS判別いらないですね
メソッドも案外たくさん用意されているのですね
0983デフォルトの名無しさん
2011/01/29(土) 11:40:05http://hibari.2ch.net/test/read.cgi/tech/1296268762/
0984デフォルトの名無しさん
2011/01/29(土) 12:08:290985デフォルトの名無しさん
2011/01/29(土) 14:44:210986デフォルトの名無しさん
2011/01/29(土) 16:29:310987デフォルトの名無しさん
2011/01/29(土) 16:30:030988デフォルトの名無しさん
2011/01/29(土) 16:31:070989986
2011/01/29(土) 16:32:07あ、Inherited=falseだから駄目だね
当然か
0990デフォルトの名無しさん
2011/01/29(土) 17:14:01ToString()して文字数を数える以外にスマートな方法はありますか?
0991デフォルトの名無しさん
2011/01/29(土) 17:14:210992デフォルトの名無しさん
2011/01/29(土) 17:20:16サンクス
0993デフォルトの名無しさん
2011/01/29(土) 17:32:51大丈夫じゃないんじゃないの?w
単純にx < pow(10, n)を満たす最小のnを求める方が確実に思うけど
0994デフォルトの名無しさん
2011/01/29(土) 17:48:14乙
0995デフォルトの名無しさん
2011/01/29(土) 17:52:02常用対数の結果を(int)Math.Round()すれば問題ないかw
適当なこといってごめんよ
0996デフォルトの名無しさん
2011/01/29(土) 17:57:02酒飲んでると思考力落ちるなやっぱり
0997デフォルトの名無しさん
2011/01/29(土) 17:59:40それ以上が必要なら誤差を実測して補正を掛けるのがいいんじゃない?
可読性考えなければ、ひたすら定数値との比較をするのが一番早い気はする
0998デフォルトの名無しさん
2011/01/29(土) 18:02:590999デフォルトの名無しさん
2011/01/29(土) 19:04:041000デフォルトの名無しさん
2011/01/29(土) 19:08:4510011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。