- 1 名前:デフォルトの名無しさん mailto:sage [2009/03/15(日) 02:19:33 ]
- このスレッドは
「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。 ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問など、 勇気をもって書き込んでください。 内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。 >>980を踏んだ人は新スレを建てて下さい。 >>980が無理な場合、話し合って新スレを建てる人を決めて下さい。 前スレ ふらっとC#,C♯,C#(初心者用) Part38 pc11.2ch.net/test/read.cgi/tech/1235864730/
- 237 名前:デフォルトの名無しさん mailto:sage [2009/03/20(金) 20:30:07 ]
- C#3.0勉強中
匿名メソッドのラムダ式の便利さはわかったけど、 ExpressionTreeというのが、どういう場合に使われて便利なのかよくわからない これは便利だっていうサンプルが乗ってるサイトとかありますか?
- 238 名前:デフォルトの名無しさん mailto:sage [2009/03/20(金) 22:56:48 ]
- www.opentk.com/project/opentk
のExampleの中のWinForms 1 : Simple GL Controlのサンプルを、 ボタンを押したら箱が回るアニメーションが再生/一時停止するようにするには どうすればいいですか? 箱を描画する処理は作れるんですが、アニメーションを実装する方法が良く分かりません・・ シングルスレッドで処理したいんですが、ApplicationContextクラスを作ったりしなければならない?
- 239 名前:238 mailto:sage [2009/03/20(金) 23:13:52 ]
- BackGroundWorkerとかデリゲートの非同期呼び出しとか
使わず while(ウィンドウが閉じられていない間) { メッセージ処理 ゲームの描画処理とかSleepとか } 見たいな事はC#では出来ないんでしょうか
- 240 名前:デフォルトの名無しさん mailto:sage [2009/03/20(金) 23:21:28 ]
- マルチスレッドが嫌ならDoEventsでも使えば
- 241 名前:238 mailto:sage [2009/03/20(金) 23:31:18 ]
- >>240
メッセージ処理をDoEventsでするんですか? しかしApplication.Run(new Form1()); した後どこから>>239みたいなループに入れば・・? OnClick()の中にwhile文入れたりとかは駄目ですよね・・?
- 242 名前:デフォルトの名無しさん mailto:sage [2009/03/21(土) 00:11:27 ]
- >>237
マニアックな例になるけど、 ufcpp.net/study/csharp/sp3_expressionsample.html とか。 あと、C# 4.0のdynamicは内部的に式木使って動的コード生成してる。 いずれにせよ、あんまりエンドユーザー向けの機能ではない。
- 243 名前:デフォルトの名無しさん mailto:sage [2009/03/21(土) 11:12:18 ]
- 株式の情報とかを取得するのに
皆、Yahooファイナンスから情報を得ているのが多いみたいですが あれは?ファイナンスのHTMLを取得して 中を読み取り表示しているだけなのかな?
- 244 名前:デフォルトの名無しさん mailto:sage [2009/03/21(土) 11:14:56 ]
- YahooのWebAPIではファイナンスの情報提供してないみたいだからそうなんじゃない?
- 245 名前:デフォルトの名無しさん mailto:sage [2009/03/21(土) 11:29:19 ]
- Yahooの株式データはurlにクエリ付けて操作できる
- 246 名前:デフォルトの名無しさん mailto:sage [2009/03/21(土) 11:47:11 ]
- URLにクエリですか?
- 247 名前:デフォルトの名無しさん mailto:sage [2009/03/21(土) 11:48:41 ]
- だけど取得はHTMLだから仕様変更されたら一発でアボーン。
つか金融系でAPIを公開しているところないよなぁ・・・ 純金の相場を取得するモジュール作ったけど、仕様がいつ変わるかわからないのが怖い。
- 248 名前:デフォルトの名無しさん mailto:sage [2009/03/21(土) 11:50:23 ]
- >>246
クエリ文字列。 stocks.finance.yahoo.co.jp/stocks/detail/?code=4686.q なら code=4686.q つまりURLの後ろの?以降の文字列。
- 249 名前:デフォルトの名無しさん mailto:sage [2009/03/21(土) 11:55:39 ]
- >>248
銘柄のコードでですね。 それでHTMLを取得してから 中を自分で作るしかないのか・・・・・ >>247さんの言う通り HTMLが変わったら終わりですね。 どうするかなぁ〜( ̄ヘ ̄;)ウーン
- 250 名前:デフォルトの名無しさん mailto:sage [2009/03/21(土) 12:20:33 ]
- スクレイピングなんてそんなもん。
正規表現を設定ファイルに出すとかしておいて、 変更時の修正が最低限に済むようにしとけ。
- 251 名前:デフォルトの名無しさん [2009/03/21(土) 12:25:08 ]
- 携帯から失礼。ふと疑問に思ったのでよろしくお願いします。
オブジェクトを作るとき、+=と=の場合があるんですがどう違うんですか?
- 252 名前:デフォルトの名無しさん mailto:sage [2009/03/21(土) 12:47:17 ]
- たぶん、イベントハンドラの関連づけを勘違いしてるんじゃないかな。
- 253 名前:デフォルトの名無しさん mailto:sage [2009/03/21(土) 12:48:45 ]
- YAHOOファイナンスは銘柄コード以外に日付もクエリに指定する事が出来て
過去10年分の株価時系列データが意外と簡単に取得出来るな 詳しいやり方は忘れた
- 254 名前:243 mailto:sage [2009/03/21(土) 13:04:14 ]
- 色々な意見ありがとうございます。
ちょっと考えてから作るか作らないか検討します。
- 255 名前:デフォルトの名無しさん mailto:sage [2009/03/21(土) 13:07:14 ]
- >>252
たぶんそうです。 +=と=の違いってどうなんですか?
- 256 名前:デフォルトの名無しさん mailto:sage [2009/03/21(土) 13:10:34 ]
- 調べろよ。
x = x + y; x = y; の違い。
- 257 名前:デフォルトの名無しさん mailto:sage [2009/03/21(土) 14:14:23 ]
- >>242
おお ありがとう あと見ておくべきところとしてはこんなところかな? なんかいろいろあるなぁ ・ASP.NET MVC 1.0 ・ASP.NET AJAX ・ASP.NET Dynamic Data ・ADO.NET Entity Framework ・ADO.NET Data Services ・Silverlight 2.0 ・Silverlight Controls for ASP.NET ・C#3.0 匿名メソッド ・C#3.0 ラムダ ・C#3.0 初期化子 ・C#3.0 匿名型 ・C#3.0 暗黙型付け ・C#3.0 拡張メソッド
- 258 名前:デフォルトの名無しさん mailto:sage [2009/03/21(土) 14:28:45 ]
- >>256
ハンドラーに+=ってイメージがつかないんです(ノ_・。)
- 259 名前:デフォルトの名無しさん [2009/03/21(土) 14:34:45 ]
- 継ぎ足していくイメージだな
- 260 名前:デフォルトの名無しさん mailto:sage [2009/03/21(土) 15:05:28 ]
- >>258
delegate void FooHandler(string s); void Bar(string s) { Console.WriteLine(s); } void Test() { FooHandler f = null; f += Bar; // ..1 f = f + Bar; // ..2 f = (FooHandler) Delegate.Combine(f, new FooHandler(Bar)); // ..3 f("hello"); } 1.2.3 は全部同じ意味。
- 261 名前:デフォルトの名無しさん mailto:sage [2009/03/21(土) 15:13:23 ]
- でも実際、delegateの場合は+=演算子がオーバーロードされて、
Delegate.Combineメソッドが実行されるってこと?
- 262 名前:デフォルトの名無しさん mailto:sage [2009/03/21(土) 17:29:32 ]
- 演算子オーバーロードではなく、糖衣構文。
コンパイラが自動的に Delegate.Combine() に変換してくれるのであって、 Delegateクラスで + 演算子が定義されているわけではない。
- 263 名前:デフォルトの名無しさん mailto:sage [2009/03/21(土) 19:32:07 ]
- pc11.2ch.net/test/read.cgi/gamedev/1237360986/95-
- 264 名前:デフォルトの名無しさん mailto:sage [2009/03/21(土) 20:11:21 ]
- WEBサイトを画像化するには
どういった方法をとるのが適切ですか? よければサンプルコードの掲載されてるようなURLもいただけるとありがたいです。
- 265 名前:デフォルトの名無しさん mailto:sage [2009/03/21(土) 21:11:11 ]
- throw new System.Exception();
│ │ _∧∧∧∧∧∧∧∧∧∧_ │ > そ、その動きはトキ! < │  ̄∨∨∨∨∨∨∨∨∨∨ ̄ │ ≡ ('('('('A` ) │≡ 〜( ( ( ( 〜) ↓ ≡ ノノノノ ノ サッ
- 266 名前:デフォルトの名無しさん mailto:sage [2009/03/21(土) 22:51:33 ]
- >>257
LINQを学べば自動的にC#3.0の追加要素は全部学べるよ。
- 267 名前:デフォルトの名無しさん mailto:sage [2009/03/21(土) 23:22:15 ]
- >>266
LINQ TO SQLはキャンセルの方向だからお勧めできないよ
- 268 名前:デフォルトの名無しさん mailto:sage [2009/03/21(土) 23:33:19 ]
- >>267
>>257 のリストのどこにもLINQ TO SQLとかいてないな。 ひょっとしてLINQ = LINQ TO SQLとか思ってる人なの?
- 269 名前:デフォルトの名無しさん mailto:sage [2009/03/21(土) 23:39:27 ]
- >LINQ TO SQLはキャンセルの方向
そうなのか 知らんかった 理由は何?
- 270 名前:デフォルトの名無しさん mailto:sage [2009/03/21(土) 23:43:32 ]
- ひとことでいうと DB 屋さんが作ったものじゃないから。
ある意味 Linq の参考実装だったものがそのまま出てきたような もの。でもライトでいいんだけどねあれ。実質 SQL Server 限定で なければ。 DBLinq はどうなってるんだっけか。
- 271 名前:デフォルトの名無しさん mailto:sage [2009/03/21(土) 23:57:35 ]
- >>268
EntityにはLINQ TO SQLが内包されてるし、 一言でLINQと説明しているC#関連のサイトのほとんどはLINQ TO SQLだからね
- 272 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 00:06:44 ]
- EntityにはLINQ TO SQLと同等のExpression<T>を使ったクエリ文は使用しているが内包はしていない。
>一言でLINQと説明しているC#関連のサイトのほとんどはLINQ TO SQLだからね これは君の脳内ソース。
- 273 名前:デフォルトの名無しさん [2009/03/22(日) 00:22:14 ]
- LINQでLINQ TO SQLを説明してるサイトのほうが少ないと思うんだが、
いったい普段どういうサイトを見てるんだろうか
- 274 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 00:29:31 ]
- >>272
紛らわしいが、普通に理解して貰えれば、Entity Frameworkのことを差しているのは明白だと思うんだけど。 EntityFrameworkはSP1になって実装されたものだからC#3.0(VS2008)の特徴として紹介されてる LINQ関連は、ほとんどLINQ TO SQLっていってるわけ。 実際にC#でLINQ TO SQLでないものを紹介していれ例は少ないよ。 脳内ソースというか、普通にググればわかるレベル。
- 275 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 00:38:37 ]
- つまり、ググると混同してるのやら誤解しているのやらがたくさん出てくると
- 276 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 00:42:17 ]
- >>274
はいはい(笑)
- 277 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 00:44:56 ]
- あの論点が見えないのですが
>>266-276 の繋がりがよく分からないあたりから 食い違いがあるのではないでしょうか
- 278 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 00:45:53 ]
- …Linq to SQL が sqlmetal とかの特定技術であることすら知らない?
Entity Framework の Linq 技術周りに関して言えばそれは Linq to Entities だ。EDM に対してのクエリである ObjectQuery の 構築で使用している。 Linq to Entities と Linq to SQL は生まれも実装もラインも別。マジで。 つながりでいえば Linq のプロバイダとして実装されているぐらいしか 共通点はない。
- 279 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 00:45:59 ]
- 訂正 >>266-267 でした
- 280 名前:デフォルトの名無しさん [2009/03/22(日) 00:46:05 ]
- >>275
>>276 はいどうぞ >また、VS 2008 SP1&.NET Framework 3.5 SP1では >「ADO.NET Entity Framework(ADO.NETエンティティ・フレームワーク)」 >(以降、Entity Framework)という新しいデータベース・アクセス・テクノロジが追加されている。 www.atmarkit.co.jp/fdotnet/special/vs2008sp1/vs2008sp1_03.html
- 281 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 00:50:35 ]
- >>280
だから何?って感じなんだがwww 何の証明にもなってない
- 282 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 00:51:16 ]
- >>281
>>278は華麗にスルー?
- 283 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 00:52:39 ]
- >>282
うん だから何?って感じだし なんでそんなに必死なのかさえ理解できないし
- 284 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 00:54:20 ]
- 脳内ソース出しちゃう人の話なんか誰も取り合っちゃくれんよ
それが2chです
- 285 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 00:55:09 ]
- なんか論点がずれてる気がするな。
その記事ではEFとLINQ TO SQLをちゃんと区別してるんだから、 そうなると誰もそれには異論は唱えてないことになると思うのだけど IDがないとわかんね。
- 286 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 00:56:27 ]
- だから
>LINQ To EntitiesはEDMのモデル向けの“LINQ To SQL”といってもよいものだが、 >LINQ To SQLにはない機能(例えば、複数のテーブルから1つのエンティティを作成する機能など)が搭載されている。 >EDMに基づくLINQ To Entitiesは、データベースやオブジェクトの変更にも強いなどのメリットがあるため、 >今後はLINQ To Entitiesの方が(LINQ To SQLよりも)より多くの場面で活用されていくのではないだろうかと筆者は予測している
- 287 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 01:12:59 ]
- linqとして紹介されてたものが実はlinq to sqlのことだとも知らなかったのか。。
- 288 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 01:15:53 ]
- >>287
君か、引っ掻き回してたのは
- 289 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 01:19:00 ]
- 何を?
勘違いしてた人はいるみたいだけどね
- 290 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 01:19:46 ]
- Linq だけならふつーは Linq to Objects を指すんじゃない。
- 291 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 01:25:58 ]
- じゃあ事実関係から
1 Linq To SQLはLinq To Entityとは別物 ここまではok? →www.atmarkit.co.jp/fdotnet/special/vs2008sp1/vs2008sp1_03.html 2 VS2008と.NET3.5は同じ時期にリリースされた ここまではok? →itpro.nikkeibp.co.jp/article/COLUMN/20080113/290936/ 3 Linq To SQLは.3.5に搭載されている ここまではok? →d.hatena.ne.jp/atsushieno/20081103/p1 4 Linq To Entity(Entity Framework)は3.5 SP1で搭載された ここまではok? →d.hatena.ne.jp/atsushieno/20081103/p1 従って3の時点でリリースされていないLinq To Entity(Entity Framework)を C#の特徴として紹介できない(将来の機能の紹介は別)。 ここまではok?
- 292 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 01:31:57 ]
- >>290
同感 だが、メソッドのネーミングがSQL由来なので 使った事が無い人はSQLの利用がメインだと思うかもね
- 293 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 01:34:27 ]
- >>291
SP1は既にリリースされてるわけで将来の機能というわけではないよ。 ただ、議論をする上で扱いは決めておく必要はある。 というわけで含まない前提でどうぞ。
- 294 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 01:40:49 ]
- >>293
普通に解釈すれば、3時点から見た「将来」と読めるから、 その突っ込みはズレてると思うぞ?
- 295 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 01:43:48 ]
- 3の時点でリリースされていないLinq To Entity
3の時点で紹介できない どちらが普通かは難しいけが後者で了解
- 296 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 01:48:39 ]
- それ前提ならC#とLINQの解説は、SP1公開以前のものがほとんどだから
少なくともLinqToEntitiesを解説したものは圧倒的に少ないな どっちにしろSQLのほうはなくなるらしいから学ぶならEntitiesのほうだろ
- 297 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 02:37:11 ]
- 学ぶならまずはLINQ to Objectsですよ。
第一、Linqの説明で一番多いのはLINQ to Objectsだし。 SQL系に隠れてスルーされ気味ですが、非常に有益な技術です。
- 298 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 03:49:08 ]
- LINQ to XML使ってる俺はどうなんの
- 299 名前:デフォルトの名無しさん [2009/03/22(日) 10:18:18 ]
- LINQといえばまず第一にLINQ to Objectsだろ
ないと絶対に困るレベルのプログラムの基本部品だ LINQ to SQLとかEntityなんてのはそれを応用して作った ただのORマッパーだろ LINQという技術の射程の長さは表れてるけど それがLINQの代表というわけじゃない
- 300 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 10:27:11 ]
- >>298
まあ、XML操作が必要な作業してるんなら、 LINQ to XMLはかなり使いやすいXMLライブラリだと思う。 >>299 応用というか、同じ書式で書けるってのがポイントか。
- 301 名前:sage [2009/03/22(日) 10:59:30 ]
- OS :WindowsXP
開発環境:VisualStudio2008 Pro 開発言語:C# 3.0 AccessデータベースをOLEで接続し、 データバインドしたDataGridViewでデータを表形式で表示しつつ、 DataGridViewの右横にデータバインドしたテキストボックスを配置し、 DataGridViewでデータを選択し、それをテキストボックスで データ更新が出来る名簿ソフトを作成しています。 それに、DataViewのRowFilterでDataGridViewでのデータの絞込みが出来る 用に機能追加し、またデータバインドのソースをDataViewにして、絞込みした 状態でデータ更新ができるようにしようとしました。 しかし、 RowFilterでフィルタをかけている状態で、下記のコマンドをボタンで更新処理を 実行しようとすると、DataGridのフォーカスを手動で変更をしないとデータベースが 更新されないのです。 フォーカスを移動しなくても更新されるようにEndCurrentEdit メソッドを事前にかけているのですが、何かコマンドが足りないのでしょうか? 恐れ入りますが、ご教示いただけないでしょうか? 以下コマンド----------------- int iRow; //更新したレコード数 this.BindingContext[dbCustomer1, "M_Customer"].EndCurrentEdit(); iRow = oleDbDataAdapter1.Update(dbCustomer1, "M_Customer"); MessageBox.Show("更新 " + iRow + "件"); -----------------------------
- 302 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 11:06:11 ]
- C#にはデフォルト引数がなく、同様の機能はオーバーロードを使って表現するみたいですが、
これって冗長じゃないですか?いくつも同じ名前のメソッドが増えてなんだか回りくどいような気がします。 Pythonだとデフォルト引数、名前付き引数がサポートされてるので、 それに慣れていたせいもあってかいまいち理解できません。 オーバーロードの方が優れている点ってあるのでしょうか? それとも、そもそもデフォルト引数を使うような事自体が珍しいんでしょうか。
- 303 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 11:17:12 ]
- デフォルト引数をまとめたクラスを一個作ればいいだけだからねえ
- 304 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 11:58:12 ]
- >>302
4.0からデフォルト引数と名前付き引数に対応するよ
- 305 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 13:59:30 ]
- 相談室スレから誘導されてきました。いまさらだけどあっちのソースだいぶまちがってる・・・。
今ラジアンで角度を処理するクラスを作っているのですが、次のような動作をさせたいんです 1.値を代入したときは値を正規化してからいれる(負値だったら正値に、2π以上だったら2πで剰余算) 2.値を参照するときはそのまま参照 3.floatと同じように扱える プロパティを使って実装すると次のようになりますが class RegularizedAngle { private float InAngle; public float Angle { get { return Angle; } set { //Angleが負値だったら正値に if (value < 0) Angle = (float)(Math.PI * 2f) + Angle; //valueが2π以上だったら2πで剰余算 Angle = value % (float)(Math.PI * 2f); } } } これを普通のfloatと同じように扱いたいんです。たとえば・・・ RegularizedAngle Ang = (float)(Math.PI * 2f); //すなわち6.28・・・の代入 Ang += 1; //代入したとき内部で正規化がおこなわれて1になる。 Ang += Ang; //これで2になる? こんなかんじで見た目を組み込み型みたいにしたいんです。 しかし上記のプロパティをつかった方法だとアクセスするときに Ang.Angle としなければなりませんし、宣言するときにはnewが必要です 組み込み型を継承したクラスを作ればよいのでしょうか・・・?
- 306 名前:デフォルトの名無しさん [2009/03/22(日) 14:04:08 ]
- msdn.microsoft.com/ja-jp/academic/cc998611.aspx
現在↑のページの 1.3 Visual C# による実践コンポーネント指向プログラミング 簡易ドローツールを作成しているところなのですが 手順通りに作成しても、ソースをコピーしても Windows Form Designer generated code の部分でエラーを吐いてうまく作成ができません これを解決する為のお知恵をお貸しいただけないでしょうか お願いいたします。
- 307 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 14:08:45 ]
- >>306
//Windows Form Designer generated code とコメントアウトすればいいのかな?
- 308 名前:デフォルトの名無しさん [2009/03/22(日) 14:18:32 ]
- >>307
いえ、そうしてもエラーが増えるばかりで、そうしていいやら・・
- 309 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 14:25:03 ]
- >>308
VS2002/2003の頃の記事だから、percial class じゃないんだな。 そこはおそらく、これだ。画面は自分で準備しろということじゃないかな。 #region Windows Form Designer generated code ・・・・ #end region をIDE上で閉じてるイメージ。
- 310 名前:デフォルトの名無しさん [2009/03/22(日) 14:29:20 ]
- >>305
演算子オーバーロードしまくれば大体望みの動作になると思うよ でも普通にプロパティアクセスする方が分かりやすいよ
- 311 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 14:29:43 ]
- >>306
それは手順通りではないでしょ。 追加するのは、イベントハンドラの部分。
- 312 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 14:30:13 ]
- >>302
デフォルト引数の値を変更したとき、 利用者側の再コンパイルが必要って言うデメリットもあるから今まで対応してこなかった。 さすがに開発者からの要望に折れて、4.0で実装。
- 313 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 14:32:21 ]
- >>309
レスありがとうございます 「pertial識別子が型hにありません。この型に別のpartial宣言が(ry」 までたどり着けました
- 314 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 14:33:15 ]
- .>>310
あんまり賢い方法ではないってことですね・・・。 プロパティで実装してみます。ありがとうございました。
- 315 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 14:35:48 ]
- >>313
駄目だこりゃ。 どうしてもこの教材である必要がなければ、他のあたって。
- 316 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 14:38:41 ]
- >>315
私が根本的に勘違いしているみたいですね・・・ すみませんとりあえず他のをあたります
- 317 名前:315 mailto:sage [2009/03/22(日) 14:42:35 ]
- うん
Form1.Designer.csの内容をこのサンプルから省いて、 Form1.csに追加が必要なメンバ変数とイベントハンドラの記述をすれば 動くので、原理的に難しい話では全くないんだけど、 それができる人は、そもそもこのチュートリアルをやる必要がありません。
- 318 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 14:45:51 ]
- >>305
普通に演算子オーバーロードすれば良いと思う。 newでインスタンス作りたくなければ、構造体にすればいい。 けど、フィールドの初期化しなきゃいけないので、宣言だけはnewで我慢かなぁ
- 319 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 14:50:26 ]
- >>314
floatと完全互換ならこの程度で済みそうだけど、複雑になるとoverloadの山になるな。 struct RegularizedAngle { float inAngle; public RegularizedAngle(float f) { inAngle = f; } public float Angle { get { return inAngle; } set { inAngle = value; } // いろいろ省略 } public static implicit operator RegularizedAngle(float f) { return new RegularizedAngle(f); } public static implicit operator RegularizedAngle(double f) { return (RegularizedAngle) (float) f; } public static implicit operator float(RegularizedAngle ra) { return ra.Angle; } public override string ToString() { return Angle.ToString(); } } -- static void Main() { RegularizedAngle x1 = 12.3; RegularizedAngle x2 = 10; float f = x1 * 3; RegularizedAngle x3 = x1 * x2;
- 320 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 15:01:40 ]
- >>319
ちびっと訂正 >public RegularizedAngle(float f) { inAngle = f; } public RegularizedAngle(float f) { inAngle = 0; Angle = f; }
- 321 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 15:46:43 ]
- なんかlinqを使うより、IEnumerable<>のSelect<>メソッドやWhere<>メソッドを使ったほうが
わかりやすい気がするのはなぜですか? linqtがfromから始まるのが気持ち悪いからですか?
- 322 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 15:46:54 ]
- >>319-320
ありがとうございます。参考になります。 しかし完全に理解するのは難しそうですね・・・。 それの上にさらに正規化処理を入れなければならないのですよね・・・。
- 323 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 16:01:10 ]
- >>321
クエリ式が分かりにくいと感じるなら拡張メソッドでLINQやればいい fromからなのはインテリセンス効かせるため
- 324 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 16:02:59 ]
- >>321
それもLINQ
- 325 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 16:08:46 ]
- クエリ式なんかただのSQLっぽく見せるためのプリプロセッサなんだから
SQL大好き人間以外は使う必要の無いものだよ SQL大好き人間でも最終的には拡張メソッドに適応すべきだろう
- 326 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 16:30:24 ]
- LINQってなんて読むの?ラインクエリ?
- 327 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 16:37:16 ]
- なるほど、そんなもんなんだ
機能としては、ADO.NETのDataTable.Select();が、より簡単に使えるようになりました的な感じなのね メモリ上にデータをもって検索するとか、xmlから検索するとかに便利そうね つか配列を検索しやすくしましたって感じ? データベースから引っ張ってくるのは結果セットだけ取得して、 それを単に表示させるだけのほうが再計算入るよりパフォーマンスがよさそうなんだがそのあたりはどうなんだろう
- 328 名前:デフォルトの名無しさん [2009/03/22(日) 16:44:47 ]
- LINQをSQLに使えばSQL文が生成され
データベースに問い合わせされ結果セットだけが取得されるんだよ
- 329 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 16:59:20 ]
- >>325
letとか多重from使おうとするとメソッド形式ではちと厳しい。 >>326 リンク。 linkと同じ音で読めってさ。
- 330 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 17:05:29 ]
- へー、その場で動的にクエリを生成してくれるのね
難しい処理はストアドに記述してしまうし、 ある程度の決まった処理ならxsdファイルのDataSetに記述したほうが楽そうだけど、 DataSetでは、where文を動的に生成することができなかったから、 それが簡単に記述できるようになるのなら確かに便利かもしれん
- 331 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 17:28:33 ]
- ボタンを押したらtextBoxのフォントサイズを
変えようとしてるのですが iの中にはint で18 が入ってる textBox1.Font.Size = i.ToString(); でどうもうまくいきません、どう記述したらよいでしょうか?
- 332 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 17:32:38 ]
- ReadOnleyプロパティだからそれ。
- 333 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 17:34:19 ]
- やどりぎ+どくどく
- 334 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 17:35:31 ]
- >>333
すいません、ありがとうございます、リッチテクストでも同じでしょうか?
- 335 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 19:39:34 ]
- EnterpriseLibrary4.1の使い方が全く分かりません・・・
ダウンロードしてインストールして・・・ そこからどうすればいいのか・・・
- 336 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 20:42:35 ]
- 文字列から数字取り出すのってどうやったら良いですか?1 2でなく12 3 434とかで
- 337 名前:デフォルトの名無しさん mailto:sage [2009/03/22(日) 20:51:11 ]
- >>336
new Regex(@"\d+").Match(str);
|

|