ふらっとVisual C#,C♯,C#(初心者用) Part96
乙 人生初2Get
乙 人生初3Get
4 :
デフォルトの名無しさん :2012/08/05(日) 21:20:04.01
____ /´-―――-、\ // ,-―=ヽ、 \ \ / / (_ノ-t Y )-、 ヽ ヽ .l i ノっ \ーi | i | | | く、 (_`し´ | | .l i i_/ Y ./ / ヽヽ / / / / \\_ ` ̄ ´ // フ ,_⌒) (⌒´、く く く  ̄  ̄´> > ヽ ヽ / / ヽ i´ ) ( `i / .ヽー´ `ー/ |⊂二⊃| ヽ====ノ `i-/´ V . ∧ / \ \ / . ヽ / ∨ // | | //Λ_Λ | | | |( ´Д`)// <うるせぇ、家庭科のアレぶつけんぞ \ | | / / /
なにそれ
糸通しじゃね?
そういやそんなのあったな
新スレダーなんちて
糸通しでかすぎて普通に糸だけ通すほうが楽だった記憶しかない プログレスバーの値を設定すると、すぐにその値の表示にならないで バーがスーっと伸びてくアニメーション入るんだけど あれってXPではなかったよね?Vistaから? 無効にする方法があったら教えて欲しい
10 :
デフォルトの名無しさん :2012/08/06(月) 18:35:50.01
HttpWebRequest/HttpWebResponseのキャッシュ機能を 自前のルーチンに差し替えることはできるでしょうか?
>>前スレ994 左側にアスタリスクがついてるやつです >>前スレ995 ListViewですか・・・ こういうカスタムコントロール作るのがすごい苦手なので、何か参考になるページとかないですか? 描画関連とかすごい苦手です
まさに前スレ994が言ってることですよ まず確認しろ
>>12 すいません。確認してきました。無事消す事ができました
あと左上のボタンみたいなやつは消せないんでしょうか?
クラス名、変数名、メソッド名などに漢字を使わない方がよいのでしょうか? メリット、デメリットははいくつかありますが 情報量、可読性の観点からどんどん使用すべきだと思うのですが、毛嫌いする人が多いです どうなんでしょう?
15 :
デフォルトの名無しさん :2012/08/06(月) 22:54:24.64
慣れの問題と標準で用意されてる部品はすべて英字になってるしなあ・・・ どこぞの社長みたいなことは言わないけどなんとなくコレジャナイ感がするのは事実
単純に打ちにくい
>>14 日本語版以外のプラットフォームで編集することを考えると問題になるかも
俺はちょくちょく使うけど、IMEのオンオフが案外邪魔くさくて思考と作業の流れが悪くなる
あと日本語つかってると、見た目的にプロっぽくないという罠がw
>>15 >>16 >>17 そうですよね・・・何となく本流とは違うイメージというか・・・
少なくとも納品用のコードに漢字を入れられる程勇気のある人はいないって感じですよね・・・
無駄な齟齬や不和を産むくらいなら歴史に身を委ねた方が良さそうですね
命令語が英語だから、識別子だけ日本語にするとちょっと違和感あるな。 C# じゃなくて、Excel マクロ (VBA) でちょくちょく使うけど、入力が面倒だけど 確かにわかりやすい。 ただ、英語だと例えば複数のボタンを表す配列なんかを普通に Buttons と 複数形が使えるけど、日本語って複数形に相当するものが無いからちょっと困る。 ボタン達 というのも変だしね (w
最近テストメソッド名に使うってフィードを見たけど 俺の狭い世界の中では知らないな
>納品用のコードに漢字を入れられる程勇気のある人はいないって感じ 納品できるレベルでないコード出荷してる人たちなら大丈夫だよ 現にいるしw
変数名とかに日本語使わないほうがいいかって話になると いつも英名がいい的な流れになるけど個人で作るものは日本語でやるわ。 仕様とかまとめておかなくても大まかに見ればすぐに思い出すし サンプルコードの変数名を日本語に書き換えると理解が深まる 2005あたりからリファクタも優秀だから 仕事で作るものも日本語で作って後から英名に変えるのも楽だし まぁなんつーか少数派だって自覚はあるぽ。
23 :
デフォルトの名無しさん :2012/08/07(火) 08:12:38.33
ぶひ
昔勤めていたキチガイ現場では、 業務用語をExcite翻訳を通した奇怪なエイゴを辞書管理してプログラムを作っていた 伝票番号…CheckNumber 貸借区分…DebtorCreditKbn 付き合ってられん
denpyoBango,chinshaKubunなんて高卒か専門卒の集まりだろ
貸借=たいしゃく な
やん><
賃貸 賃借 貸借 まあフォントわかりにくいかなw
区分をkbnって誰がやりだしたんだろ やっぱ低脳でお馴染みのコボラーだろうか
30 :
デフォルトの名無しさん :2012/08/07(火) 11:42:00.20
漢字はQRコードの仲間とも取れるのであまりお勧めしない フォントのレンダリング周りがあれなwindowsだと特に
試したことないけど全角変数って遅くなりそうなイメージ てか、よくわからん不具合出そうな気がして使えん
>>31 それはないVB6.0のころから内部は2バイトコード化されてるので
むしろ半角であっても2バイトで管理されてる状態
だからこそ全角文字を変数に使える
この辺ができてないgccなんかだとS-JISの全角入ってると特定コードで
えらいことになるし
フレームワークとかが対応してないことがあるしな
区分 kbn 種別 sbt コード cd ネーム nm 母音省略した名前はよく見るな・・・
日本語の母音略すのはなんとなく読めるけど 英語は略すとわからなくならないか
36 :
デフォルトの名無しさん :2012/08/07(火) 16:45:22.84
実行中のアセンブリが参照しているアセンブリの一覧を取得するにはどうすればいいのでしょうか?
Assembly.GetReferencedAssemblies 実行中のアセンブリってのは複数定義があるだろうから 好きなAssemblyインスタンスを取ってこい
>>35 慣れれば大丈夫だろ
イスラエル人は子音だけで文章書くヘブライ文字つかってるけど問題ないようだし
アラブ人も子音だけで文章書くアラビア文字つかってるけど問題ないようだし
(アラビア文字には母音記号があって、たまに母音記号付ける事もあるようだけど)
>>19 ボタン達でいいんじゃね?
ボタンら、ボタンsでもいいかもw
複数のボタン、ボタン(複数)とかが日本語的に一番いいかも
ボタンズ
押されるモノ達 うーん。個人的には「ボタン群」かなぁ
>>41 ボタン群が一番日本語として違和感ない感じで字数も少なくていいな
43 :
デフォルトの名無しさん :2012/08/07(火) 20:58:21.12
ボタンからして駄目なんじゃないの?
なぜか唐突にブッチフォンが脳内に
ボタン(複数) で
menuStripからのイベントの処理って、そのフォームのクラスに書くしかないでしょうか? メニューに機能が増えてくると、そのイベント処理のコードが長くなって見難くて嫌なのですが
48 :
デフォルトの名無しさん :2012/08/07(火) 22:20:51.49
>>47 menuStripを継承した自作クラスを作ってそこへまとめたいコードを書く
その自作クラスは一度ビルドすると部品の一番上に紫のギアのマークででてくるんで
それをFormに貼り付ければOK
>>48 なるほど!ありがとうございます。やってみます
50 :
デフォルトの名無しさん :2012/08/07(火) 22:35:28.10
51 :
47 :2012/08/07(火) 23:07:41.93
すいません。 yMenuStripの方へコードを書く方法がわかりません…。
52 :
デフォルトの名無しさん :2012/08/07(火) 23:13:06.79
韓国開発研究院(KDI)が5日に発表した報告書によると、統計庁の2011年の家計金融調査を分析した
結果、借金を抱える世帯の33%が赤字状態で、7%は負債が資産を上回っていることが分かった。
韓国の世帯数は1757万世帯(2010年現在)で、うち借金がある世帯が63%を占めることから、借金があり、
かつ赤字状態の世帯は365万世帯に達することになる。また、負債が資産よりも多く、かつ赤字状態の世帯は
全体の3.3%(36万世帯)だった。特に債務返済能力は低所得層ほど低いことが分かった。
漢陽大のハ・ジュンギョン教授は「不動産市場の低迷で資産の売却が難しく、借金があり赤字状態の世帯が
さらに借金を重ねる悪循環に陥る可能性がある」と懸念を示した。
キム・テグン記者
朝鮮日報/朝鮮日報日本語版: 2012/08/06 09:08
http://www.chosunonline.com/site/data/html_dir/2012/08/06/2012080600636.html
全部読んだ
55 :
デフォルトの名無しさん :2012/08/08(水) 14:17:33.93
すみません。ご存じの方がいらしたら教えてください。 vc#のchartコントロールで、 X軸のpoint数をあらかじめ設定する方法を教えてください。 chart1.Series[0].Points.AddY(xx)などで追加していくのではなく、 グラフを描画する前にpointの数を定義したいのです。 point数は可変なので、デザイナで定義するわけにもいかず困っています。
56 :
デフォルトの名無しさん :2012/08/08(水) 14:28:27.58
57 :
デフォルトの名無しさん :2012/08/08(水) 14:56:41.94
>>56 さっそくのご回答ありがとうございます。
具体的には以下のような事をやりたいのですが、
ダミーを作っても問題ないでしょうか。
例えばpoint数が100とした場合に、グラフにするデータが1〜50point分までしかないときは、
後ろ50ポイント分は空白のグラフ表示としてしておきたいのです。
(一定時間毎にデータが追加され、時間と共にグラフが埋まっていくイメージです)
58 :
56 :2012/08/08(水) 16:21:22.93
59 :
56 :2012/08/08(水) 16:26:15.17
グラフなんて自分で書くべき
WPFなんかのINotifyPropertyChangedぽいことができれば部分変更だけでいいのにねえ・・・
>>55 chart1.ChartAreas[0].AxisX.MaximumのデフルトがAutoだから、最大値を入れるのじゃダメなん?
class Program { [STAThread] // これ static void Main() { Application.Run(new Form1()); } } Mainの上の[]が一般に何を意味するのか調べたいんですがどんなワードで検索すればいいでしょうか?
まずそのまま検索してみろよ
65 :
55 :2012/08/08(水) 17:56:52.02
>>56 さん
>>62 さん
さっそく試してみます。
取り急ぎお礼まで、ありがとうございました。
[この括弧そのものは属性ね]
ありがとうございます、c# 属性で検索したら出てきました
69 :
デフォルトの名無しさん :2012/08/08(水) 18:41:43.02
ヘ(; `Д)ノ ←9秒86 カール・ルイス ≡ ( ┐ノ :。; / ヘ(; `Д)ノ←9秒79 ベン・ジョンソン(ドーピング) ≡ ( ┐ノ :。; / ヘ(; `Д)ノ←9秒79 モーリス・グリーン ≡ ( ┐ノ :。; / ヘ(; `Д)ノ←9秒72 アサファ・パウエル(前世界記録) ≡ ( ┐ノ :。; / ヘ(; `Д)ノ←9秒71 タイソン・ゲイ ≡ ( ┐ノ :。; / 一二 (゚ω゚ )←9秒58 ウサイン・ボルト 一二 / \ 一二((⊂ /) ノ\つ)) 一二 (_⌒ヽ 一二 丶 ヘ | 一二 ノノ J
70 :
デフォルトの名無しさん :2012/08/08(水) 20:13:25.03
来月から入る予定の職場でC#を使う予定で、バージョンは2.0なので、 Javaの知識があれば参考書を本番前に読みこめばなんとかなると思ってるのですが、 参入前に覚えておいたほうがいいことって何か他にありますか? 別の言い方をすれば、.NETを勉強するには、何かいい書籍などありますか?
習うより慣れろ
72 :
デフォルトの名無しさん :2012/08/08(水) 20:26:21.18
あるアセンブリで呼び出し元のアセンブリを末端までたどるにはどうすればいいのでしょうか? exe -> lib1 -> lib2 -> lib3 という呼び出しの場合に、lib3の関数内で lib2 -> lib1 -> exe それぞれのアセンブリ名を 知りたいのですがよくわかりません。
>>70 2.0とかマジ乙。
まあ、確かにJavaできる人なら2.0はそんな苦労はしないと思う。
とりあえず、Javaにはない、プロパティとかイベントとかデリゲートだけネットで検索すればいいんじゃないかと。
74 :
デフォルトの名無しさん :2012/08/08(水) 20:44:12.47
>>72 StackFrameを使ってコールスタックを見る
逆ならAssembly.GetEntryAssembly()→GetReferencedAssemblies()とか
75 :
デフォルトの名無しさん :2012/08/08(水) 20:51:51.40
>>71 何か作ればいいんですかね?
>>73 ありがとうございます。
言語仕様は、仰るとおりデリゲートとか以外は大差ないと思ってるのですが
ただ何かを作る際は、.NETの取り扱いが重要になってくるのではないかと思ったのです
76 :
デフォルトの名無しさん :2012/08/08(水) 21:03:43.96
using System; using System.Drawing; using System.Windows.Forms; class Program { [STAThread] static void Main() { Application.EnableVisualStyles(); Application.Run(new MyForm()); } } class MyForm : Form { Font font; public MyForm() { font = new Font("Times New Roman", 15, FontStyle.Regular); Controls.Add(new Label() { Text = "Dragon Ball Z", ForeColor = Color.Red, Font = font, AutoSize = true }); } } こんな感じのサンプルを見たんですが、このプログラムはfontのDisposeをどこからも呼んでいませんが、リソースリークの問題はないんでしょうか?
>>78 アプリを閉じる時に自動で解放してくれる。
参照切れれば実行中でも解放されるけどね
いやたぶん、カベージコレクタが作動した時に開放される、が正解
83 :
デフォルトの名無しさん :2012/08/09(木) 05:05:43.86
>>78 Disposeはマネージドリソース(ファイルとか)の解放に使う
マネージドリソース(=.Net Framewotkで書かれたライブラリ)の
場合はよきにはからってくれる
自演乙
>>82 それもちょっと違う。
FinalizeメソッドのあるオブジェクトをGCで開放するには最低でも2回のGCが必要。
1回目のGCでは回収されず古い世代に昇格され、Finalize待機キューに追加される。
その際に直接・間接的に参照する全てのインスタンスも道連れにして古い世代に昇格するためメモリの圧迫要因にもなる。
その後別スレッドで逐次Finalizeメソッドが呼ばれ、Finalize待機キューから削除される。
最後にもう一度GCが走ったら終了(世代が昇格しているためGen1/Gen2のGCを待たなければならない)
こういう事情があるから、予想以上に長生きしてしまう可能性がある。
あと「GC.SuppressFinalize(this);」があるDisposeメソッドが実行済みであれば
アンマネージ リソースは解放済みであるとして一連の処理は行われない。
class Form1 : Form { private Font font; protected override void OnClose(EventArgs e) { base.OnClose(); if(font != null) font.Dispose(); }
IDisposeを持つオブジェクトのDisposeを呼ばず GCからのFinalizeに任せるのは基本的にはバグ相当
static void Main() { Form f = new Form1(); Application.Run(f); f.Dispose(); } これで連鎖的にすべてのリソースを解放してくれるからForm派生クラス側はなにも気にしなくていいよ
終了まで短時間で解放をOSに任せるというならともかく、 Form1のメンバにIDisposableがあっても自動では呼んでくれないし Application.Run中に例外が出たらf.Dispose();すら呼ばれない usingも知らないのに安易なレスしちゃ駄目だよ
ん?おれはコントロールのDisposeはControlsの要素にも再帰的に呼ばれるって習ったけど?
FileStreamなんかもControlsに突っ込む勢いか
さすがにFile関係は必要なとこメモリに読み込んだらすぐ閉じるでしょ 今はControlが生きてる間は保持しておかなきゃいけないリソースをどうするかが問題
まさに初心者スレ
Dispose呼ばれるタイミングとか考えないといけないし disposingとかもなんのために在るのか分からないし大変 C#難しすぎる C++のがコード見たまま理解できるからわかりやすいね
スレに常駐している初心者だけど、面倒ならusing使えじゃダメなの?
FormはClose=Dispose 閉じれば全ては終了
↓これでいいですか? class Program { [STAThread] static void Main () { using (Form form = new FormEx ()) { Application.Run (form); } } } class FormEx : Form { Font font = null; public FormEx() { font = new Font("Times New Roman", 24, FontStyle.Regular); try { Controls.Add(new Label() { Font = font, Text = "Hello, world!", AutoSize = true }); } catch { font.Dispose(); font = null; throw; } } protected override void Dispose(bool disposing) { if (font != null) { font.Dispose(); font = null; } base.Dispose(disposing); } }
>>90 Form2つでFont共有してるときに片方Disposeするとどうなりますか?
あなたがこのスレで一番頭脳明晰とお見受けしました
どうか教えて下さい
101 :
デフォルトの名無しさん :2012/08/09(木) 13:45:37.57
というかC#は習うもんじゃないだろ C/C++とかは習うのもいいだろうけどC#くらいは独学でできなきゃ・・・
Disposeしても使用メモリが増え続けるんだよなぁ
そんな時のGC.Collectですよ
104 :
デフォルトの名無しさん :2012/08/09(木) 16:45:24.42
webbrowserコントロールでフォームにIEを埋め込んでwebサイト表示。 ここで表示したアクセスのログは、 ノーマルIEの「履歴」から見た際、 実行環境のOSやIEのバージョンによって、残ったり残ってなかったりするようですが、 「必ず残す」あるいは「必ず残さない」といった任意の指定をする方法はありますか?
WebBrowserクラスって、需要は多い割に.NETの機能の中では自在に使いこなすのが最も難しい部類よね
106 :
デフォルトの名無しさん :2012/08/09(木) 18:28:00.18
GCマンセーかと思ってたのに、ちまちまオブジェクトの解放を意識せんといかんて、結局今までどおりC++のが楽でいいわ
理想に裏切られると無性に腹立つよね〜
DisposeしたもGC可能な状態になるだけでメモリ使用量は減らないんじゃない? 問題はGCのタイミングだけど具体的にはいつ発動するの?
付け焼刃でいいからちょっとは検索してから喋れよな
管理外(ネイティブのとか)リソースを解放するのがDisposeの目的だから、 ちゃんと作ってあるものならDispose呼んだ時点でメモリ使用料減るよ。
>>110 じゃあマネージドなリソースは結局GCで解放されるってこと?
ネイティブで確保したメモリならそうだけど
>>102 の言ってるメモリはマネージドの方じゃね
マネージドのメモリはDisposeしたところで
GC可能になるわけもなく、解放されないから
参照を持ち続けてるなら当然使用メモリは増えていく
115 :
デフォルトの名無しさん :2012/08/09(木) 19:24:54.89
l-l ,-、,-、 / ̄  ̄\ \ l iillllllllllllii l l;;;;;l l;;l l llllllllllllllll l l;;;;;l l;l `、 ``´´ / l;;;;l ll `l ̄ ̄ ̄l ll l/ /丶 l l ノノ l l l ̄─、 /\_∠ノノ l´l l l `l ____ ( l l` 、 l ll ,─、l / \ ゴチャゴチャうっせーよ / ___」 l_ノ l l丶、_/ / ⌒ ⌒ \ うちころすぞ (  ̄ ̄l _」__⊥、/ / (●) (●) \ ) `-─ ̄ l´ ) | 、" ゙)(__人__)" ) ___________ ( ─_____-─´、 \ 。` ⌒゚:j´ ,/ j゙ ̄ ̄| | | | `l l `) / \ |__| | | | l ─_____ニ ̄ ̄ \n|| | | | 丶_ l ̄) r. ( こ) | | | ─____─ ̄ l |\ (⊆ソ .|_|___________| `、 l l /  ̄ ̄ ̄ ̄ ̄l二二l二二 _|_|__|_ 丶l___」/
当ててみろ ハワイへご招待するぜ
117 :
デフォルトの名無しさん :2012/08/09(木) 19:30:32.59
────────────────────────────────────────────── / ̄ ̄ ̄ヽ_ / ̄ ̄ ̄ヽ_ / ̄ ̄ ̄ヽ_ ̄ ̄ヽ_´ ̄ヽ_. ∠ ̄ ̄ ̄\ / ̄ ̄ ̄ヽ_ _/ /\ノ\) . _/ /\ノ\) _/ /\ノ\)、ノ\)、ノ\) ∠ ヽ. _/ /\ノ\) / // ッ ッヽヽ / // ッ ッヽヽ ./ // ッ ッヽヽ ッヽヽ ッヽヽ /  ̄ ̄ヽ、 i / / ヽ / ヽ | | (・) (・) | . | | (・) (・) | | | (・) (・) | (・) | (・) | . | ^ ヽ ! | | (・) (・) | | C ゝ .! .| C ゝ .! | C ゝ .!ゝ .!ゝ .! | 、^ ^ | i. | C ゝ .! ヽ_フ ー‐ / .ヽ_フ ー‐ / ヽ_フ ー‐ /ー‐ /ー‐ / . ヽ )> つノ . ヽ_フ Д / `ー──´ . `ー──´. `ー──´`──´`──´ `ー──´ `ー──´ ────────────────────────────────────────────── ドン ドン ド ド ドン ハァイ イクラ!
>>112 ほんとに誰も参照してないならね。
GC持ってる言語におけるメモリリークってのは、
どこか意図しないところで参照を持ち続けてしまって、いつまでたってもGC対象にならないオブジェクトを作ってしまうこと。
GC → 不要になったマネージメモリを解放 Dispose → マネージメモリ以外のリソースを解放 Finalize(GC)経由でDispose → Dispose呼び忘れの被害を軽減するためのバカ対策
Disposeは直接呼ばずにusingでまとめて呼ぶか、try-finallyすること
http://ideone.com/PBbU9 [NG]
void Dispose(){
a.Dispose();
b.Dispose(); //a.Disposeが例外投げたらリーク
}
[OK]
void Dispose(){
using(a)
using(b)
{}
}
[OK]
void Dispose(){
try{a.Dispose();}finally{
try{b.Dispose();}finally{
}
}
}
※ { using(a){} using(b){} } とusingを分けるとNG
121 :
デフォルトの名無しさん :2012/08/09(木) 20:31:41.58
比較的涼しいのにどうしたんだ
>>120 アホな心配する前にnullチェックしろよ
>>39 識別子に半角括弧は使えないよ。
そもそも、関数だとわけわからんことになるだろ。(w
>>41-42 おお、ボタン群か…、
>>46 が言うようにちょっと重いけどいいかも。
>>43 ボタンは単なる例だよ、それぐらい読み取れるようになろうよ…
>>45 VB の配列とかだと、ボタン(複数)(ボタン番号) とかなってしまう (w
クソども(複数形)
例えば複数形で、lineをlinesとするなら 単数形はlineじゃなくてalineにしなきゃおかしくね?
自分では絶対に日本語識別子使わんからどうでもいいけど、「〜〜のリスト」でいいだろ
>>125 英語という自然言語そのものに文句言ってくれ。
128 :
デフォルトの名無しさん :2012/08/09(木) 21:22:38.71
>>127 ●● ●●
● ● ● ● ● ● / \
● ● ● ● ● ● / \
● ●● ●● ●
● ● _____
● ● /
● ●●●●●● ● / /
● ● ● ● /
● ● ● ● ./
● ● ● ●
● ● ● ● / ̄ ̄\
● ● ● ● | |
● ● ● ● \ /
● ● ● ● /
● ● ● ● |
● ●●●●●●●●● ●
● ● ● ● ○
いくつかの辞書でしらべてみたが、alineは動詞しかないようだが
130 :
デフォルトの名無しさん :2012/08/09(木) 21:30:44.23
>>129 ●● ●●
● ● ● ● ● ● / \
● ● ● ● ● ● / \
● ●● ●● ●
● ● _____
● ● /
● ●●●●●● ● / /
● ● ● ● /
● ● ● ● ./
● ● ● ●
● ● ● ● / ̄ ̄\
● ● ● ● | |
● ● ● ● \ /
● ● ● ● /
● ● ● ● |
● ●●●●●●●●● ●
● ● ● ● ○
Disposeが例外投げる仕様ってどうなんだ? C++使いからすると吐き気がするんだが
何のDisposeの話? Disposeはインターフェースのメソッドで例外投げるかどうかは実装によるから何ともいえないよ
>>131 データベースのセッション閉じるときとかに、どうしても欲しくなるときがあるっぽいけども。
C# のusingだとDispose時の例外拾えないけど、
Javaのtry-with-resources構文なら拾えるぜってJava方面の人が喜んでた。
多分その用途だとFinalizeとして考えるよりPythonのContextみたいのを考えるべきかもね Javaはそっちに近いだろう
そもそもDisposeの例外発生を考慮して書く というのもいかがなものか 例外出しちゃう実装がヘボイという事では?
Close事前に呼んどいたらいいじゃん
自分でDispose書くときは例外を外に出さないようにするけど
よそのライブラリとかのDisposeからは例外が飛んでくる可能性があるものとして扱ってる
MSが「Disposeから例外をスローしてはいけません」って断言してくれと良いんだけど
少なくとも.NET1.1の頃は
http://msdn.microsoft.com/ja-jp/library/cc406710 (v=vs.71).aspx
>場合は、 Dispose は例外をスローできます。
なんて書いてある
2.0以降はこの文が無くなってるけど「常にスローしない」かどうかは
説明の歯切れが悪い
using使えよアホ
てかみんなどうやってリソース関係のコード書いてるんだ class Hoge { IDisposable manA; // マネージド IDisposable manB; // マネージド IDisposable unmanA; // アンマネージド IDisposable unmanB; // アンマネージド /* ry */ } ちょっとだれか/* ry */を埋めて完璧なコード書いてくれ すべてのリソースはコンストラクタで確保する前提で
IDisposableの時点でアンマネージドとは言い難い気がする
>>144 TransactionScopeの悪口は止めろ
int* a,b だと 普通のC言語だと bは普通のint型変数になるけど C#で int* a,b って書いた場合は bもポインター型になるのか unsafeなんてめったに使わないからうっかり間違うことはないか
148 :
デフォルトの名無しさん :2012/08/09(木) 23:27:51.95
>>147 C#はそもそも同じ型しか同時に宣言できないだろ
Cの宣言は混乱の元だよ
そんな糞宣言できるようにしてるからポインターで悩むやつがいるんだ
Cのポインタ関連の記述はほんと見づらいね ポインタの概念はわかるけどCのポインタはもうすっかりわからん
問題はDisposeを誰が呼ぶか。 考えてみれば当然だが落とし穴。 // NG i=1600で落ちた。 for (int i = 0; i < 10000; i++){ this.button1.BackgroundImage = Image.FromFile("〜"); } // OK 余裕で完走 for (int i = 0; i < 10000; i++){ var image = this.button1.BackgroundImage; this.button1.BackgroundImage = Image.FromFile("〜"); image.Dispose(); }
ちなみにNGの方、GC.Collect()入れても結果変わんなかった。 何で?
GC.Collect()の後にGC.WaitForPendingFinalizers()を入れてみたら? それでも変わらないならImage.FromFileから返るオブジェクトに FinalizeからDispose呼ぶ処理が書かれてないんだろうね 書くのは必須では無いし
これだ!ありがとう。 でもOutOfMemoryが発生する前に自動でこれをやってくれたらいいのに。 Dispose呼んでないけど参照は解放したわけだし。
>>126 pubic Button [] ボタンのリスト; // ← 配列なのにリストって馬鹿の極み、そもそも今時実装を意識させる命名なんてありえない。
自動でやってくれないし、ほっといたらGCがいつ走るかわからんから なるべくDisposeで自分で開放しましょう、ってことになってるんだろ
IList<T>はインターフェイスであって実装ではないけど つーか実装の隠蔽を主張するならまず配列を止めろ
>>156 >>125 は、( 配列とかリストとかの実装に関係なく複数の奴は ) 「〜〜のリスト」でいいだろ
と言う主張だと思うんだが、理解してないのか?
>>157 >>125 は知らんが
>>126 は違うぞ
俺が書いたから分かる
最初はリスト/コレクション/シーケンスって書いてあったけど長いから削ったんだよ
159 :
157 :2012/08/10(金) 07:33:34.17
>>158 すまん、レス番間違えてたな。
> 最初はリスト/コレクション/シーケンスって書いてあったけど長いから削ったんだよ
だから、そういう実装方法を名前に入れるのがおかしいと言ってるんだよ。
最初リストで作ってて途中でコレクションに変えたら、名前まで変えるのか?
今更昨日のショボイネタを掘り返さんでもよかろうに
163 :
デフォルトの名無しさん :2012/08/10(金) 11:51:05.51
ネトウヨきもっ、まで読んだ。
165 :
デフォルトの名無しさん :2012/08/10(金) 11:56:19.36
最後まで読んだ さすが姦酷人
日本語表現のリストってのはもっと広い意味を持つ単語だとは思うが まあ特定のクラスを思い浮かべる人がいるから避けといた方が良いってことが実証されたじゃないか
韓国大統領の竹島上陸はムカついた
168 :
デフォルトの名無しさん :2012/08/10(金) 16:53:54.98
質問があります C#を勉強して半年ほどになりますが、アクセサを未だに使ったことがありません。 ウェブや書籍で勉強しているのですが、いまいちピンときません。 アクセサといったりプロパティといったり構造体といったり定義もいまいちはっきりしません。 現在利用している機能でアクセサに近いのかな?と思うものはリソースや設定ファイルだと思うのですが。 アクセサを使う利点、必要性を例えを交えて教えて頂けないでしょうか。
使う側がget,setって書かなくて済む それだけ
>アクセサといったりプロパティといったり構造体といったり 構造体とはいわねえよw
>>168 > 現在利用している機能でアクセサに近いのかな?と思うものはリソースや設定ファイルだと思うのですが。
いったいどんなウェブや書籍をみたらそんな考えに到達するんだ?
構造体が出てきたのは 構造体の「フィールド」を「アクセサ」とか「プロパティ」と誤解しているのでしょう
173 :
デフォルトの名無しさん :2012/08/10(金) 18:11:55.58
wwwwwwwwwwwwwwwwwwwwwwwww
struct B{ ← 構造体 public String Value { ←プロパティ get{...} ←アクセサ set{...} ←アクセサ } public String Value2; ←フィールド(メンバ変数) }
C#でアクセサといった場合、一般に指しているのはsetアクセサとgetアクセサ GetXXX、SetXXXはアクセサメソッドと呼ばれ区別されがち
176 :
デフォルトの名無しさん :2012/08/10(金) 18:23:44.14
汗くさそうなスレですね
フォームをレイヤードウインドウにして、時計を表示させたいんですが
override OnPaintに時計表示のコードを書いても表示されません。
どこを改善すればいいでしょうか?
レイヤードウインドウ関連の部分はコピペ丸出しで申し訳ないです・・・
ttp://ideone.com/jOjVD
178 :
デフォルトの名無しさん :2012/08/10(金) 18:42:26.83
179 :
デフォルトの名無しさん :2012/08/10(金) 18:47:04.53
思ったように動かなくてもいいんだがせめて動かないというのがポトペタすれば 再現できるコードにして出してくれ いろいろ足りないみたいだし再現する状態にもっていくのに手間がかかるって
private void timer1_Tick(object sender, EventArgs e) { this.Invalidate(); this.Update(); }
C++で書いたコードを再利用するにはどうすればいいんですか? DLLにして使うんですか?
185 :
デフォルトの名無しさん :2012/08/10(金) 20:41:57.99
_人人人人人人人人人人人人人人人_ > ゆっくりしていってね!!! <  ̄^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^ ̄ ,..--‐‐‐‐‐‐‐‐---.. ..--‐‐‐‐‐‐‐‐---.., /::::ヽ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;) (;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::\ |::::::::::/ ヽヽ // ヽ::::::::::| .|::::::::::ヽ ........ ..... |:| . // ..... ........ /::::::::::::| |::::::::/ ) (. .|| || .) ( \::::::::| i⌒ヽ;;|. -=・=‐ .‐・=-.| .|.-=・‐. ‐=・=- |;;/⌒i |.( 'ー-‐' ヽ. ー' | .| 'ー .ノ 'ー-‐' ).| ヽ. /(_,、_,)ヽ | | ノ(、_,、_)\ ノ ._|. / ___ .|. .| ___ \ |_ _/:|ヽ ノエェェエ> | | くェェュュゝ /|:\_ :::::::::::::ヽヽ ー--‐ / ヽ ー--‐ //::::::::::::: ::::::::::::::::ヽ \ ___/ /\___ / /:::::::::::::::
186 :
デフォルトの名無しさん :2012/08/10(金) 21:07:30.31
ゆっくりできるか
うん
きばっていこ〜
191 :
190 :2012/08/10(金) 23:15:48.09
普段Formアプリを作る場合はFormクラスを継承してたForm1にごりごり書いてるけど この間にForm->hoge->Form1ともう一段別継承クラスを挟む場合 デザイナーに認識させるにはどんなおまじないを入れればいいんだ?
普通に基底クラスを書き換えればいい 作成時に選択も出来る
193 :
デフォルトの名無しさん :2012/08/10(金) 23:21:52.49
>>192 よくわからんw
>>190 は普通にクラスを作成して継承のところをFormにしたけどそうじゃなくて
Formの追加を行って継承すればよかったのかね?
>>191 hoge を普通に定義して、エディタでクラス名をツールボックスにドラッグすれば hoge が
デザイナーに認識される。
最初やったときは、マジですげーと思った。
195 :
デフォルトの名無しさん :2012/08/10(金) 23:58:38.03
VS2010, WPF4で書いています。 おそらくC#ネタなのでこちらで質問いたします。 やりたいこと ・exeの「ヘルプ」ボタンをクリックすると、ローカルファイルのhtmlを開く ・htmlファイルを開くプログラムは、OSによって関連付けているもの (通常は、既定のブラウザ) ・htmlの途中から表示したい (<a name="hoge"></a> に対して <a href="foo.html#hoge"></a>のように) つまり、ヘルプファイル(html)を、途中の章の位置から 既定のブラウザで開くことをしたいです。 (htmlをnotepad.exeなどに関連付けている場合は、救えなくて良いです) System.Diagnostics.Process.Start("help.html"); とすれば、関連付けられているプログラムで help.html を開くことは できましたが、 name="hoge" の位置で開くことができません。 ****.Start("help.html#hoge"); などとやってもダメでした。当然ですが。 別のAPIでも構いませんので、上記を満たす方法が ありましたらご教授願えますでしょうか。 よろしくお願いします。
>>194 カスタムコントロールはそれでいいけど今回問題にしてるのは土台となるとFormだよ
>>196 いみわからん。
Form 自体をいじりたいわけじゃないんだろ?
>>197 Formに書くんだけどFormを継承したレイヤードウインドウ対応のカスタムFormを
部品化したかったんだがうまくいかないんだよな
デザイナーのほうはpartial classで定義されていて 継承元がなんであるかなんて一切関知してない partial class Form1 { // 自動生成されたコード } だから普通にFormを作って public class InheritForm : Form {} public partial class Form1 : InheritForm { public Form1() { InitializeComponent(); } } これでいいよ。 あとはデザイナをリロードしろ。
コンポーネントのModifierがprivateだとか、 .NET2.0系のを基底に置いてるとか、 基底がインスタンス化出来ないとか
202 :
195 :2012/08/11(土) 00:33:44.57
>>201 レスありがとうごさいます。
ユーザーシェア8割程度が救えたら良いなと
考えています。
が、いずれにしましてもIEで
出来そうにないようなので、
章を別のファイルに分けるしかなさそうですね。
ありがとうございました。
203 :
198 :2012/08/11(土) 00:35:02.02
素のFormなら問題ないな
>>190 のやつを継承すると多段継承した後の最後のFormをデザイナーが表示しねえ
>>202 #をURLエンコードした形で渡したらだめ?
"help.html#hoge"
↓
"help.html%23hoge"
原因わかった 最後にコードを書くFormには protected override System.Windows.Forms.CreateParams CreateParamsで 設定してるレイヤードウインドウ周りのコードがあってもデザイナは問題なく表示するけど その継承元になるFormに入ってると駄目だわ・・・ Formを継承して部品化するより単なる補助クラスとして部品化するほうが無難そうだな
>>195 <meta http-equiv="refresh" content="0;url=help.html#hoge">
と書いたhelp_hoge.htmlを開けばいい
リダイレクトか いい発想だ
>>190 >>206 透過用のBitmapに表示させたいものを書かないとダメなんですね。
新ロジックの関数見ましたが、ああやるんですね。Invalidate()もUpdate()もいらなかったとは・・・(´・ω
非常に参考になりました、ありがとうございました。 精進します。。
210 :
195 :2012/08/11(土) 18:28:22.71
>>204 結果はNGてしたが、
URLエンコードの観点は忘れていました。
ありがとうございます。
>>207 IE、chrome、FFで確認できました。
ありがとうございます。
色々な方向から課題を見るのは
難しいです。
勉強になります。
何を言ってるのか分からん そのまま使えるぞ? System.Drawing.Point使ったりしてるのか? ならそっちじゃなくてSystem.Windows.Point使う
そのコードの機能は全部そろってるから、アセンブリの参照追加できないorしたくないって話か
ThreadクラスでJoinメソッドを呼び出して非同期処理をしているんですが Abortじゃなくて、一時中断ってすることはできないんでしょうか? Suspendは古いってVSに怒られます
外部から強制中断とかナンセンス ワーカースレッドの中で適宜フラグなり何なり見て自分で実行状態を制御する
>>211 それはXAMLとあるからWPFやSL向けの話だな
Winformでも確かできたと思うがやり方が基本的に違うはず
でどっちで作ってるの?
217 :
214 :2012/08/11(土) 23:41:43.32
>>215 なるほど。たとえばスレッド内のフラグを判別して、無限ループに突っ込ませるとかそういうことですか?
while(suspend == true)
{
Thread.Sleep(100);
}
こういう感じですか?
218 :
211 :2012/08/12(日) 00:21:16.49
すいません。解決しました。 WindowsBaseの参照追加と using System.Windows; を同時に追加したら、 それまで使っていたSizeが大量にエラーになって パニクってしまいました。 (参照やめたり、using消したりの堂々巡り状態) System.Drawing.Sizeにするより、 usingやめてSystem.Windows.Vectorで 書きます。 失礼しました。 レスくれた人ありがとう。
using xxx = System.Windows.Vector;と書けばエイリアスが設定できるよ 名前空間に対しても可能
>>217 スレッド側は処理があるうちは定期的にThread.Sleep(0)を実行、
やることなくなったらManualResetEvent.WaitOne(Timeout.Infinite)などを使用して待機
メイン側からThread.Interrupt()で中断、ManualResetEvent.Set()で再開
http://ideone.com/idbWx 再開もInterruptで出来るけど、正常系で例外生成のコストが発生するので
ResetEventの方を薦める
ネトウヨ王に、俺はなる!まで読んだ。
日韓スワップ協定の凍結で韓国滅亡まで読んだ
スワップ凍結と同時に韓国国債を売らないと日本も相当損を被るぜ
事前に売っとかないとなー
事前に売ったら韓国国債を保有している他の国に迷惑が掛かるだろう
ネトウヨはキチガイだな。 他で馬鹿にされすぎて、逃げてきてム板で暴れるなんて。
228 :
デフォルトの名無しさん :2012/08/13(月) 16:34:27.63
Abcde 12345 アイウエオ って文字列があったとして、Abcde 12345 だけを削りたいです。文字数は変わるので固定するわけにも行かず。どうすればいいんでしょうか。 Splitを使う、というのは聞いたのですが改行してしまうだけでして…。
半角だけというのなら方法はあるよ
230 :
デフォルトの名無しさん :2012/08/13(月) 16:49:20.05
どういう規則なのか… 半角スペース区切りで最後の要素とか 全角を残したいとか
普通は正規表現だな いきなり固定とか出てくるのがよく分からんが
232 :
デフォルトの名無しさん :2012/08/13(月) 18:33:55.59
正規表現でぶったぎればいいんですかね。 数字のところに\d\d\dとかやっても上手く反応してくれなくって。 全角より後ろを残したい、って感じですね。
いやまず仕様決めろって 決まってないのに適当になんでも作るなよ
他人にすらちゃんと説明出来ないルールを コンピュータに伝えられるわけが無い
ごめんなさい半年ROMります
■日本政府、韓国と合意した金融協力を変更せず維持
政府は13日、これまでに韓国と合意した金融協力を変更せず、維持する方針を明らかにした。
李明博大統領が島根県・竹島に上陸したことで日韓間の緊張が高まっているが、両国経済の相互依存が
深まっていることを配慮し、国際的な合意を順守することが関係改善にも重要と判断した。
日本と韓国は緊急時にドルなど外貨を融通し合う通貨交換(スワップ)協定の大幅拡充や、
日本によるウォン建て韓国国債の購入で合意している。
昨年10月に合意したスワップ協定では、韓国への資金支援枠は
従来の5倍以上に増え、総額700億ドル(約5兆5千億円)とした。
韓国経済の安定は日本の利益にもつながるためだ。
産経ニュース
http://sankei.jp.msn.com/economy/news/120813/fnc12081318150009-n1.htm
ネトウヨ王に、俺はなる!まで読んだ。
仕様を伝えて欲しいのに 半年ROMるとか意味分からない
きっと本当になにもデキない人だったんだろう、また戻ってくるさ
典型的な日本の上流工程。自称SE。
趣味でかじってる程度だけど、ある程度処理の流れとかデータを受け持つクラスとかくらいは設計するんだけど リファクタリングはまったく同じ処理をしてるところとか、いつも同じ数値なのに違う変数を使ってるところとかを一元化するくらい 最終的には完成するんだけど、そこまでがバグ+仕様変更の嵐。 それが悩みなんだけど、趣味でも最低ここまで設計しといたほうがいいよってのない?
バグを見逃して後で困らないように単体テスト書きながらやるとか 頻繁に仕様変更される所(UI関係とか)の変更が、データを受け持つクラスに波及しないように分離する設計を心がけるとか
configファイルに保存してる値って、 int i = Properties.Settings.Default.hoge みたいな感じでコード内でいちいち呼び出して使っていいんでしょうか?
すみません、言葉足らずでした。
コード内で変数に代入して使うのが多分一般的なんだろうとは思うんだけど
コード汚くなるの気にしなければ
>>243 みたいな使い方でもいいんでしょうか?
むしろそれが本来というかメインというか 243的な主用途はFormの設定のバインディング用途?
あ、あれ・・・なんか言いたいことと書いてることが支離滅裂ですね・・・ 何度もすみません・・・orz
つまり void Initialize() { this._name = Properties.Settings.Default._name; } void ShowName() { MessageBox.Show(this._name); } とするか void ShowName() { MessageBox.Show(Properties.Settings.Default._name); } とするかってこと? どっちでもいいよ
そんなおっかなびっくり使わなくてもwww
>>245 >>247 みたいか用途です、コード書いててどっちで使うのがいいのかなって思ったので。
ありがとうございますw
独習C#でC#の基本とWebサイトでFormの基本はおさえた感じなんですが そのレベルの人が取り組むといい事ってなんでしょうか 実践的なライブラリの使い方とかがいいかなと思ってるんですが 標準ライブラリが大きすぎてどこから手をつけていいのか……
>>250 使わないこと覚えても無駄
使うときにその都度再確認すれば必然的に必要なことは大体覚えられる
あとは
>>251 でもみてろ
IOや描画は必要になったときに覚えるとしても、コレクションやLINQを先に押さえておいても損はないんじゃね
必要性を感じなければ身に付かないよ
そもそも何があるか知らないと使えないからね。 ライブラリは広く浅く。 使う時にピンポイントで深くしたらいい。
これが作れればあとはなんでも作れるってのはなんだろう やはりシューティングゲームか。
なぜそう思う
ゲームしか知らないから
259 :
241 :2012/08/14(火) 18:40:16.79
>>242 単体テストは名前は知ってたけど、やったことはなかった
今度からやるようにする、ありがとう!
C# ExplressでTwitterにつぶやく方法教えろください
コード見た瞬間思考停止するようじゃ適性ないよ。 サンプルあるんだからちゃんと読め
ごめん、起きたら読むわ
秘儀 睡眠学習 夢の中では完璧なんだけれどなぁ おきた途端に忘れちゃうんだ
OAuthはコードじゃなくて仕様から入ったほうが分かりやすいと思う
269 :
デフォルトの名無しさん :2012/08/15(水) 11:47:55.26
つーか2chのような古臭いアクセス方法でちまちま転送負荷浮かそうとしてるような サイトじゃないのでwebAPIは比較的扱いやすいと思うんだよな ちゃんと資料も公開されてるし
using System; using System.Drawing; using System.Windows.Forms; class Program { [STAThread] public static void Main() { Application.EnableVisualStyles(); try { Application.Run(new MyForm()); } catch(Exception e) { Console.WriteLine(string.Format("Exception: {0}", e.Message)); } } } class MyForm : Form { protected override void OnLoad(EventArgs e) { base.OnLoad(e); throw new Exception("OnLoad Error"); } } このコードを動かしたところエラーが起こり「アプリケーションのコンポーネントで、ハンドルされていない例外が発生しました。」というメッセージが出てきました Application.Run(new MyForm())の中でOnLoadが呼ばれているハズなので例外をハンドルしていないということはないと思うのですがなぜこのようなエラーが起こるのでしょうか?
まずexeを直接たたいてみな
よくあるのが、AnyCPUで64bit環境で動かしてて32bitのDLL読んでる場合。
273 :
デフォルトの名無しさん :2012/08/15(水) 12:33:38.70
その前になんでそんな気持ち悪いコード書く必要あるの?
274 :
デフォルトの名無しさん :2012/08/15(水) 12:38:31.21
>>271 モニタ上にexeファイル表示させて、それをハンマーでたたいたら、モニター壊れたんですが、どうしたらいいですか?
> Application.Run(new MyForm())の中でOnLoadが呼ばれているハズなので... なんでそう思ったんだろう
いや呼ばれるだろ
すいません自己解決しました 細かいところは良く分からないんですがRunの中で別スレッド?が走ってるらしくて そこで投げられた例外はApplication.ThreadExceptionイベントで補足する仕様みたいです
別スレッドではないよ 例外機構が特殊なだけ
わかる人お願いします。 DataGridViewのセルを使ってバイナリエディタのようなものを作ろうとしています。 セルに1byteずつ表示させたいのですが、フォーマット指定で16進表記ができません。 stringで指定する以外の方法はないでしょうか?
281 :
デフォルトの名無しさん :2012/08/15(水) 17:14:29.21
>>280 日産NV350キャラバンを新車で購入するのがベスト。
それがダメならハイエースのディーゼルで3年落ち10万キロ以内を150万で購入。
それもダメならボンゴフレンディー最終型の良いタマを70万で購入すべし。
書式をX2にしてCellParsingとかCellFormattingをハンドルすればいいんじゃないの
.net2.0、C#でListの中のオブジェクトのプロパティに、特定の数値を含むものが有ったらそのオブジェクトをコピーする、みたいなのはどうすればいいんでしょう 現在foreachでリストの中の全部のオブジェクトに対してifで比較してるんですが激しく効率が悪い気がします
284 :
280 :2012/08/15(水) 17:37:45.46
DefaultCellStyle.Format = "X2"; でできました。"
>>283 実行効率なら大体ベストだろ
開発効率ならList<T>.FindAllとラムダ式
>>285 ええ、そうなんですか?
じゃあ2.0なんでこのままいくことにします
ありがとうございました
例外処理中にでた例外ってどう処理すればいいんですか?
データの構造など条件次第ではインデックスなんかを自分で作っておくなんてのもできるが 基本的には泥臭くやるしかないよ
>>286 一発でできる便利なものがあったとしても、その中ではやっぱり同じことやるしかないからね
>>290 >>288 そうなんですか…
なんかこう高速にできる検索アルゴリズム!みたいのがあってそういうのがあるのかと思っていました
基本的に効率のよいアルゴリズムってのは、データの規則性から省略できる処理を省略して速度を出している だから、なんらデータの情報が提示されないなら全部舐めるしかない ソートして二分探索というのもあるかもしれないが、要素数が少ないなら線形探索した方が速い 要素数についてもあなたは提示していないよね
何度もその検索を行うならインデックス作成 一度だけなら全スキャン
何度も続けて同じキーで検索されるケースって意外に多くて 前回のキーと検索結果を覚えておくだけで大幅に速くなることもある 何にせよパフォーマンスなんか実測したり統計とったりしなきゃ何もわからん
そうそう データ構造の解析とかできないとねえ
ええと、条件に関しては、 検索する対象は3000 ~ 数万、回数は10 ~ 1000回程度、数値はfloatです
>>296 たとえば扱うデータの分布を見て複数のリストを作ればいいんだよ
内部で今までと同じList<T>に登録する際に後に判断するデータを見て
ここからここまではList<T>AここからここまではList<T>B・・・とさ
>>297 なるほど!そういう風にやるのがインデックスなんですね!
って、見出しだから当然ですね。ありがとうございます。
つーか自分は自分がどんなデータを持ってるかも知ってるし 一度でもListを構築するときはデータを見るからねえ 以下に準備しておくかだよ アプリ起動時などは割りと許されるけど実行時にもっさりしてると 五月蝿い人多いからねえ
floatの特定の値の検索ってあんまり想像できないんだが誤差とか大丈夫か? ちゃんと比較時にイプシロン付けてる? そのへん考えてない(or考えたくない)ならdecimal(場合によってはstring)に しといた方がいいと思う
インスタンス生成順とインデックスが一致してるかランダムかで速度が変わりそうな気が
>>298 インデックスというかデータの範囲分割だね。
C#だとCollectionにオブジェクトの実体が格納出来ないから説明しにくいな。
DBなんかでは行データをシーケンシャルに格納しつつ、
行頭へのポインタをデータ探索に特化したインデックスに格納するよ。
代表的なのはB木インデックスとか。
やり方はいくらでもあるよ あとは自分で好きなようにやればいい
遅いと感じてから考えればいいよ
初心者スレ的にはそんなことより
>>300 の問題の方がずっと重要
floatなんて書いてある?
うわ、読み飛ばしてたorz
ふふふ
dataGridViewを行ごとに選択するようにしているんですが、今選択されているセルの次のセルを選択状態にする方法ってないですか? SelectNextControlメソッドかなーと思ったんですが、どうやら違うみたいで・・・
CurrentCell?
行毎に選択してるのに次のセル? 選択が行単位なのかセル単位なのか
へえ
315 :
310 :2012/08/16(木) 11:01:18.92
すいません、行ごとに選択するようになっていて次の行を選択するようにしたいです SelectionModeはFullRowSelectです
WindowsPhoneに興味があるんですがPC用のC#ソフトをそのままWPでも使えるんですか?
バイナリそのまんまでは使えません
>>316 .NET Compact Frameworkなのでライブラリとかある程度異なる
ありがとうございました
いえいえ
try { } catch (Exception e) { MessageBox.Show(e.tostring()); } とした場合にデバッグモードの場合はソースの行とか出てくれるんですが リリースモードの場合は出てくれません。 リリースモードでも出てくれるようにはできないでしょうか?
そんなんでリリースなんて言えるのか
>>322 プロジェクト設定→ビルド→詳細→デバッグ情報→pdb-only
exeと同じところにpdbファイルも置いて起動
>>323 確かに。
>>324 ありがとうございます。
pdbファイルが要るんですね。
それはちょっと具合が悪いですね。
いや、リリースビルドしたらバグったなんてケースもないとは限らないので 状況によっては要るだろうさ
>>326 ビルド設定がようわからん。
ビルド設定は複数定義出来て、プリセットが2つ。
デバッグだとPDB有り、最適化無し
リリースだとPDB無し、最適化有り
ということなの?
CheckedListBoxって二回クリックしないとチェックされないですか?
すいません自己解決しました CheckOnClickをtrueにすればいいんですね まさか検索一発だとは思わなかった
よくあることです 書き込んだら解決とか
ネトウヨ王に、俺はなる!まで読んだ。
Invokeについて教えてください。 他スレッドからコントロールを操作する場合に 同期処理でInvokeを使用すると思うのですが、 invokeを使用するとハンドルが増えていきます。 しかし非同期処理のbeginInvokeを使用すると ハンドルは増えません。Inokeでの処理がしたい のですがハンドルを増やすことなく処理を行う にはどうすればよいのでしょうか?
ハンドルって?
>>335 Windowsタスクマネージャのプロセスから見るハンドルです。
ハンドルが増えるって言われてよくわからん その増えると観測した情報もクレ
>>338 ハンドルって割りと簡単に変わるはず
何かのアプリをC#のプロセス確認する機能でみようとしたら
コロコロ変わって苦労した覚えが
同期するために同期オブジェクトのハンドル増えてんだろ単に
そりゃ、他のスレッドでの処理を待つ必要あるんだから同期用のハンドル増えて当然だろ。 awaitがある今、「待つな。BeginInvoke使え」が正しい回答だと思うけども。
>>334 Invokeで呼び終わった後に
GC.Collect();
GC.WaitForPendingFinalizers();
したらハンドル数が戻ったりしない?
>>339-342 なるほど、同期用のハンドルが増えているのですね、、、
ハンドル数が数千までいってこりゃヤバイ」って思ったのですが、
みているとあるところで一気に1000切るくらいまでハンドル数が
減ったりしていました。
>>342 さんの言われるようにガベージコレクションがそのとき
働いたのでしょう・・・手動でGC呼び出したら同じようになったので
344 :
334 :2012/08/17(金) 13:57:57.15
途中で送信してしまった(汗 みなさん、ありがとうございました。 理由がわかってすっきりしました^^ これからはBeginInvokeを使うようにします^−^
VSのテキストテンプレート(T4)糞すぎ Razorに置き換えてほしい
韓日中新冷戦:「南朝鮮人は出ていけ」日本に反韓ムード
日本の右翼団体が連日、在日韓国大使館の前で大規模なデモを繰り広げ、韓国ドラマ の放送計画が撤回されるなど、日本で反韓ムードが広がっている。
■右翼団体「李大統領は天皇陛下に謝れ」
「日本青年社」や「民族同盟」など日本の右翼団体は、15日午前8時ごろから、
東京・四谷の韓国大使館付近に街宣車で集結し、デモを繰り広げた。
街宣車の数は、午前中は3台にすぎなかったが、午後1時15分ごろには約20台に増え、
さらに3時ごろには、 大型バスを含め50−60台に達した。
右翼団体のメンバーらは靖国神社に参拝した後、 韓国大使館前に集結したことが分かった。
右翼団体のメンバーらは、大使館前の片側4車線の道路のうち2車線を占拠し
「李明博(イ・ミョンバク)大統領は天皇陛下に謝れ」「南朝鮮人は日本から出ていけ」などと叫んだ。
一部のメンバーは大使館に抗議文を渡そうと試みた。
http://www.chosunonline.com/site/data/html_dir/2012/08/16/2012081600724.html
オライリーのプログラミングC#6版買ったったwwwwこれでおれも一流C#erキタコレwwww
そういうときは 一流C#erにオラも仲間イリー っていうんだ
350 :
デフォルトの名無しさん :2012/08/17(金) 23:15:16.44
>>349 >>351 きぃーみーは だーれーとー キッスをーすーるぅー
/ ̄\ / ̄\
|/ ̄ ̄ ̄ ̄\ / ̄ ̄ ̄ ̄\|
| /V\\\ | /V\\\
| / /|| || | | //| || |
| | |(゚) (゚)| | | | (゚) (゚) /|
ノ\|\| (_●_) |/ \| (_●_) |/|/\ わぁーたーし そーれーとーもー
彡、 |∪| 、` ̄ ̄ヽ /彡、 |∪| ミ \
/ __ ヽノ Y ̄) | ( (/ ヽノ_ |\_>
(___) Y_ノ ヽ/ (___ノ
\ | | /
| /\ \ / /\ |
| / ) ) ( ( ヽ |
∪ ( \ / ) ∪
\_) (_/
/ ̄ ̄ ̄ ̄\
/;;:: ::;ヽ
|;;:: ィ●ァ ィ●ァ::;;|
|;;:: ::;;|<俺?
|;;:: c{ っ :;;|
|;;:: __ノ ::;;;|
ヽ;;:: ー ::;;/
\;;:: ::;;/
|;;:: ::;;|
|;;:: ::;;|
/ ̄ ̄ ̄  ̄ ̄ ̄\
|;;:: ::;;|
|;;:: ::;;|
韓国最大手の釜山貯蓄銀行が破産。自己資本比率は驚異の-50.29%
http://engawa.2ch.net/test/read.cgi/poverty/1345217353/ 釜山(プサン)地方裁判所は16日、債務超過に陥った釜山貯蓄銀行に対し、破産を宣告しました。
釜山貯蓄銀行は去年2月17日に営業停止処分を受けたのに続き、去年4月29日には、BIS=国際決済銀行による
自己資本比率がマイナス50.29%と、健全性を示す基準の1%を大幅に下回っていたため、
不健全金融機関に指定されました。
当時、釜山貯蓄銀行の資産総額は1兆3000億ウォン、借金は3兆5000億ウォンで、
資本金の増額や第三者による買収など経営改善の可能性も低いことから、
管財人が清算に向けて破産を申請していました。
5000万ウォン以下の預金資産や優良資産などはすでにブリッジバンクのイェソル貯蓄銀行に引き継がれており、
破産宣告により、釜山貯蓄銀行に5000万ウォンを超える預金を預けている
預金者と後順位の債権者は、破産手続きによる配当を受けることになりますが、
残った資産を処分しても、配当として受け取る資金はほとんどないものとみられます。
ただ、5000万ウォン未満の預金者は、今後もイェソル貯蓄銀行の管理のもとで、金融取り引きを続けることができます。
これに先立ち、今月14日には第一(チェイル)、第一2、プライム相互貯蓄銀行が
ソウル中央地方裁判所に破産申請を行っており、
トマト貯蓄銀行とパランセ貯蓄銀行もすでに先月、裁判所に破産を申請しています。
http://world.kbs.co.kr/japanese/news/news_Dm_detail.htm?No=44906
ネトウヨ王に、俺はなる!まで読んだ。
移植性を考えて書くときってどんなことに気をつければいいんですか? ただ単にWinAPIを使わなければ問題ないんでしょうか?
それはmono移植ってこと?
>>354 実行環境はwindows以外だとmonoしか知らないんでたぶんそうです
WPFとかShif-JIS絡みかねえ 最新版ではここら辺も解消されたのかも知れんけど
MonoはクロスプラットフォームなGUI(Javaみたいなの)について非常に懐疑的で、 GUIについては共通化なんて考えないで、WindowsならWinFormsかWPFかMetro、 LinuxならGTK#、AndroidやiPhoneについてもそれぞれ専用のライブラリを使うというように 共通化は考えないでプラットフォームごとに別々に実装することを強く推奨してる。 それに従うなら、GUIとそれ以外の共通化できる部分(いわゆるビューとモデル)をしっかり分離するのが大切。
LinuxなんてXの中ですら互換性いい加減だし
ふーん ブラウザアプリみたいなだれがどのブラウザでみてもインターフェースも機能も共通なアプリが大躍進してるのにのんきなもんだね
>>359 がHTML5+CSS3のカオスさを知らないのは分かった
ベンダープレフィックス埋めてくれるjQueryちゃんちゅっちゅ
>>359 ブラウザベースと比べた時のネイティブアプリ(Webじゃないってこと)の強みは?
と考えるとそれはやっぱりクライアントの機能・能力を最大限に使えることなのだから
中途半端に最大公約数的なもの作るよりもプラットフォームべったりの方が良い
ちなみにMonoで最も重視されてるのはサーバーでASP.NETを動かすことなんだぞ
金を集めるためにモバイルもやってるけどね
その割にはどこ見ても「(ブラウザ名)(バージョン番号)で動作を確認しています」の文字が並んでるものだ もっと自信持てよ 互換性あるんだろ?ん?
Webワールドって反MS気取りの奴が多いけど 今jQueryを開発してるのほとんどMSの社員なんだよなw
>>362 何も解ってないんだな
プラットフォーム固有の機能をつかえてもそれがアプリの実現したい機能でなければ意味ない
そしてマルチプラットフォームのアプリとはアプリの実現したい機能を想定するあらゆるプラットフォームで実現している
だからもうそれ以上にプラットフォーム固有の機能など必要ないんだ
もちろんわざわざ個別機能を利用して「この環境限定!○○機能追加!」というオナニーは可能だ
だがそんな環境固有の追加機能は本質を見失った蛇足機能にしかならない
GUIはどうせプラットフォームごとに調整しなきゃいけないんだから 共通にしてもあんまり意味ないって考えなんだろ 無理な共通化に手間を費やすよりは最初から別に作っちゃった方が早いと
>>364 ieが糞だから罪滅ぼしだろ
まだまだ足りないがな
>>365 ◯◯機能の利用がオナニーとは限らないじゃん。
柔軟に考えないと。
>>359 うかつに「HTML5ならマルチプラットフォームなので安心です」なんて言ってプロジェクト立てたら、コスト跳ね上がって死ぬぞ!
標準ってなんだろうとか、マルチプラットフォームってなんだろうって悩みだすまである。
そのレベルの奴はもう相当痛い目に会ってるだろうよ。
>>359 は、実務に就いたこと無い奴だろ。
http://ou812.web.fc2.com/CsTips/AnalysisMatrix.html このページのMatrix(行列演算)クラスを使っているのですが、
Matrixのインスタンスをそれぞれmat1,mat2,mat3として、演算子のオーバーロードを利用しようとして
mat3 = mat1 * mat2 と、乗算した結果を新しくmat3に代入という計算をしたいのですが、
おそらく = まではオーバーロード出来ないせいかこの計算ができません。
この場合はma1 *= mat2 という風にmat1に上書きするしかないのでしょうか?
mat1、mat2の値を変更せずに計算結果を代入させる方法はあるのでしょうか?
その原因は多分見当はずれ
>>371 実際にやってみたんだよね?
どんなエラーが出た?
どうやらforで回した時にインデックスが範囲外にはずれていたようです 訂正したら無事計算できました どうもありがとうございました
>>370 レスでもイラっとするのにリアルで使われた日には心の中で死ねと呟きそう・・・
Windowsの警告音(あの嫌な音)を音だけ出すにはどうすればいいですか タスクトレイに常駐させてランダムにならしたいんですけど
どんな嫌がらせだよw System.Media.SystemSoundsに最低限は入ってる
ひっでぇ嫌がらせだなおい 定期的でよければwhileであーしてThread.Sleep使えばいいと思う
スタートアップやサービスやタスクスケジューラに登録したり プロセスを複数起動して監視しあって一つ強制終了されたら二つ復活するようにしたり PC内にあるサウンドファイルをすべて警告音に置き換えたりするともっといいと思う
どうもありがとうございます 弟のPCに仕込む日がいまから楽しみです
見てますよ(´-`).。oO(CPUクーラのファンにゼムクリップさしてやるっ
ブラウザのリンクをクリックした時、極たまに鳴らすのはどうだろうか。
この際3.11以降聞きまくった地震の警告音を鳴らしてみてはどうだろうか
385 :
デフォルトの名無しさん :2012/08/20(月) 10:06:47.87
ひでぇなww
和んだ
<韓国の身の程> 次期主力戦車K2エンジンの開発まとめ 1/2 ・・・2005年、韓国は開発テスト用としてドイツから買ったパワーパック数基を元に、 突然ドイツのパワーパックをパクルと宣言をする。 その流れで、韓国が100基単位で買う予定だったドイツ製パワーパックを突然キャンセル ・・・ドイツ側は唖然&抗議 パクリの担当は、エンジンは斗山インフラコア&韓国防科研共同開発、 変速機は韓S&T大宇社・韓国防科研共同開発 以後4年間、ドイツの再三に渡る抗議は笑って黙殺、ロイヤリティ交渉にも応じない。 2009年・・・韓国念願のパクリエンジン完成、K2の評価試験開始 しかしエンジンが早速壊れる、ウリナラコピー修理不可能、修理代案も出ず、 この解決の為にドイツまで「何故パクリが上手く行かないのか?」っと上から目線で聞きに行く(マジ ドイツ憤怒!追い返される・・・・・・だが何回も聞きに行く、でもダメ しょうがないので、今度はドイツからエンジンを買うのを条件に技術移転を引き出す交渉に行く、 交渉は出来た様だが、韓国に手痛く裏切られたドイツ側の最終回答はノー 韓国はドイツからエンジンも売って貰えず、技術移転も無い。 同2009年・・・しょうがないので、ドイツエンジンにパクった変速機を付け K2評価テストを続行、2010年に評価試験をとりあえず終わらせる。 だが、パクッた変速機も故障・・・・・・故障原因は数ヶ月経っても不明 当然この間もパクりエンジンの不調の原因を調べ続けるも、原因不明
韓国は言語に欠陥があるからどうしようもない
ネトウヨは馬鹿まで読んだ。
ドイツの技術力は世界一ぃぃぃぃぃ
この戦車、トルコに売って無かったか?
実はネトウヨが正しいと思い始めてるまで読んだ
393 :
デフォルトの名無しさん :2012/08/21(火) 10:15:39.90
流れの途中でスミマセン。 VS2010のc#でエクセルライクな表の表示って可能でしょうか。 データベース使うほど高度な物ではなく、 変数の値を表示するだけなのですが、 行数が可変なのと、セルの色を変える必要があるので、 線を引いてラベルで表示するというより 表として表示したいと思っています。 調べても見あたらないので その様なコンポーネントは無いのかなと思っていますが・・・
395 :
デフォルトの名無しさん :2012/08/21(火) 10:30:40.74
>>394 様
ありがとうございます。
標準のコントロールにあったのですね。おはずかしい・・・
他のアプリケーションに対してキーを送信するのは、 SendKeys クラスを使ってできたのですが、 キーのクリックだけでなく、キーの押しっぱなしをシミュレートするのはどうやればいいのでしょう?
すみません。自己解決しました。 keybd_event C# でググったら見つかりました。
なんでkeybd-inputみたいなレガシーメソッドを使う SendInputにしろ それもこれも陳腐化した情報のランクをグーグルが落とさないからだ カスめ
最終更新日付けないサイト側が悪いんだよ
新しい SendInput に置き換えられましたみたいな記述は見かけましたが、 今やりたいことに関してはSendInputのほうが使い方がややこしいような気がしてあまり見てないです。 とりあえず動くものを作るという目的の現時点では、古い関数でも簡単に書ければ十分かなと。 プログラムのほかの部分も完成してきてから戻ってこようと思います。
HttpWebRequest/HttpWebResponseを使ってヤフーにログインしたくて かれこれ2ヶ月くらい試行錯誤してるのですが、どうしてもできません。 ログインのpost先がhttpsなので傍受ツールでも何を送っているのか調査できずに 手探りになってしまうのですが、なにかヒントを頂けないでしょうか。
ソースだせ つーかユーザーエージェントかクッキーを見て判断してるとか以前ここか別のところでみたな
>>402 傍受ってまさかパケットアナライザで見てるのか?
アホかlivehttpheadersとか使えよ
傍受なんてしなくてもYahooはログインのAPIを公開してるだろ. ログインに限らず、YahooならたいがいのサービスはHTMLのレスポンスに頼らないで利用できるぞ
ではAPIのないサイトではどうするんですか?
API無いならブラウザコントロールでログインしたほうが早い
HTMLレスポンスに依存するのは最低最悪の最終手段 ちょっとページのデザインが変わっただけで死亡
410 :
デフォルトの名無しさん :2012/08/22(水) 21:29:49.09
>>402 2か月続けても出来ないってことは、あなたには残念ながら適性がないようです。
さっさとそれに気がついて、そして諦めなさい。
datagridviewにタスクを表示させて現在実行しているタスクを選択状態にして見やすいようにしているんだけど 今はEnabledプロパティをFalseにして固定しているけど、スクロールもできないのでかなり不便 スクロールはokだけど選択だけさせない方法ってないの?
>>408 ブラウザでログインしたクッキーをHttpWebRequest/HttpWebResponseで使えるようにする方法ってある?
>>412 あるよ。
実際niconicoでやったことある。
自民党内から文化交流停止の訴え「韓流、K-POPとかサムスン等も禁止したらいい」
http://engawa.2ch.net/test/read.cgi/poverty/1345744956/ 竹島、尖閣諸島と日本の領土をめぐって問題が続くなか、経済制裁を求める声が高まっている。日本政府は
李明博大統領(70)の竹島訪問と天皇陛下に対する発言への追加対抗措置の検討に入った。
政府は次官級以上の協議と韓国政府職員の招聘の凍結を予定。全府省庁は日韓両国が関わる政策、会合など
交流事業を再点検している最中だ。19日には竹島で李大統領の名前を刻んだ標石の除幕式が行われたこともあり、
国民の怒りは高まるばかり。政府としても何かしらの対抗措置を取らないと世論を抑えられないとの判断がある。
自民党は日韓スワップ協定の見直しを求める声明を出し、藤村修官房長官(62)も「検討することはあり得る」と発言。
これだけにとどまらず、自民党内からは文化交流停止の訴えも出てきた。
「韓流だとかK―POPとかも禁止したらいい。少女時代もKARAもアウト。韓国製の電化製品なども日本に
入ってきますが、不買運動もきっと起きますよ」(自民党関係者)
韓流ドラマもK―POPも今ではテレビで見ない日がないほどだが、竹島問題を契機に禁止してしまえというのだ。
テレビ局にも「こんな時期に韓流ドラマを放送するのはおかしい。控えるべきだ」という投書が寄せられているという。
禁止しなくても、李大統領の暴走のおかげで、もはや韓流は風前のともしびなのだ。
ソース:
http://www.tokyo-sports.co.jp/nonsec/32494/
まぁ票欲しさに言うだけなんだろうな、まで読んだ。
冬ソナだけは残してねw
419 :
デフォルトの名無しさん :2012/08/24(金) 09:12:50.35
とある制御ソフトを作っています。 毎日、起動時にその日の日付を確認して、 制御内容を選択させようと思っていますが、 日付を対象にフラグ値を持たせるのに、良い方法はありませんでしょうか。 2012年9月1日は1,2012年9月1日は0,2012年9月3日は2のような感じになります。 フラグ値はせいぜい0〜10くらいです。
420 :
デフォルトの名無しさん :2012/08/24(金) 09:14:11.71
↑すみません、誤字があったので訂正します。 >2012年9月1日は1,2012年9月1日は0,2012年9月3日は2のような感じになります。 ↓ >2012年9月1日は1,2012年9月「2」日は0・・・です
<schedules> <schedule date="2012-09-01"> <task action="action1"/> </schedule> <schedule date="2012-09-02"> </schedule> <schedule date="2012-09-02"> <task action="action1"/> <task action="action2"/> </schedule> … </schedules> こんな感じのXMLにしたら
DateTime dt = new DateTime( 2012, 9, 1 ); int[] flags = { 1, 0, 2, ............ }; var dic = new Dictionary<DateTime, int>(); for( int i = 0; i < flags.Length; i++ ) { dic[dt.AddDays(i)] = flags[i]; } キーがDateTimeなのがキモいが
それとも DateTime firstDay = new DateTime( 2012, 9, 1 ); int[] flags = { 1, 0, 2, ........ }; int 今日のフラグ = flags[( DateTime.Now - firstDay ).Days];
ユーザーに制御内容を選択させるのか プログラムに選択させるのかと思った
プログラムが日付に応じたルールで選択するんなら 起動時するたびにその日のルールで求めるだけだな 仕様が不明瞭すぎる
428 :
デフォルトの名無しさん :2012/08/24(金) 10:39:05.19
みなさま、いろいろご意見ありがとうございます。 参考にさせていただきます。 仕様は、ソフト起動時にフラグの値を読みに行くだけです。 ユーザーは、事前に何月何日にどの制御をさせるかを 登録するだけです。
高々一日一件なら検索方法なんてどうでもいいな
>>422 みたいな感じで保存しといて線形検索余裕
【速報】 韓国人の過半数が日韓軍事衝突を希望!!
http://engawa.2ch.net/test/read.cgi/poverty/1345810864/ 「日韓戦争勃発すれば日本を叩きのめすべきだ」 韓国人の過半数が対日報復を支持
独島(ドクト、日本名:竹島)問題と関連して日本が連日全方向攻勢をかける雰囲気と関連、我が国民の過半数以上が日本との
武力衝突が発生すれば強力に対応すべきだというアンケート調査が出た。
独島と関連して日本との武力衝突が発生したら「強力に対応しなければならない」という回答が56.2%を占めた反面、「同等な対処を加える」と
「持続的な警告を通じて外交的対処する」という回答が各々21%と22.9%であることが明らかになった。
李明博(イ・ミョンバク)大統領の最近の独島関連発言と行動については「当然のことだ」(42.9%)と「肯定する」(36.1%)という回答が多かった。
一方、日本総理が独島訪問などについて遺憾を表明、書簡については回答者の92.9%がこれを知っていることが明らかになり、
これについては強力に対処しなければならないという回答が61.9%を占めた。
日本が独島をはじめとする他国の国土に所有権を主張する理由については「埋蔵された有効な資源獲得」(47.6%)、「国内の政治的人気迎合」(33.3%)のためだと答えた。
今回の調査は95%信頼水準に標本誤差±9.56%だ。
チェ・ヒョンシク記者
ソース:日刊ニュース慶南(韓国語) 国民半分以上、'独島問題、日と武力衝突時、強力対応望んで' 2012/8/23
http://www.newsgn.com/sub_read.html?uid=29047§ion=sc45§ion2=
ネトウヨ王に、俺はなる!まで読んだ。
ブヨ息してないww
戦争で景気回復 まで読んだ。
WindowsFormsでバインディングって使いますか?
DataSourceは普通に使う Bindingはあんま見ない
WPFと比べてショボいからな データベースと接続するとき専用だと思ってる
DataView系しかDataGridViewが要求するインターフェイスをフルに実装してないし BindingList<T>がまともならもっと普及してた
delegateのメリットがよくわかりません。 呼び出すメソッドを委譲できることが最大のメリットとありますが、宣言して引数の数や型まで指定するなら普通に静的メソッド呼んでもかわらないんじゃないでしょうか? わかりやすいメリットといえばdelegate型変数にメソッドの複数代入か、メソッドを引数に指定できるくらいしか思いつきません。
・1メソッドしかないインターフェイスの代替 ・Observerパターン(イベント)に文法・バイナリレベルで対応するのに必要 ・おまけで非同期にも対応
その分かりやすいメリットだけで十分じゃないのかな 静的メソッドでポリモーフィックにできるかい
VBみたいに、コントロールのイベントにイベントハンドラを登録する、というのをやりたかったけど C#は完全なオブジェクト指向言語というコンセプトだから、、 VB6のHandlesみたいなわけのわからないものを使うんじゃなくて メソッドをオブジェクトとしてコントロールに渡すという形をとる必要があった。 そこでメソッドをオブジェクトにするための型を導入した。それがデリゲート。 当初のデリゲートは基本的にイベントの実装に使うものというのが大前提だったから、 マルチキャストなんて妙な機能があるわけ。
デリゲート無ければラムダ式が使えない 以上
デリゲートが無ければWPFのコマンドが使えない 以上
WPFのコマンドはデリゲートなしでもICommandを実装すれば普通に使えるだろ
445 :
デフォルトの名無しさん :2012/08/25(土) 20:00:07.86
winformだってイベントハンドラとか使えなくなるじゃね? デリゲートないと
コントロールに独自のイベントを追加したい時に使える 以上
デリゲートの意義が分からんとか言ってるやつはJavaでObserverベースのイベントを体験してみろ あまりの糞さにデリゲートの有難味を痛感するから デリゲートとイベントの関係を理解するのにも有効
以上とか以下とかうるさい
Javaは早くラムダを いつまで無名クラス書かすんだよ
Javaはもう滅びたろ。
クライアントでは永遠に夜明け前 サーバーでは余裕で現役
>>447 Observerパターン用のクラスがあるので簡単にできる
MACがある限りjavaは滅びない
>>452 イベントを提供する側が苦労するのは大した問題じゃないだろ
利用者がいちいちネストクラスを書かないといけないのが終わってる
紅茶の話はスレチな。
あれコーヒーだしょ!
457 :
デフォルトの名無しさん :2012/08/25(土) 21:10:16.50
>>442 あ、そうなんですか
それは不便ですね
>>446 それは良いですね
汎用的なライブラリ作れるほどの実力ないんで、Interfaceもdelegateも設計する側しかメリットないんじゃないの?って思うんですよね。
ここ初心者スレだし。 はじめdelegateってわかりづらいと思う 意味は分かるけど、だから何って感じで。 理解していって日常で使うようになると 別に単なるオブジェクトのひとつとしか感じなくなる んで無名デリゲートを経てラムダ式へと……
>>457 インターフェイスもデリゲートも抽象化させるためのもの
利用する側にこそメリットがある
例えば、コレクションやコントロールならこの機能は恐らくあるだろうって想像がつくでしょ?
そう思わせてくれるのはインターフェイスのおかげ
インターフェイスを使わないでクラスを大量に作ると
毎回クラスの中身を確認しなければ利用するのに不安が残る
460 :
デフォルトの名無しさん :2012/08/26(日) 05:42:31.61
純粋仮想関数定義したクラスじゃあ、ダメっすかぁ?
そして多重継承の話に戻る?
インターフェイスやデリゲートの必要性を感じないのは個人の自由だけど、 言語機能を削除しろとかライブラリを変えろって言いだすのは自重しとけよ
自重しなくていいけどMSに電話してデスクのオネーチャン捕まえて話してね
ライブラリはもっと使えるものを用意してほしいね jpegですら、開けないものがあったりするし 画像拡大縮小したらぼやけまくるし 高品質なものを求めると結局C++製のdll使うことになる
標準のライブラリは「多くの人が」「普通に」使えるものを提供している
>>466 見た目だけの問題なら目立たせたい行の背景色を変えるだけでいいだろ
画像拡大縮小は設定をもっと分かりやすい位置に置けなかったんだろうか なんで引数にしなかったのか理解に苦しむ Graphics単位でやらないと駄目か? そんなことはねえだろー あとストリームデコーダーくらいつけろよ あと壊れたカラープロファイルやら読み込んでクラッシュする時に何が原因か言えよ 原因が分かるように例外投げるのは基本中の基本だろ
画像拡大縮小は引数で指定できるだろ だいたいSystem.Drawingは10年前に設計されたものなんだから 文句があるならWPFかDirectXを使え
>画像拡大縮小したらぼやけまくるし >画像拡大縮小したらぼやけまくるし >画像拡大縮小したらぼやけまくるし >画像拡大縮小したらぼやけまくるし
>>469 Graphics.DrawImageには無いような気がするけど、どのメソッドの引数?
設定ってサイズ指定じゃなくて補間モード指定の話ね。
Graphics.DrawImageより速い描画は無いだろうか
DirectXはともかくWPFは中身GDI+ですし、System.Drawingとの違いなんて怪しいもんです。
>>474 ハンドル取り出してBitBltすると結構速いよ
477 :
デフォルトの名無しさん :2012/08/26(日) 10:51:01.92
>>473 普通はそんなに頻繁に補完モードは変更しない
ステートフルに設定できた方がパフォーマンス調整もやりやすい
>>475 WPFの中身はWICとDirect2D/Direct3D
479 :
デフォルトの名無しさん :2012/08/26(日) 10:51:46.61
FLASH脱出ゲーム攻略スレ・・・
>>478 そんなこと聞いてないんだよ。
「画像拡大縮小は引数で指定できる」と言うから教えてくださいと言ってるの。
482 :
デフォルトの名無しさん :2012/08/26(日) 10:54:21.85
>>480 その程度でよかったよ
個人情報とか誤爆してたら大変だわw
日常からの脱出ゲーとか作れよ
>>481 普通「画像拡大縮小の設定」とだけ言ったら常識的にスケールの設定だと思うだろw
イメージのサイズがわかってて、描くときのサイズも指定できるのに 拡大縮小ができないって、子供かよw
>>484 じゃあ設定できないという認識でいいですかね
やっぱクソだな
>普通はそんなに頻繁に補完モードは変更しない
>ステートフルに設定できた方がパフォーマンス調整もやりやすい
なんて言うけどよ、省略時はプロパティの値使って、指定されたら引数の値を使えばいいだけだろうが
静的型だからって頭まで固くしてんじゃねえや
補間モードなんてそう変更するでもないのまで引数用意してたら オーバーロード爆発するわ ただでさえDrawImageは多すぎなのに
>>486 それ言い出したらGraphicsのステート全部引数で渡せるようにしないといけないだろうがアホ
HTML5のCanvasでもJavaのGraphicsでもそんな狂ったことしてないわ
それはヘジがデフォルトパラメータ嫌ってたからで完全に自爆じゃない 自ら私は馬鹿ですと言ってるようなものだよね、楽しい?
490 :
477 479 482 :2012/08/26(日) 11:04:11.30
Javaは「10年以上前」ですから、そんなもの引き合いに出さないでいただきたいですね モダンな言語さん? javascriptなんかプロトタイプ書き換えりゃメソッド注入できるんだからそんなものどうでもいいんだよ
誰に向かってしゃべってるんだろうか?
言われたと思った奴じゃね 俺は違うな
C#だってGraphicsを継承すれば・・・って、sealedだった しかしまだ我々には拡張メソッドがある
なんでそう敵愾心むき出しなのか
496 :
490 :2012/08/26(日) 11:14:31.87
あーID欲しいわ〜
ソフトウェア板の避難所はIDあるよ。 ID欲しい少数派が過疎とはいえ集まってるから行ってみてはいかが?
>>497 そっちも見てるよ
もぐらたたきのコードアップしたのに音沙汰なしで止まってるよ
http://news.searchina.ne.jp/disp.cgi?y=2011&d=1110&f=national_1110_048.shtml 韓国人男性が指を切り日本大使館に送付、竹島領有権を主張=中国
韓国の男性が竹島領有権を主張するために、自分の指を切断し日本大使館に送っていた
ことが分かった。男性は韓国の警察によって書類送検された。
中国メディアの環球網が9日に報じた。
記事によると、書類送検されたのは韓国の蔚山(ウルサン)広域市在住の47歳の男性。
男性は「日本の竹島領有権主張」に抗議するため、これまでも何度か日本大使館前で自傷
騒ぎを起こしていた。
男性は2011年5月25日に自らの左手小指を切断し、宅配便を利用して日本大使館へ
送った疑いが持たれている。警察は届出を受けた後、男性に対して「拘留しないままの立
件調査」を行った。
男性は11年4月末にも日本大使館前で指を切り落とす騒ぎを起こしている。
韓国警察によると、「今回の事件で容疑者の小指は日本大使館まで送り届けられたが、
大使館側が指を確認したのかどうかは分かっていない」という。
韓国の警察関係者によれば、男性は「今年の福島原発の事故発生以来、韓国人が次々と
日本のために寄付をしているというのに、日本側は依然として竹島(韓国名:独島)の領
有権を主張している。これがどうにも我慢(がまん)できなかった」と主張している。
>>496 他板で必死にID変えて荒らしてるおまえが言うな。
指詰暴力団現る!まで読んだ。
>>501 のように突然発狂できるのもID非表示のおかげだね
ID出たら自演バレちゃうじゃん 割りと多いんだぜ?オレのレス。
>>473 高品質で補完モードをどう設定しようと
そこらの画像加工フリーソフトに劣るし使えない
文字なんてすぐ潰れる
そこらの画像加工フリーソフトはOSの機能ポン付けで誤魔化したりしないだけだろ System.Drawingなんて位置づけとしてはmspaintみたいなもんだ
クソだと言われてさらに卑下するとはすごい根性だな クソ未満だと何なんでしょ 汚泥?
こき下ろしたいだけなら他に適切なスレがあるよ
用途に合った道具を選べないやつには何をやらせても駄目、というだけの話
選ぶ事ができないなんて言っていないだろ 標準でついていればいいのにって話で できないなら他の方法を試すのが当然 幼稚なつっこみするなカス
電池が付属していますの思想はいいものだ ただしC#のそれは液漏れしているため他を使って下さい オーバーロード爆発もJavaという反面教師がいたのだから言語設計時に分かっていたはずなのに 何の手も打たずにみすみすリリースしてしまうなんておバカの極み
嫌なら他使えじゃねえんだよ 嫌だからもちろん他使ってるよ? 他使っていてもこき下ろすに値するというだけの話 適切なスレ? 俺はお前らに顔真っ赤になって反応して欲しいのだから、これ以上適切なスレなど無いよ
スレが伸びてると思ったらどうでもいい話で伸びてるな
ここにいるひとはみんはWPF始めているの? それともWinFormだけ?
駄目なやつは何やらせても駄目 煽らせても駄目
李大統領をつけあがらせた”韓流推し”
日本政府は先日、竹島の領有権問題を国際司法裁判所(ICJ)へ
共同提訴することを韓国政府に正式に提案した。
竹島を巡る領有権争いが日韓間で生じていることを国際社会へアピールする狙いだが、
韓国側は拒否する構えで、ICJでは審議されない可能性が高い。
そんな中、李明博大統領(70)の一連の行動は民主党政権の弱腰外交のためで、
中でも野田佳彦首相(55)、玄葉光一郎外相(48)の“韓流推し発言”のせいだとの声が噴出している。
自民党関係者は「野田首相や玄葉外相は露骨な“韓流推し”をしてきたことを悔い改めて、
本気で今回の事態に毅然と対応するとの態度を示すべきだ」と指摘する。
野田首相は、昨年11月の訪韓前に韓国紙のインタビューで
「私の妻(仁美夫人)は韓国のイケメンが大好き」と大ヨイショ。
玄葉外相も同じだ。韓国の金星煥外交通商相に
「玄葉氏はKARAや少女時代のメンバーの名前まで暗記しているほどK―POPに精通している」
と持ち上げられ、韓国大使館のレセプションでは
「年に20回、映画館に行くうちの半分は韓国映画。大好きなんです」とあいさつしていた。
韓国では、この2人の“韓国びいき”は有名な話。
こんな露骨な韓国への擦り寄りぶりが、李大統領をつけあがらせたとの見方だ。
「玄葉氏は強硬な態度を見せてはいるが、日和見主義でその場しのぎのところがある。
(こんな状況では)思い切って逆の行動を取るくらいの勇気や覚悟はないものかね」(前出の自民党関係者)
自ら貼り付けた“韓推し”のレッテルをはがすことが、韓国への強烈なカウンターパンチとなるが…。
http://www.tokyo-sports.co.jp/nonsec/33139/
518 :
490 :2012/08/27(月) 10:01:18.09
ああ、思い出した Graphics.InterpolationModeにBilinearなんかの設定があるよ
>>515 やってる人も居るし、やってない人も居る。
WPFというかXAML関連ってMSが作った新たな仕組を理解しないといけないのがあれだよね
あの程度に抵抗感じててよくプログラミングなんかやってられるな
522 :
デフォルトの名無しさん :2012/08/27(月) 11:12:00.00
>>521 仕組にそれほど抵抗はないけど実質Blendの吐き出すXAMLが最新仕様ということで
あまりいい資料が無い上で理解を進めないといけないのが辛い
無能ほど
>>521 みたいな抽象的な煽り方するよな
こんなとこで自己アピールして恥ずかしくないのかね
うん
525 :
デフォルトの名無しさん :2012/08/28(火) 00:03:19.32
でもC#のDrawingはなんであんなに遅いのかな ライブラリの中見ればいいというけど、そんな実力ないっすよ・・・ libtiffとの速度差がおおまかでも60倍くらい違うんだよね、C#遅すぎるよ 画像処理はJavaの方がライブラリーも豊富だしいいのかね
526 :
デフォルトの名無しさん :2012/08/28(火) 00:06:55.68
外からだが構造をみてるとDirect2Dあたりに依存してる感じだけどな
うん、Javaの方がいいよ
っていうかPC-88とか8bitの時代じゃあるまいし、ゲームと動画以外で描画速度の「遅さ」 がネックになるような分野がそうあるとも思えんが
日韓関係、経済や文化交流にも暗い影
改善の兆しが見られない日本と韓国の外交関係ですが、経済や文化交流にも影響が出始めています。
韓流ブームに沸いていた店からはお客さんが急に減ってきています。そして、韓流スターの来日を巡る
日本の政治家の発言に本人が反論する事態にもなっています。
韓国料理店や韓流ショップが数多く並ぶ東京・新大久保の焼き肉店。週末の夜7時頃、普段なら、
いっぱいになる客席には空席が目立っていました。
「やっぱり、いらっしゃるお客さんたちが減った。2〜3割以上だと思う」(従業員)
店員によりますと、客が減り始めたのは1週間ほど前から。ちょうど日本政府が竹島の問題について
国際司法裁判所へ提訴する方針を決めるなど、日韓関係の悪化が大きく報じられた頃です。
「予想してなかったですね。正直あまり、ここまでは」(従業員)
イ・ミョンバク大統領の竹島上陸や野田総理大臣の親書を韓国側が返却した問題などを受けて悪化した関係が、
身近なところにも影響を及ぼし始めています。
韓国のゴルフボール製造会社ボルビックは、日本のスポーツ用品会社に輸出する予定だった600万ドル、
およそ4億7000万円の契約について、日本側から急きょ、輸入を保留するという連絡を受けました。
「『今は韓国製のゴルフボールを売るのは難しそう』だと言われたので、輸入を暫定的に停止すると言われた」
(ゴルフボール製造会社 ボルビック担当者)
一方、日本で韓国旅行を中心に扱う旅行代理店では、8月の売り上げが去年の同じ時期に比べて3割ダウンしています。
続きはWebで
http://news.tbs.co.jp/newseye/tbs_newseye5116814.html
ネトウヨ王に、俺はなる!まで読んだ。
531 :
デフォルトの名無しさん :2012/08/28(火) 00:26:12.48
朝鮮の植民地と属国の歴史 紀元前108年〜220年:漢(植民地) 221年〜245年:魏(植民地) 108年〜313年:晋(植民地) 314年〜676年:晋宋梁陳隋唐(属国) 690年〜900年:渤海(属国) 1126年〜1234年:金(属国) 1259年〜1356年:モンゴル(属国) 1392年〜1637年:明(属国) 1637年〜1897年:清(属国) 1897年:下関条約により清の属国から開放される 1903年:ロシア朝鮮半島を南下。日本の尽力によりロシアの属国化を回避 1905年〜1910年:日本(保護国) 1909年:早期併合に慎重であった伊藤博文内閣総理大臣が安重根に暗殺される 1910年〜1945年:日本(併合) 1945年〜1948年:アメリカ(非独立) 1948年:大韓民国成立(アメリカ軍による朝鮮統治によって国家基盤が形成され成立) 1948年:軍事独裁政権誕生 1948年:済州島4.3事件 3万人虐殺 1950年:朝鮮戦争 400万人殺し合い 1950年:保導連盟事件 30万人虐殺 1951年:国民防衛軍事件 10万人虐殺 1951年:居昌事件 8500人虐殺 1979年:軍出身の大統領政権誕生 1980年:光州事件 600人虐殺 1993年:初の文民政権誕生
テストツールってNUnitが良いのだろうか、VisualStudio標準で入ってるやつがよいのだろうか?
チームみんながPro以上とか使ってるんなら、標準のでいいんじゃないかな。
>>535 ふむふむ、なるほどです。
一応Pro以上で統一はされています。(VS2010)
現在テスト系はこれを使うって決まっていないから
NUnitか標準のテストーツールで迷っていまして・・・
ありがとうございます^^
ネトウヨ王に、俺はなる!まで読んだ。
読んだクンまでがネトウヨです
540 :
デフォルトの名無しさん :2012/08/28(火) 22:11:15.19
荒らしばかりしているネトウヨのIPが収集されています。
541 :
デフォルトの名無しさん :2012/08/28(火) 22:27:50.70
>>528 コントロールの自作とかマップエディタとか作る時は結構ネックになる。
あと、画像を書き出す類のソフトとかだと耐えられないレベルだったりすることもある
断言するけどその程度の描画でパフォーマンスが気になるのなら それはGDI+のせいじゃなくて君のコードのせいだわ。
俺の場合ピクセルシェーダ使って処理してるけどな
D3Dホストしたりもできるんだから好きなようにやればいいさ
マップエディタってタイル敷き詰めたやつか? あんなもん滅多に更新する必要ないんだから少々描画が遅かろうが余裕だろ
>>545 マップエディタにも2種類あって、周りのチップを考慮するエディタとしないエディタがあるよ。
まわりを考慮するエディタは簡単な画像処理しないといけないから、生データ触らないとムリだよ。
そこで、SetPixelしちゃうようだとタコだけどね。
547 :
デフォルトの名無しさん :2012/08/28(火) 23:05:33.31
windows上でめんどうなのは解像度がまちまちなのがなあ・・・ それによって表示範囲が変わるし ある程度解像度が決まってる端末で作る場合は最適化しやすい
それぐらいテストしろよ Android開発に比べたらずっとマシだわ
Windowsにおいて、シンボリックリンク等で一つのファイルに複数のパスができることがあります。 パスの異なるファイルが同一のものかどうか確かめる方法はないでしょうか。
ハードリンクはGetFileInformationByHandleでファイルIDを得れば簡単だが シンボリックリンクやジャンクションはAPI一つでポンと取るような機能は無い
で?
GetFileInformationByHandleとGetFinalPathNameByHandleで同一判定可能
複数のPCから同時にアクセスするファイルを使用する場合、LINQとSQLが一番楽なのでしょうか? テキストファイルの一覧表をいじるだけなのでSQLである必要は無いのですが、 もっと簡単な方はありますでしょうか?
MySQLとかPostgreSQLとか使っとけ 変に工夫するよりちゃんとしたもん入れちゃった方が手っ取り早い
排他処理とか整合性が重要なのであれば、 その辺のことは全部きっちりやってくれるRDBMS使うのは確実だと思うね
勉強する気がないんなら尚更データベースサーバー使うべきだろ 自分で変なの作って後で余計なトラブルに悩まされ続けることを考えると、 最低限の知識で完璧なのが手に入る方を選ぶ
557 :
553 :2012/08/29(水) 12:51:49.86
>>554 ちょっとググった感じではMySQLの方が資料は多いけど、postgresqlの方がシンプルな感じですかね?
もう少し調べてみます
>>555-556 はい、付け焼刃で勉強して使うより、既存の物を使った方が安定するかと
自分のプログラムである処理をするとFormが終了できなくなってしまいます FormClosingイベントにブレークポイントを置いてフラグを見ると、Cancelプロパティがずっとtrueになってしまいます 自分では変更していないんですが、Cancelプロパティがtrueになる理由って何が考えられますか?
OnFormClosingをオーバライドしてないか?
560 :
デフォルトの名無しさん :2012/08/29(水) 15:26:22.39
ruby2.0がかなりすごいらしい
NaClで動くとかいう話ならC#もだいぶ前からMonoならNaClで動くよ?w
そういうネタなら1ヵ月以上誰もレスしてないNaClスレに書いてやれよ…
Googleのリサーチ成果の新技術()って鳴り物入りで宣伝されてたいていすぐ消えるよね リサーチ成果の実用化に関しては実際MSの方がずっと成功してるきがする
SPDYはあっというまに大手のあちこちに採用されたけどね。 HTTP2.0のベースになるみたいだし。
Googleにクライアント技術は無理
鳴り物入りで登場した革新的な新技術!と言うよりは 1回のコネクションにつき1リクエストしか送れないとか ヘッダが非圧縮で冗長とか、サーバーからプッシュ配信できないとか 今となっては古くなったHTTPの性能を改善するアップデートだよね。
Go(笑)
Go(笑)
>>557 SQLServerが一番ラクじゃないの?
>>553 くらいならSQL直書きの方が手っ取り早そうだから何使おうがほとんど変わんなくね
ASP.NETとか使う予定があるならSQL Server(Expressで十分だろ)にしといた方がいいかもしれないけど
FileShareじゃダメなん?
鯖置けるならPostgreSQL NASみたいな単なるストレージ使うなら アクセスの最中だけ排他ロックしてSQLite 無償MySQLで使うならクライアント側もGPL前提でやること フリーウェアでもソース非公開はアウト まぁ社内とかだろうから気にしなくていいだろうけど
別にMySQL使うだけならGPL関係無いよ 組み込んで使うわけでもあるまい
MySQLはデータプロバイダもGPL
>>573 以前のMySQLのクライアントライブラリはLGPLだったから
使うだけなら問題なかった
しかし今はGPLに変更されているから使うだけのクライアントもGPLになる
MySQLを使って開発して後でそのことに気付いた場合は
有償ライセンスの購入、つまるところ現権利者であるオラクルにお布施すればOK
SQL Server Compact でいいじゃん
SQLiteも同時アクセスすると壊れやすい 今のSQLiteは知らんけど
そりゃ環境や使い方で簡単に壊れるだろうさ
普通に使い方の問題じゃないか
>>577 これハンディのバッチアプリで使ったけど問題なかったけどなあ
SQLCE3.5 + .netCF3.5
Compactの3.5ってSP2まで出てるからなぁ どうしたらつぶれたのか、SPで解決してるのかとか解らんとなんとも
フォームアプリケーションでコンソールを表示する方法ってないですか?
AllocConsole
TextWriterを実装してテキストボックスにリダイレクトした方が便利
そして循環バッファを使わず盛大に溜まるログ
588 :
デフォルトの名無しさん :2012/08/31(金) 13:15:31.82
FluentNHibernateを試しているのですがSessionFactoryの生成に 数秒かかるという状況です。なにかよい改善方法はありますか?
589 :
558 :2012/08/31(金) 14:25:19.65
>>559 してないです
もしかしてFormClosingイベント利用してるからですか?
>>588 使ってる人いませんので、返事は帰ってきません
>>588 普通サーバーで使うものなので初期化時の遅さは全く問題になりません
起動時間が重要になるようなアプリでそんな重いのを使おうと思うのが間違い
ORMってサーバー用途を想定して起動時間を度外視で実効速度優先で作られてるのが多いよ NHibernateはJavaからの移植だからまさにそう
ORMはアンチパターンだよ
594 :
デフォルトの名無しさん :2012/08/31(金) 17:39:10.19
>>590 確かにググっても日本語の情報は皆無ですね。。。
>>591-593 メインはサーバー(ASP.NET MVC)なのですが、バッチとメンテナンス用で
一部がコンソールアプリケーションになっています。
もともとRuby on Railsで書かれていたものを「サーバーの処理を速くしろ」
という理由で書き直させられているのですが、今度はバッチ側が遅いという
状況になってしまいました。。。
もうプロセス起動しっ放しにしといてIPCかなんかで呼べよ
ふふふまるでFastCGIですな
親日なんて居たのか?
600 :
デフォルトの名無しさん :2012/08/31(金) 20:23:29.97
おまえらどんなORMつかってるん?
Entity Frameworkが多いんじゃないか
ORMと呼ぶのかは知らんが多いのは型付きデータセットだろ
型付きデータセットはたしかに推されてたが、実際使われてるか? あんまりメリット感じられなかったが
デファクトスタンダードと言っていいレベルで使われてた
そういえば.NETってプロセスを常駐させといて必要な時に起こすような仕組み無いよな 自分で実装するのは簡単だけどMEFみたいに統一されたやり方があってもいいのに
今だと、Workflow Foundation作って、Windowsのタスクに登録するとか。
Workflow、PowerShell 3.0に統合されてたし、という意味で。
.netはOSじゃないし。
ないしね
しね
Formのレイアウトで質問 ↓みたいなの作りたいんだが、全体をTableLayoutで分割して、FlowLayoutを入れ子にしてボタンを並べようとしたんだが、AnchorとかDockをいじってもボタンの縦方向中央配置ができない 代わりにどのレイアウトを使うべき?もしくはプロパティの設定でどうにかなる? ┏━━━━━━┓ ┃ツリービュー ┃※高さ可変 ┃ .┃ ┃ .┃ ┃ .┃ ┃━━━━━━┃ ┃ [ボタン]… ┃※高さ固定 ┗━━━━━━┛
上の枠と下の枠としてそれぞれPanelを使うとして
上のパネル…Dock=Left|Right|Top|Bottom
下のパネル…Dock=Left|Right|Bottom
>>611 みたいにグリッドレイアウトを分割して…みたいな考え方をしたいならWPFへ行け
>>611 PanelをDock = Bottomで設置しとけばいいんじゃね?
その中にButton入れとけば
614 :
612 :2012/09/01(土) 11:10:34.01
訂正 DockじゃなくてAnchorだった
間違えるなよしばくぞ
応やってみろや
まじでやったろか
マジでなどと言わずマジにどうぞ さあどうぞ
しばいてほしいなら住所と交通費出せ
うわw交通費請求とか雑魚過ぎw これでしばくとか言い出したの?ダッサー
食費もたのむ
この一人芝居面白いの? 俺は面白くないんだけど感性がずれてるんかな?
完全に怒らせたね覚悟しろよ
交通費出さなければしばかれないそうなので覚悟なんかするまでもありませんぜ雑魚ちゃん
わかった、交通費は自己負担するから住所さらせ
>>612 ,619
サンクス
レイアウト系はあんまり使うべきじゃないんだね
>>627 使うべきじゃないとかじゃなくて思うように動かない場合は
イベントを利用して自前で処理書くしかない
WinFormsの*LayoutPanelの糞さは異常
>>611 FlowLayout自体を中央配置にすればいいだけだろしばくぞ
使い所を間違ってたり使い方理解してなくて クソと言うやつがいるがそいつがクソ
所詮フレームワークに統合されてない後付なんちゃってレイアウトだから WPFと比べてクソなのは事実だし仕方ない
俺には
>>611 が言ってることがさっぱり理解できないしそれが俺の読解力の問題とも
思えないんだが、このスレってエスパーが多いのか
WinFormsを自分で使ったことがあるのであれば、さすがにお前の読解力の問題
自分で使う以外に使う方法なんてあるのか?
そのパネルの入れ子は糞重くなるからやめとけ
やめとけじゃなくて、代案提示しろよカス
ネトウヨ王に、俺はなる!まで読んだ。
てs
hoge.GetType() == new Hoge().getType() オブジェクトの型を調べたいんだけど、 インスタンスを作らずに比べる良い方法を教えて下さい。 ゲーム作ってるんですが、ポーズ画面オブジェクトがアクティブ状態になったら メイン画面のとあるオブジェクトを描画しないみたいな処理にしたいです。
is演算as演算 でもそれって型で判別するようなこと?
IsPauseみたいなフラグを持つか switch (GameState) { case GameState.Pause: みたいにするべきだな
ゲーム向けの状態遷移を研究すればいいよ そんな実装しなくてもいけるから
いやこれtypeofで済む話じゃないのかよ だってHogeかどうか知りたいだけだろ
ちょーリロードしてなかった
>>647 いやいやそのhogeは結局広域変数じゃないのか?
ポーズしてるかどうかなんて本質的にグローバルな状態なんだから広域変数でいいんだよ
わざわざややこしくする必要はない
もしどうしても広域の状態変数を使わないんだったら、
メイン画面のとあるオブジェクトを描画するかどうかの判断はポーズ画面オブジェクトに任せるべき
結局
>>641 みたいに外から条件判断するんなら全く意味ないぞ
やりたいようにやらせろよくだらねえ てめえ先公かよ
あらゆるマが少しづつ持ってる悪い癖です。 あらかじめご了承ください。
・画面や音関連を参照できる唯一のstaticな大元のマネージャークラスが1個ある ・上記フィールドにアクセサーを通して参照できるメソッドを持っている スプライトマネージャー抽象クラスを継承したマネージャークラスが多数ある ・スプライトからは直接画面や音を参照できない こんなかんじで実装してます。 スプライトマネージャーからは一部ですが余裕で参照してますね。
スプライトからはグローバルなスプライトマネージャを通じて 他のスプライトや画面や音にアクセスできるってこと? そりゃ実質全部グローバル変数だわ
うん、で? それがあなたの人生に対して何らかの悪影響を与えますか?
c#は文法が複雑杉。
全然複雑じゃないんだが
多機能という意味では複雑ともいえるが、Cの構文(とくにポインタ周り)に見られるような 非直感的なとっつきの悪さがあるかというと、そういう意味ではむしろ単純ともいえる。
文法はC++並と言っていいくらい複雑になってしまったが、使う分には これほどシンプルに問題を解決できる言語はメジャーな言語の中では他にないと思う
delgateの構文は直感的じゃないと思う。
おれからしたら、3.0以降はどんどんperl化、c++化してんね。
タイキョク!!
C++のマクロとテンプレートの魔境っぷりに比べれば単純杉
better Cとはなんだったのか
yieldとasyncというステートマシンジェネレータとか ラムダが式木オブジェクトに化けたり匿名メソッドでローカル変数がヒープに行ったりとか 実行時何するかわからんというC++とはまた別の複雑さ
C++は文法は難解でもまあ書いたとおりに動くが C#は単純なコードからは想像もできないILを吐く
多機能化はヘジのオナニー。
1.1文法+ジェネリックまでなら素直に動くし
理解できなかったのなら使わなくてもいいんだぞ
文字列の仕様なんであんなんなんですか? 先頭の大文字を小文字にしたいとか 改行取り除く、付け足すとかでいちいち複製とかアホくさいんですが?
コンピューターさんにとってはいちいち変更させる方があほ臭いからだよ
>>670 StringBuilder→string
char[]→string
>>670 変更不可が保証されてることによる利点があるから。
イミュータブルで検索。
イミュータブルでない文字列もちゃんと用意されてる
まあInternとスレッドセーフ性の問題でしょうね 基本型でlockなんか使われると堪らんでしょうな
>>672 c++でのstring型乱立と変わりませんね。
textbox1をクリックした時にイベント発生させたいんだけどどうすればいいのかえ? Enter押した時とかは出てくるけどクリックは出てこない、困った textbox1_Clickとかじゃなんかエラー吐くし
>>675 え?
string型を複数の方法で作れるってだけの話だが理解できなかったのか
いちいちしょうもねーネタで煽るなよ
それより
>>676 に答えてやれ
>>676 「なんかエラー」って具体的に何ていうエラーですか?
>>665 違うよ、C++な人はyieldとかasyncみたいなことをライブラリとマクロとコード生成で頑張るんだよ。
>>679 private void textBox1_TextChanged(object sender, EventArgs e)
を
private void textBox1_Click(object sender, EventArgs e)
に書き換えても
'WindowsFormsApplication2.Form1' に 'textBox1_TextChanged' の定義が含まれておらず、
型 'WindowsFormsApplication2.Form1' の最初の引数を受け付ける拡張メソッドが見つかりませんでした。using ディレクティブまたはアセンブリ参照が不足しています。
とか言われちゃうのよね。困ったわ。
Cプラプラでyieldなんて出来るのか?
OSのファイバーとか使って実装してる変態はいるみたいだけど さすがにテンプレートやマクロでステートマシンの生成は無理だろ
>>681 書き換えるんじゃないよ、追加するんだ。
>>684 ごめんて
>>685 ググってもそれっぽいのがでてこないんだけれどどこに追加すればいいの?
>>686 横着せずにチュートリアルからやれよ
お前はまだ人から教わるレベルじゃない
飛ぶことを学んで、それをいつか実現したいと思う者は、
まず、立つこと、歩くこと、走ること、よじのぼること、
踊ることを学ばねばならない。
(ニーチェ)
プロパティのイベント一覧の中にあるClickをダブルクリックするだけ。
>>681 イベントを作成するとIDEが自動でイベントを宣言するコードを書いてくれる
そこにtextBox1_TextChangedが登録されているはず
しかしお前が書き換えたことで、存在しないメソッドを登録していることになりエラーがでる
エラー文をダブルクリックすればその箇所に移動するので容易に判断できるはずなんだが
それすらもわからないのか?
>>687 はい、ごめんなさい
>>688 イベント一覧というものが有ったことを今知りました。ありがとうございました。
>>690 お前プログラマに向いてないわ
恐らくお前は低学歴で自分なりの学習法すら確立してないだろ?
そういう奴は学習効率が恐ろしく悪くて役に立たない
まぁ、ふらっとですし
初心者用で低学歴とか何とか言っちゃう人って
9月だけど実はまだ夏休みなんだぜ。
初心者でも限度があるじゃん あのレス内容だと説明書みないで いきなりIDE弄って、わかりませんって言っているだけじゃん そんなのに答えてたらキリがないだろ
696 :
動悸息切 :2012/09/02(日) 02:29:08.53
697 :
679 :2012/09/02(日) 02:32:14.83
全ての解決の糸口になった俺がMVPだろ
>>696 最初の図で挫折した。
基礎と歴史なのになんで同期オブジェクトの話じゃないんだ。
うん、20レスぐらい節約出来たと思う
>>697 確かに盲点というか、想像の範囲外に原因があったからな
早めに気づいて助かった
>>696 Threadで安全に作るのは知識が必要。非同期プログラミングモデルでやるのは面倒。
Taskとasync/await使う方が簡単でコードも見易いぜ
Rxも慣れると凄く便利。
知識が必要って言ってもアセンブラの知識がないと理解できないからな。時代的に難しい。
つかThread.Suspend系統は新しいプロファイルでは非公開にしていい気がする
Taskだと順不同だからThread使ってる
Task一つ作ってContinueで繋いでいけば順不同じゃなくなる ライブラリを知り、ライブラリを使うって簡単に言ってくれるけど 全能じゃねーんだから難しいわな
ソケットで同期TcpClientでバイナリデータを送受信してるんですけれど Taskかasync/await使った非同期参考例って、理解しやすいサイトありませんか? もう既に解ってる人を対象に釈迦に説法されてるような内容じゃなく 解ってない人に解りやすく書いて頂いてるところ ないかなぁ。 await Task.Run(() =>System.Net.Sockets,client.GetStream(); で非同期になっちゃたりします?もしかして。
>>695 べつにお前が回答しなきゃいけないわけじゃないから
>>1 を億千万回音読してクソして寝ちまえ
>>706 await client.ConnectAsync(ip, port);
using (var stream = client.GetStream()) {
int n = await stream.ReadAsync(buffer, 0, buffer.Length);
受け取ったデータを処理する;
}
ブロックする操作には〜Asyncというメソッドが追加されているので
それを呼び出してawaitすれば非同期になる
なければTask.Runでもいいけど
709 :
デフォルトの名無しさん :2012/09/02(日) 18:08:18.86
DLL側の定義は以下なのですが、 typedef char int8_t; void* FormatOpen( const char* fileName ); // fileName should be UTF8 C#でDLLを呼び出そうとすると、マーシャルエラーになってしまいます。 [DllImport("example.dll")] private extern static IntPtr FormatOpen(byte[] filePath); byte[] sbf = Encoding.UTF8.GetBytes(f); IntPtr fh = FormatOpen(sbf); どのように修飾するべきなのでしょうか。。
>>709 なんでファイル名にバイト配列指定しているの?
参考にはならんかもしれんけど、 マーシャリングで煮詰まったときは もうアンマネージメモリに領域確保してそのポインタ渡しちゃうとかするな [DllImport("example.dll")] private extern static IntPtr FormatOpen( IntPtr filePath ); byte[] sbf = Encoding.UTF8.GetBytes(f); IntPtr p = Marshal.AllocCoTaskMem( sbf.Length + 1 ); Marshl.Copy(...); // sbfをpにコピー FormatOpen( p ); Marshal.FreeCoTaskMem( p );
とりあえず \0 付けとかないと駄目じゃね GetBytes(f+"\0");
>>709 ・その関数定義だと__cdeclじゃね?
・NULL終端できてない
>>711 ・WindowsじゃAPI引数でUTF-8はまず使わないんじゃないかな
・AllocCoTaskMemはゼロクリアされるとは解説されてないからNULL終端できてない
>>709 関数の定義が間違っているようには見えないから、単にゼロ終端してないせいじゃないのかな。
どういうエラーが出てるのかわからないけど、AccessViolationExceptionが出ているのなら
ゼロ終端がないために文字列の後の領域まで読もうとしてエラーになっているんじゃなかろうか。
[DllImport("example.dll", CallingConvention = CallingConvention.Cdecl)] private extern static IntPtr FormatOpen( IntPtr filePath ); byte[] sbf = Encoding.UTF8.GetBytes(f + "\0"); IntPtr fh = FormatOpen(sbf);
工エエェェ(´д`)ェェエエ工
ラムダ式をイベントハンドラにaddした場合、removeするのはどうやればいいですか?
-=
>>718 これでOK?どうもです。
button1.Click += (sender, e) => MessageBox.Show("dummy");
:
button1.Click -= (sender, e) => MessageBox.Show("dummy");
フフフ
同じ内容のラムダ式はコンパイラが判断して同じ参照を返す理解でOK? MessageBoxの内容が一文字でも変わったらremove出来ないですか?
>>719 >>721 試してみればわかるが
同じ参照を返すわけがない。
>>719 のコードではイベントをデタッチはできない
つーかremoveしたいときはラムダ式にすることはできない
複雑怪奇。
>>722 どうもです。一回束縛したやつ使うようにします。
ラクダ恐るべし。
今夜がラムダ
質問です。 Task.Factoryで処理の実行先をTaskScheduler.FromCurrentSynchronizationContext()等で指定した場合の 実行経路はどのようになっているのでしょうか。 ContextのDispatcherへinvokeされるとかですか??
素数の数を羅列したり、1から1億の足し算に何m秒掛かったとかの例以外のTaskのサンプルありませんか? いろんなコード見てみたい。&今の職場から足洗いたい。
>>729 そんなレベルの奴はどこいっても役立たず
機能の説明をするのにそんな大それたサンプル書く奴なんかいねーよ
ちょっと手を動かてみることさえも面倒がっているから、今の場所に居るってことをそろそろ気づけよw
733 :
デフォルトの名無しさん :2012/09/03(月) 09:49:07.49
C#で、イベントハンドラを引数とする関数を実行する際に、 以下のJavascriptのように、引数の中に処理を書いてしまうような書式はありますか? hoge(function() { hogehoge() }); 順番にイベントを処理していくのにイベントハンドラがあっちこっちに飛ぶと、 読みづらくなるケースがあるので、 できればこういう書き方をしたいんですが。
こんばんわ、ラムダ正和です
竹 島 は 日 本 固 有 の 領 土 で す 。 ┌─┐ │●│ ├─┘ | /!\ _ __/-- ::!\ ./\_/"r---、 / !、__/ ヽ ヽ \ /ヽ / /ヽ ヾi___ ,/ i_.: ヽ \ ! \ ....../;;;;;i .\.!. !:::: " ヽヽ / /:: :::: /:::: :::::i.:::::::'''''\|_/ /i __ヽ ::::::...... / / /::::::::i./ :: .\.:::::::::''' 丶 ̄ヽ───""".::::......... / :::i _::::::::::::::::/ \ ::::::::::::::::: ̄ヽ__ /丶--、___−--! ̄"" ザザァ ───── … ''':::::::::::::::::::::::::::'''''''''''''''................... ...::::::::::::::::::'''''
741 :
デフォルトの名無しさん :2012/09/03(月) 19:36:25.10
ネトウヨは売国奴。
func[x[f]]がDelegateだから、元のfuncにキャストするかDynamicInvokeを呼び出す
Dictionary<char, Func<char[] c, int i, Tuple<int[], int>>>にしとけばいい どうでもいいけどいくらサンプルでも読みにくすぎ まずタプルとかやめてくれ 他の言語との相互運用のためにあるんであってC#で使うもんじゃない
Array.Indexof()って何でクラスメソッドなんですか? メンバーメソッドの方が良いと思います
> public delegate Tuple<int, int> func(char[] c, int i); > public Dictionary<char, Delegate> func; funcはdelegateなのかDictionaryなのかはっきりしろ というかref/outでもない限りFunc/Action使ってdelegateは自分で定義しない > public delegate Tuple<int, int> func(char[] c, int i); > func['l'] = new func(list); > public Tuple<int[], int> list(char[] x, int f) new func(list)は通らないだろ > func['l'] = new func(list); > int v = f = func[x[f]](x, f); //ここでメソッド名が必要ですと言われる func[]に入るのは結局どんなデリゲートなのか delegate Tuple<int, int>(char[], int) delegate Tuple<int[], int>(char[], int) delegate int(char[], int)
静的メンバー インスタンスメンバー
>>745 配列がArrayを継承してるのは形式的なものにすぎなくて、
Arrayクラスが配列の要素を持っていたりするわけではないから
749 :
745 :2012/09/03(月) 21:25:27.55
>>748 何を言ってるのかわかりません。
var data = new int[]{1,2,3,4}
var index = data.IndexOf(3);
と書けてしかるべきだと思います
750 :
デフォルトの名無しさん :2012/09/03(月) 21:32:50.77
>>749 こういえばいいのかな?
そうだよね、君の言う通りだよね
と
ちなみにそういう愚痴はMSに言え
751 :
デフォルトの名無しさん :2012/09/03(月) 21:36:15.54
rm r, タマの裏までしっかりね〜! .なわ┌─┐ .ヾ_`ヽ キ キ /),;彡んた | .ち│ \\ ャ . ,、 ,.-─‐-、 ャ l ,- / でし│ん .! 赤\\ ッ !`ー--/ /´`´`ヽ ッ // 聞もた | .ち│ ち. \`ー、__.`ー-i / ∩ ∩ | ,.-‐´/ い ち...| .ん | . ゃ `-、_ 7´`ヽ| r─-, .|_,.-,.-´ ,.-‐´ア て に.└─┘ ん オ Y_ ト、_ヽノ / |_,-´ ハ ね 勃 も .__ ホ ヽ / |_二| |_,.-´ __ハ ! 起 /;;;;;;;;;;;;;;ヽ ホ |ノ | ,.-‐´:::::::::ヽ_ 大な怖 あ洗皮 す /;;;;;;-‐´`ヾ;_,.-‐´ / /::r‐-::::::イ:::::::i 丈.く.が げっ を る . {;;! ^ L!^ | (⌒) (ll (::::|の へ/::::::::::}夫て.ら て.て.む の ヾ、_ ノ▽ /-、-イ | ._||_っ`| く_ )::::::::::::}!も ! .い よ ./ ヽT二T|/ イ | (ミ / .\┘人,--、/ て ∫ | | / /ー-´ ヽ /  ̄| / ヽ  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ _ i⌒i い 拭 __ ま う ┌─┐ .ト;;;;;i.く :.| い け /´ \. ぁ ん .| .ま..| XT !.ノ か ば .|⌒⌒ヽ |__ : ヽ__ . | .ん | i7N_ ら |,-、,-、| 人ヽ /::::::::::::l .| .こ .! 7_N ヽー |./ ヽ! (:::::::::::::/| └─┘  ̄ ̄|/ヽ| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄7--イ/\ ̄ ̄ ̄/ー,-|ノ ̄ ̄ ̄ ̄ ̄  ̄  ̄ /ー┘! .〉 / /| ヽ,,/`丶、 ( | Y | .|/ .|,-くヽ-‐、/ | | | .| /f | r‐Y二/─── | ヽ./ | .| | ト、_____ | | .| .|___l .! |
ちなみにこれならできるよね MSが決めた仕様の範囲でできない配列を使ってできないのはおかしいと 駄々をこねる前にこういうので対応すればいいんじゃないの? var data = new List<int>() { 1, 2, 3, 4 }; var index = data.IndexOf(3);
Javaに無いからだろ .NETは設計当初、Java(J#)サポートを結構重視してたから 配列にメソッド定義できないJavaに合わせたんじゃね charも全部静的メソッドだし、stringはJavaでもインスタンスメソッド呼べるからインスタンスメソッドだし
どうしてもやりたけりゃ拡張メソッド書けば?
((IList<int>)array).IndexOf(3) これは通るんだから技術的な理由ではないわな いろんな言語をサポートするためだろきっと
ゆとりに構うなよ。
質問。 true演算子の存在理由って何? implicitなboolへの変換演算子だけでは不十分な場面があるんだろうか?
ま、一貫性がないことは確かだ 確かなのでぜひMicrosoftに入社して直して欲しい C#7.0くらいまでは待ってあげるよ
7.0とかいつ出るんだ 2020年代に突入してそう
>>760 VS2002(C#1.0)→VS2003(C#1.1)→VS2005(C#2.0)→VS2008(C#3.0)→VS2010(C#4.0)→VS2012(C#5.0)
この調子なら7なんてすぐだろ
>>759 ありがとう。
3秒では分からんかったのでじっくり読んでみます
>>757 implicitなboolへの変換させたくないからだよ。
配列は参照型だけども。 まあちょっとIL的に特別扱いされてる型だからなぁ。
あるWinFormsコントロールのUIスレッドにBeginInvokeで作業をさせたいんですけど、 BeginInvokeってある種のキューですよね? キューがたまってたら破棄してエンキューしたいです 何か方法ないですか?
ないです 自前でマネージャーを挟むしかない あれはキューはキューでもWin32APIのメッセージキューを借用してますので
UIスレッドに、キューがたまるほど作業させるなよ
>>768 そうですか
自前でなんとかします
>>769 別スレッドにメッセージループがほしかったのでダミーのコントロールを作ったんでした
BlockingCollection<Action> queue = new BlockingCollection<Action>(new ConcurrentQueue<Action>(), 最大数); -Producerスレッド- while (!queue.TryAdd(() => { 動作; }) { //成功するまで追加を試みる lock (queue) { //いったんロックする if (queue.Count == 最大数) queue.Take(); //消しすぎ防止のため再度数をチェックしてから一つ削除 } } // すべて追加し終わったらqueue.CompleteAdddingを呼ぶこと -Consumerスレッド(ブロックするからUIスレッド不可)- while (!queue.IsCompleted) { //queue.CompleteAddingが呼ばれてキューが空になったら終了する Action item; lock (queue) { item = queue.Take(); } // Takeはキューから一つ取れるまでブロックする control.Invoke(item); // UIスレッド上で実行されるまでブロックする } めんどくせえw
タスクトレイのアイコン(notifyIconのIconプロパティ)に指定したicoファイルはビルドした時にexeの中に組み込まれるのですか? icoファイルを名前変更しても正常にアイコンが表示されたので…
ビジュアルデザイナで作ったんなら リソースの中に入ってるよ リソースは実行ファイルに埋め込まれるよ
やっぱりそうなんですね ありがとうございました
>>771 結局UIスレッドに追っつかないほどの処理を詰め込むんだから何も解決してないような
初心者が抱える問題の大半は動機にある 変なことしているなと気づけるかどうかが学習効率に大きく差が出る
( ・`ω・´)キリッ
レイ
>>780 画像用ファイラーみたいなの試しに作ってまして
アイコンにマウスカーソルホバーでサムネイル表示(UIとは別スレッド)させたいんです
マウスをばばーってやると処理中に次の要求が来るんですが
ビジー状態が終わったら最後の要求だけに応えたいわけです
最後のアイコンのサムネイルとか、画面外にでたら消すとか
BeginInvokeでやってたときは、ばばーっと動かして画面外に出ても
キューに溜まった分全部表示してから消える、みたいな感じになってしまったので。
結局ビジーかどうかのフラグをもたせて排他制御しつつ、
フィールドに最後の要求をぶちこむという方法で
なんとなくうまくいってるような気がします
俺だったら面倒くさいからっポーリングで済ます
最後の1処理だけ動けばいいって事なら、 UIスレッドがその1処理の識別子を公開してやり、サムネスレッドはその情報に合わないデリゲートを実行しなきゃいいんでない? あとはアイドルイベントで暇になった時だけ処理するとか。
個人的には、スレッドがほんとに必要か分からない。
このスレッドのことか 必要じゃん?
http://fsm.vip2ch.com/-/hirame/hira115018.png チャートを描画すると一回目は画像左のように軸が自動で調整されて綺麗に表示されるのですが、
続けて値を変えて二回目を実行すると画像右のように軸が前のままで見きれてしまいます
恐らく軸のリセットや自動調整のようなものが必要だと思うのですが、その書き方を教えてください
必要ないかもしれませんが、念のため付近のソース貼っておきます
Series series1 = new Series("合計");
for (int i = 0; i < int.Parse(this.textBox_times.Text); i++)
{
series1.Points.AddXY((int)this.dataGridView1["回数", i].Value, (int)this.dataGridView1["合計", i].Value);
}
series1.ChartType = SeriesChartType.Line;
series1.IsVisibleInLegend = false;
this.chart1.Series.Clear();
this.chart1.Series.Add(series1);
Axis ax = this.chart1.ChartAreas[0].AxisX;
ax.MajorGrid.LineColor = Color.LightGray;
Axis ay = this.chart1.ChartAreas[0].AxisY;
ay.MajorGrid.LineColor = Color.LightGray;
>>786 いろいろコンポーネントが絡むならせめてコピペすれば動くようなコード晒してくれ
再現するのに同じ環境を作り直させるとかもうね
めんどうなので以前見かけた
>>58 >>59 に誘導するだけにしとく
表示させたいデータの塊をList<T>でいいので先に構築しておいて
DataBindで毎回処理させたほうがいいかも
リフレッシュとか自動調整といったものを見つけられなかったので結局 AxisY.Maximum にデータの最大値 + マージンを設定することで解決しました ありがとうございました
Invalidateならある
それがどうした
どうしゅたがどうしゅた
別ソフトが使ってるcomポートの通信内容をキャプチャって出来る?
できるけどC#は関係ない
竹島問題で 韓ドラとK−POPが消える!?
竹島問題を巡る日本と韓国の対立はテレビ界でも大きな影響が出始めている。韓流ドラマとK―POPが近いうちに
消滅するのではと囁かれているのだ。
この3年でテレビで放送された韓流ドラマは約500番組、日本でデビューしたK―POPのグループは30組以上
にも上る。テレビ局にとってはドル箱といっていいコンテンツだった。
「例えば、韓ドラはテレビ局には安く、そこそこ視聴率が稼げる番組として重宝がられました。買い付け価格は一時上がり
ましたが、最近はダウンし、初回購入の一番組の単価が500万円程度というものもあった。しかも、3回まで再放送が
認められるのでBSやCSが飛びついていた。一方、K―POPは音楽番組に出るのはプロモーションの一環で出演料が
かからなかったり、レコード会社が立て替えて支払ってくれるケースも多かったのでメリットが大きかった」(事情通)
だが、例の問題で状況が一変した。すでに日本テレビやテレビ朝日、TBSなどは年末年始の番組編成から韓ドラ枠を
大削減する方針を固めたという。音楽番組もK―POPのゲスト出演を極力減らしていく方針だという。また、
韓国びいきと批判されているフジテレビでさえも韓ドラからの撤退、K―POPの露出を減らしているという。
「李明博大統領が竹島上陸、ロンドン五輪でサッカー韓国代表メンバーが『独島は我が領土』というメッセージを掲げ、
韓流スターらが竹島に泳いで渡るという反日的ニュースが流れてから、BSとCSで視聴者の接触率が激減しました。
竹島問題で韓国の反日的なパフォーマンスが続く限り、来年4月の番組編成で韓ドラとK―POPは地上波から消滅する
可能性が高い。NHKも韓ドラをかなり流していますが、右に倣えだと思います」(民放編成マン)
テレビ局にとっては韓ドラに代わるコンテンツが見つからないのは頭が痛いが、K―POPに代わるダンスミュージック
を発掘中とか。KARAもチャン・グンソクも来春以降は見ることができなくなる?
http://gendai.net/articles/view/geino/138538
>>795 特殊なことをやろうと思うとwin32APIとかが関係するので
C#は直接関係ないってこと
C++でその辺のコードを書いたんだけどC#に移植したいって話なら違うけどさ
なるほど、ありがとう
sealed class TakeShima : Island { public override Country Owner { get { return Country.Japan; } } }
フォームについてなんですが、form.show(); でフォームを開くときにWindows 7ですとふわっと表示されるのですが このふわっと表示されるときに完全に表示されるまで待ちたいのですが どうやればいいでしょうか? shownイベントでフラグを立ててみたのですが完全に表示される前に フラグがたってしまいました。
それはOSのアニメーション機能をOFFにするしかない
>>798 try
{
ドラマ = inD;
音楽 = inM;
}catch(Exception 韓国)
{
メディア.Close();
}
Application.Idleでも駄目だったら無理じゃないかな
ああ、手はあるかも Show()の前にFormのOpacityを0つまり透明にして表示 OSのアニメーションが終わる時間待った後Opacityを1.0へ戻す
100じゃあ早いな 適当に調整してね
>>806 ありがとうございます。
試してみます。
VisualStudio2010ExpressでWindowsアプリケーションを作成して、ビルドしたexeを開こうとすると avast先生が「いかがわしいソフト」みたいな反応するんですけど、これ回避する方法ありますか? 個人で使用する分には初回起動時に除外してあげれば済む話なのですが、 配布した時に知らない人が見たらビックリすると思うので… avast側の設定を変えるっていうのはもちろんなしでお願いします
>>811 回答ありがとうございます
vsホスト無効にして再ビルドしましたが同様の警告が出てしまいました
他に思いあたることはありませんか?
アプリケーション自体はフォームにボタンやテキストボックスが置いてあるだけの至極簡単なもので、複雑な処理はしていません
>>813 してなかったのでリリースビルドにしたのですが、ダメみたいです
当面一人で使う予定なので一旦質問取り下げます
avast先生敏感すぎるよぉ…
うちのVC#2008Express & avast環境では出てないなぁ 2010にしたら出るかもしれないけど
まあ今後を様子見るとして リリースに替えたら以前のファイル消してクリーンな状況で試してみないと改善しないかもね。
みんなMSE使えば解決
何でみんな2008Expressなんて使ってるの? 2010Ultimateがただで手に入るのに 重さ的にも 2005=xp 2008=Vista 2010=win7 だぞ
重さ的には2008<2005=2012<2010くらいだろ
2005はWPF使ってないから軽いだろアホ
2003->2005 GUIも機能もゴテゴテになり重くなった 2005->2008 マイナーチェンジで軽くなった 2008->2010 大幅にC#に置き換えられ、GUIもWPFになって重くなった 2010->2012 マイナーチェンジで軽くなった つまりVSは大きく変わった次のバージョンが神 だが売れるのは変わった直後の方
2008からWPFを取り入れてる 2008だとラムダ使えない 2010の方が起動もコンパイルもWPFデザイナも軽い
違う。VSのGUIがWPFになったのは2010から。
それに2008はラムダ式使えるぞ
じゃあ2008にもどすか どうせxpだからGPU全く使ってくれねーし 余計にCPU食うだけだわw
2008で面倒なのはTaskとかBlockingCollectionとかが使えないことだな、.NETの話だけど 普通に使ってる分にはエディタの重さに特に差は感じない インテリセンスの検索がたしか2010から部分一致になって、これはすげー便利だわ 2010がやたら重く感じるのはスワップアウトした状態からの復帰 SSDだとましになるのかな
>2010がやたら重く感じるのはスワップアウトした状態からの復帰 IDEを最小化しないように心がける
.Net製は最小化して、ネットで調べごとして、復帰しようとするとHDDガリガリーだからな この糞仕様どうにかしろよ
自宅SSD職場HDDだとこの辺の差がわかるんだよなあ
今時のOSだと最小化してもメモリ解放したりしないわけだが
最小化というより、裏に回してて表にするだけでカリカリいうね
当たり前のこと言うなアホ
夏休みは終わったのにいつまで夏ボケしとるんだ
元からじゃないですか?
小中高の夏休みはもう終わったが まだ大半の大学が夏休み中だろう 可愛いげが無い分、ある意味もっと質が悪いぞ
いちいち反応してる暇なおっさんのほうがたちが悪い
俺も未だに2005だ OSはME
そんなオーバースペックなもんいらね どうせ上位エディションの機能ってエンタープライズ向けのデータベースとかネットワーク関連ばっかなんだし
MVPの場合、Pのクラスで iForm frm=form1; こんな感じにしてVのメソッドを使えばいいってことですか?
それと例えば、ListViewにコレクションのデータを表示したい場合 ListViewですぐに扱える形式にしてから、Vに渡すべきか コレクションをそのままVに渡して、V側で変換するのかどちらですか?
>>844 そうだけどPの中でフォームをnewしたりするなよ
form1はコンストラクタかプロパティで受け取る
Pと実際のVを関連付けるのはVかその他のクラス(M,P以外)の仕事
>>845 君が言う通りの二つの流派があって、どっちでもMVP
予め変換して渡すのはPassiveViewといって、こっちの方がテストしやすくてMVVMにも近くて今風かな
847 :
844 :2012/09/07(金) 14:41:09.86
class Oya { } class Ko1 : Oya { } class Ko2 : Oya { } --- みたいなのがあったとして、 IEnumerable<Oya> elements; から、 Ko1, Ko2だけを取り出したいんですが、どうしたらいいでしょうか? IEnumerable<Oya> elements; IEnumerable<Ko1> ko1Elems = ごにょごにょ(elements); みたいなのを書きたいのです。 よろしくです。
.OfType<T>()
from elem in elements let ko1elem = elem as Ko1 where ko1elem != null select ko1elem
質問としてはまともだと思うが?>852
は?
Form_Loadイベントハンドラに自作イベントを発生させると ループしてしまうようなんだけどどうして?
それを正常な日本語で
晒せよ
public event EventHandler DataChanged; private void Form1_Load(object sender, EventArgs e) { if (this.DataChanged!= null) { this.DataChanged(sender, e); } } DataChangedに登録したイベントハンドラが無限ループされるんです
>>859 デバッガで、Form1_Loadと、DataChangedの中身をのぞいてみろ
DataChangedに+=したイベントハンドラの中身で Form1_Load自体を呼んでるか、 あるいはForm1を新規に作ってForm1.Showしてたりするんじゃねーの
DataChangedをセットしてるとこを出さないとかプログラミングの初心者未満 ちゃんとセットしてるとこださないと誰も答えられない
OnPaintでグラフィックを描画してるんですが 60FPSで書き換えてるんですがどうもOnPaintメソッドは 1秒間に60回走っているのに実際は表示がカクついたりして 秒間60回書き換えれてないみたいなのですが 本当に書き換えれたときだけフレームをカウントするには どうすればいいでしょうか?
864 :
デフォルトの名無しさん :2012/09/08(土) 18:05:25.28
>>863 まず、どうやったら60fpsてのが出てくるのか知りたい
普通に描画してもVSyncに合わせてないからどうしようもなし DirectXかXNA使え
>>864 OnPaint内でフレームをカウントしていって経過時間で割れば
1秒に何回OnPaintが実行されたかわかりますよね?
書き換えのやり方が悪いんだろ
868 :
デフォルトの名無しさん :2012/09/08(土) 18:57:57.15
そもそもwinformじゃあ厳密にやるのは無理だよ
OnPaintと実際の描画は同期しないんですかねぇ DirectXじゃないと
素人だけど 60fpsでイベントが発生してるんでしょ? どこかで同期してくれてんじゃないの? OSは? 面白そうだからあとでやってみよ
マジレスするとDirectX使ってもフルスクリーンにしないと同期しない Windowモードがリフレッシュレートと同期する理屈はない
フルスクリーンってずっとアプリにスクリーンサイズ指定してタイトルバー非表示にする事だと思ってた。 もしかしてビデオカードを1アプリに排他的に割り当てるって事?
リフレッシュレートと同期して欲しいわけではないのですが OnPaintのカウントは60回なのに描画が30回のときと 同じような感じになってしまうのです。 描画範囲を狭めれば60FPSっぽくスムーズに動くので 描画が省略されているのではないかと踏んでいるわけですが それならそれでフレームをカウントアップしてほしくないというか。
>>872 そう。だから画面のリフレッシュレートに描画をあわせられる。
どうでもいいけどどういう意味で同期と言ってるのか意味不明だね。 そもそも表示装置のリフレッシュに同期して描画する必要性なんてどこにもない。 動画を滑らかに再生するための必要条件は以下の2点だけのはず。 - 時間当たりの描画回数がリフレッシュレート以上であること - 描画と描画の時間の間隔が等間隔であること
>>873 それ単純にスペック不足で処理落ちしてるんだろ
>>876 ティアリングを知らないド素人は黙ったほうが吉
>>877 OnPaintは秒間60回動いてしまうのはなぜなんでしょうか?
C#というかCPU?での処理は秒間60回完了できるスペックはあるけど
ビデオカードは60回書き換える能力が無いということでしょうか?
いま検索してまーす
>>879 >描画範囲を狭めれば60FPSっぽくスムーズに動くので
だから処理落ちしてるんだろうが!
無効領域がクリアされてんじゃねえの
>>881 はい。処理落ちしてるのはなんとなくわかるんです。
ただOnPaint自体は処理落ちしてないみたいなんで
処理落ちしてるのはどこかということなんです。
C#としては処理落ちしていることが判断できるのかどうかと。
実際すごく重い処理にするとOnPaint自体の回数が減るので
それはわかるんですが60回OnPaintが呼ばれているのに
処理落ちしているのでそれを取得したいといいますか。
>>875 ひとつ賢くなった、ありがとう。
調べてる途中、
VISTA以降はDWMによってVRAMへの直接描画しないからちらつかないみたいな記述を見つけました。
Win7だからオレもFPS調べちゃおうかとやってみたら、1200FPS。
あれ、60超えるの?しかもちらついてるけど?
という状況になりました。ダブルバッファすれば解消します(200FPSになる)。
これはオフスクリーンバッファ(サーフェース?)への描画中に
DWMによってVRAMへ転送されたという事ですよね?
FPSが6分の1になるという事は6分の5の時間はオフスクリーンバッファの書き換えに当てられていて、
VRAMへの転送時に完全な描画イメージが取得できないと解釈しました。
DWMのWiki面白かったです。
デスクトップが1枚板のポリゴンに貼られたテクスチャだったなんて・・・
>>883 884だけど、どうやって60FPSに調整してるの?
>>884 Vista以降Alt+Tabで面白いこと出来てるのもWindow一つ一つをテクスチャとして貼り付けてるからだね
>>887 描画関連は全然分からなくて。
ちなみにマウスカーソルの描画はOSの担当?
その辺について調べる時のキーワード教えてください。
秒60回書き換えることと、ディスプレイの表示に同期することはイコールじゃないんだが大丈夫なんだろうか
>>889 いかにも算数できない子がいいそうな台詞だね。
例えば時計の秒針がとりうる全ての位置(0〜59秒)の全ての場所を1分間で撮影
するのに必要な条件は時計の秒針に同期してシャッターを切ることではなく、
1秒より短い間隔でシャッターを切ること。
>>890 同期が必要だって前提の話になに言ってんのこの人?
あー。すみません。自分の言ってる同期はリフレッシュレートとの同期じゃなくて OnPaintとの同期って意味でして。 リフレッシュレートとの同期は必要ないです。 例えばOnPaintが60回走ったのにディスプレイへの描画が30回 だったりしないかってことなんです。 それならOnPaintも30回になって欲しいといいますか。 30回しか書き換えられなかったことを知りたいといいますか。
それは思い違いだと言ってるのに馬鹿ですか
いずれにせよ無理だと初めから言われてるのに理解力が足りないのではない?
通常のGDIでやってるのはデバイスコンテキスト→DWM→VARMと転送される作業のうち デバイスコンテキストまでの部分だけ そこからWDMが吸い上げてVARMに転送されるが 同期してるのはDWMとVARMの部分だけ デバイスコンテキストには一切の情報が与えられない ゆえに不可能 分かったね これ以上こんな詰まわん話題続けるようなら殺す
>>895 ありがとうございます。そういうことなのですね。
それが知りたかったのです。納得いきました。
だから殺さないください。
詰まわんって何?犬?
通常のGDIではデバイスコンテキストまでの部分だけなんですね 通常じゃないほうのGDIの方も教えてください
え、プリンタとかの話になるけど・・・関係なくね
いいんじゃね プリンタについて語れよ
ガソリン ダイレクト インサート エンジン 搭載
なんで速度要求するところをOnPaintで処理してんの? イベント発行しなくてもメインループに直に書けばいいじゃない。 その辺からおかしいので計測間違ってる感ある。
ttp://headlines.yahoo.co.jp/hl?a=20120908-00000000-jct-soci ttp://amd.c.yimg.jp/amd/20120908-00000000-jct-000-0-view.jpg 女児をバックに詰め込んでいたずらしようとしたとされる成城大男子学生(20)が女児アニメ好きと報じられたことを巡り、ネット上で激論になっている。犯行との因果関係は果たしてあるのか、といったことだ。
論議の導火線になったのは、日刊スポーツの2012年9月6日付記事だ。「小6カバン監禁男はプリキュア好き」などと大見出しを打ったことで、アニメ愛好者らからの強い反発の声がネット上に渦巻いた。
■40年で強姦被害は10分の1に?
確かに、容疑者の男子学生は、ツイッターやブログなどでそうした嗜好を示していたようだ。しかし、だからと言って、それが犯罪に結びつくわけではないと言いたいらしい。
アニメ好きなどと結びつけようとした夕刊フジの6日付記事にも、激しい反発が起きている。「幼児性愛をテーマにしたゲームや漫画に刺激されて現実世界と混同し、犯行に及ぶケースがある」とする精神科医のコメントを紹介したからだ。
そんな中で、元国会議員政策担当秘書の中迎聡さんが6日、性犯罪増加はデータ的には見られないとツイートし、ネット上で注目を浴びた。
中迎さんは、「少年犯罪データベース」のサイトを運営している男性が集めたデータを紹介し、女児の強姦被害件数はむしろ減ってきているとした。
それは、警察庁の犯罪統計書によるものだといい、1960年代中ごろに比べ、小学生以下の被害は、40年ほど経った2006年現在で10分の1ほどに減っているというのだ。
06年は、小学生が46件、未就学児が3件としている。アニメなどの愛好者が増えたからといって、女児への性犯罪は増えているわけではないと言いたいようだ。
警察庁の広報課に取材すると、60年代中ごろの数値は確認できなかったが、06年の件数はその通りだった。2011年は、小学生が41件、未就学児が1件で、強姦だけ見れば、性犯罪は最近減っている。
強制わいせつやわいせつ目的略取誘拐についても、ここ10年ほどは小学生以下の被害が減少傾向にはある。
GetDCでハンドルもらって直に書けばいいよね
>>903 1960年と比較して2006年の小学生以下人口を考えたら
むしろ発生率は上昇してると思ふ
Eclipseのストリング外部化みたいなのをVSでやろうとするとどうなるの?どうやるの?
自前でやる
自分でリソースを追加する どうせ自動生成の意味不明なキーじゃソース読みづらいし翻訳もしづらいだけだし
Controlの仕様見てると、別スレッドから安全にアクセスする方法がわからない。 スレッドセーフなメソッドは、InvokeRequired/Invoke/BeginInvoke/EndInvoke/CreateGraphics。 BeginInvokeを使えって方針だけど、これはコントロールが作成された状態でしか使えない。 ではIsDisposedで確認してから使おうとすると、IsDisposedはスレッドセーフではない。 じゃあIsDisosedをBedinInvokeで・・・ 細かく考え過ぎなのかな、 ImageAnimater.Animateの説明見てたらFrameChangedイベントでthis.Invalidate();を実行してる。 このイベントは別スレッドで発生するからスレッドセーフではないはず。 (WM_PAINT投げるだけだから平気に決まってるでしょ。って前提?) 方法 : Windows フォーム コントロールのスレッド セーフな呼び出しを行う によると、 .Netはデバッグ時に外部スレッドから不正なアクセスを行うとInvalidOperationExceptionを発生させるみたい。 結論としては、デバッグ実行時にアクセス出来たものは使ってよし。 BeginInvokeはTryブロックにいれましょう。 という事でOK?
Lockすてーとってなかったっけ?
>>909 > このイベントは別スレッドで発生するからスレッドセーフではないはず。
イベント発生は非同期だけど、キューがあって受ける方は受けられる状態になったら
イベント受け付けるからスレッドセーフの必要はないと思うが。
そんなキューあるの? メッセージキューの話をしてるのかと思ったが何か違うような
いつDisposeされるかわからないControlを他スレッドから触る事自体がナンセンスなのではないか 他スレッドから触るという時点で暗黙的に当該Controlの寿命を十分に長いものと想定させるのでは
であるからしてそのような状況ではアクセスの排他制御をする必要があるといえる
だからさーーー目的だけ書いて質問するんじゃなくて なぜそういうことが必要になるのか動機部分を書けつってるだろカス 大抵設計がクソなんだよ
Invalidateはメッセージキューを介して更新するけど Updateはメッセージキューを介した更新じゃないんだよね メッセージキューがあるから大丈夫って考え方をしてると実装に依存してしまう 実際大丈夫ではあるんだが、仕様にないことをやるのは気分が悪いよねー
>>911 イベントハンドラでスレッドIDみたら別スレッドだったよ
あと、何がしたいとかではなく、ずっと曖昧で気持ち悪かったのがコレです。
>>917 >イベントハンドラでスレッドIDみたら別スレッドだったよ
いったい何と何が別スレッドなんだよ…
スレッド云々の前に、もう少し人に説明する能力を身につけたほうがいいかと。
そのうち、Async呼び出してawait使えよ 馬鹿とか言われるんだろうな
なるだろうな。 ココでは使えと言うが実際使うと周りがついて来れず変な目で見られるし、 新機能に真っ先に飛び付いて後でバグがあったら…
C#で言語の機能のバグって実際滅多にないだろ 理論的な検証がやりやすい分野だしさすがにMSだし
というかさ・・・
なんでコード出さないの?
特に
>>918 が突っ込んでるあたりの話
どういう方法で確認したか検証コードくらい残ってるでしょ
日本語ですべて済まそうとすんな
どうせ言い合いになるだけだし
コードで話しろ
そうか、2つめは取り消すよ。
>>922 今書いているコードなんて晒せるわけ無いだろ
問題点を明確にするために書き起こすようなことも面倒なのでしたくない
日本語で質問して答えられないのはお前の実力不足だろ
ってことだと思うよ
>>925 コードを晒せっていうのはさ
たとえば、会社でも学校でもいいけどコード書いててうまく行かない際は
近場に居る人間に質問して相手にどれどれと自分の端末のコードを見てもらって
アドバイスもらえばいいわけだ
ところがネットで文字だけでやり取りしてる場合は周辺状況からすべて文字で
説明する必要があるわけ
こんな労力はアホ臭いだろ?
まあすべてのコードは晒せないにしても関連する骨格部分くらいなら余裕で晒したところで問題ないだろ
それに分離しやすいようにコード書いとけって話でもあるし
927 :
デフォルトの名無しさん :2012/09/10(月) 10:05:04.13
entity frameworkでデータの移動(select->insert->delete?)ってどうやるのですか?
928 :
デフォルトの名無しさん :2012/09/10(月) 10:05:51.33
929 :
デフォルトの名無しさん :2012/09/10(月) 10:06:19.27
930 :
デフォルトの名無しさん :2012/09/10(月) 10:08:51.86
931 :
デフォルトの名無しさん :2012/09/10(月) 10:15:37.56
ASP.NET MVC 4ってなにが変わったの? 3行で頼む
932 :
デフォルトの名無しさん :2012/09/10(月) 10:18:46.05
c#のnullってどういう扱いなの? cだと(void*)0が一般的だけど
ス マ ホ
935 :
デフォルトの名無しさん :2012/09/10(月) 10:20:44.38
C#-SQLiteとSystem.Data.SQLite、それぞれの利点・欠点を教えてください。 どちらを使うべきかわかりません
埋めるにはまだ早いぞ
ライブラリにapp.configって持たせられますか?
>>935 csharp-sqliteはpureマネージコードだからセキュリティ制限が厳しい環境でも動くかもしれない
特に理由がなければSystem.Data.SQLiteの方が実績があり本家そのままなので確実
939 :
デフォルトの名無しさん :2012/09/10(月) 10:30:28.16
>>938 ありがとうございます
csharp-sqliteはnugetがなさそうなのでSystem.Data.SQLiteにします
>>935 何もかもが最新だとC#-SQLiteの方が速い(ことも多い)。
JITの進化はすごいぜ的な話だな。
ただし
>>938 のいうように非公式実装なので実績は微妙だけど
まぁ単体テストが一通り動いているので問題ないとは思う。
>>937 そんな迷惑なことはやめてください
使うときにプロパティで設定できるようにしておき、アプリ側で持ちましょう
新規でASP.NET MVCで解発やることになったのですが、 みなさんはどのようにIISに展開しているのでしょうか? LAMPのときはNetBeansのscp機能でアップロードしていたのですが、 Windows Serverだとどうすべきか、そこらへんの知識がありません。
>>941 共通のConnectionStringをアプリ毎に設定ってアホらしくないですか?
ミスの原因にもなりそうですし。
>>942 レベル高すぎだろ、相談室のほうにいけよ
ここはプログラミング初めて1年未満の人のスレ
>>944 ASP.NET MVCとWindows Serverはじめて1か月です(><)
答えなどない
>>943 固定なんだったらリテラルかリソースにしとけ
複数のexeで構成されるアプリなんだったらXMLファイルに書いといて
共通の設定を読み込むための専用のdllを用意してそれをすべてのexeから呼べ
vs2010で作ったプロジェクトをvs2012で開くと動かないんだけどどうしたらいい?
知るかボケ
951 :
デフォルトの名無しさん :2012/09/10(月) 10:44:25.20
>>949 せいかい → MonoDevelopを使う
C#からADを扱う方法を簡潔明瞭に書いてくれているサイトありませんか?
ggrks
YES → 【ヒットした?】 ─ YES → なら聞くなよ。死ね。 / \ 【検索した?】 NO → なら、ねぇよ。死ね。 \ NO → 死ね。
956 :
デフォルトの名無しさん :2012/09/10(月) 10:58:30.32
YES → 【ヒットした?】 ─ YES → なら聞くなよ。死ね。 / \ 【検索した?】 NO → なら、ねぇよ。死ね。 \ NO → 死ね。
957 :
デフォルトの名無しさん :2012/09/10(月) 11:40:17.23
959 :
デフォルトの名無しさん :2012/09/10(月) 14:34:15.63
perlを.NETアセンブリにすることはできますか? 退職した担当者が書いたperlの山を誰も読めなくて困っているので .NETアセンブリにした後に何かしらの.NET系言語に逆コンパイルしたら なんとかなるのではないかと考えているのですが。
960 :
片山博文MZボット ◆0lBZNi.Q7evd :2012/09/10(月) 16:07:12.37
PerlをC言語に翻訳して、それを.NETでコンパイルする。。。 誰も読めない遺産ができるかもしれない。。。
C言語なら読めるのでは?
Perl.NET
niveってC#なんですね
964 :
デフォルトの名無しさん :2012/09/10(月) 17:03:03.71
Microsoft.VisualBasic.Strings.StrConv が一番近いな 細かい指定はできないけど
うん
>>937 持たせられるがexe.configの方にセクションを移植する必要がある
969 :
デフォルトの名無しさん :2012/09/10(月) 20:55:54.02
>>968 dllのapp.configのconfigSections/sectionGroup/sectionと
applicationSettings(userSettings)/***.Properties.Settings以下をexeの方にコピーすればいい
971 :
デフォルトの名無しさん :2012/09/10(月) 22:18:41.50
うむ、難しすぎてよくわからない
972 :
デフォルトの名無しさん :2012/09/10(月) 22:19:28.69
C#は敷居が高いな
むぅ〜〜〜〜ずかしすぅぎてぇええ、あ〜〜たまが〜〜パ〜〜〜〜〜ン
974 :
デフォルトの名無しさん :2012/09/10(月) 22:23:05.05
あれだな、この調子だとPHPあたりから始めたほうがいいか
それがいいからWebProg板に帰りなさい
976 :
デフォルトの名無しさん :2012/09/10(月) 22:41:35.47
C#すらわからない奴はプログラミング向いてないから帰れ 日本語でやってろ
低能ほどイキがるねww
俺はイキがってないんだが? 自己紹介だと思った根拠は?
お前らID無い状態で続けてもカオスなことにしかならないからやめなさい
こういう煽り合いって誰が敵か分からなくなって、最終的に勝者不在のまま有耶無耶になるな
>>976 は自分の無能さ絶望しているんだよ
誰かを貶すことで自尊心を保とうとする底辺
想像するだけで涙が出てくるよwwwwww(笑い涙だけどwwww)
うん
参考のためにお前らのdllのソース見せてくれよ もう使わなくなったのでいいからさ だめ?
そこ英語やからわからんちん
987 :
デフォルトの名無しさん :2012/09/11(火) 01:59:18.28
いわゆる日本語でおk
Windows XPのPower Toyに入ってたImage Resizerのクローンだから
おれのフリーウェアをReflectorで覗いていいよ プロジェクトのcsファイルだけで3MB弱あるから覗き甲斐があるぞ 難読化してないし
もっと小規模なソースがみたい
小規模だけどこれから拡張していきやすいようにMVP、MVVM、デザインパターンを 意識して書いているようなコードがみたいんだよ どのサンプルも、コードビハインドにベア書きしてるようなのばっかりで参考にならないんだよ
ほんと学習向けのちょうどいいボリューム・内容のサンプルコードってないよね。
>>992 そういうの使うようなプログラムって
データベースを読み書きする同じような画面が沢山あるだけの
面白みも何もないクソみたいなアプリだよ大抵
は?
む?
一般にアプリと言ったときにイメージされるようなツール的なアプリだと、
画面数が少なくてコマンドがたくさんあるから
メイン画面をコードビハインド全開で細かく制御した方がよくて
MVPとかMVVMとかの必要性が薄い
重宝されるのは似たような画面を量産する
>>944 のようなタイプ
誰か次スレ
>>997 そうなのか
じゃあおれは無駄な努力してたんだな
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。