1 名前:デフォルトの名無しさん [2014/04/05(土) 22:08:28.72 ID:l3iN8hNI] 「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。 他のスレッドでは書き込めないような低レベルな質問。 質問者自身なんだか意味がよく分からない質問。 ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。 内容に応じて、他スレ・他板へ行くことを勧められることがあります、ご了承下さい。 なお、テンプレが読めない回答者は邪魔なので後述のC#相談室に移動して下さい。 >>980 を踏んだ人は新スレを建てて下さい。 >>980 が無理な場合、話し合って新スレを建てる人を決めて下さい。 ■前スレ ふらっとVisual C#,C♯,C#(初心者用) Part110 toro.2ch.net/test/read.cgi/tech/1388377636/ ■関連スレ C#, C♯, C#相談室 Part82 toro.2ch.net/test/read.cgi/tech/1386763696/ ■コード貼るなら↓使ってください ideone.com/
237 名前:デフォルトの名無しさん mailto:sage [2014/04/26(土) 20:31:07.43 ID:+q1cG7mf] >>229 例外オブジェクトを返す?本気?
238 名前:デフォルトの名無しさん mailto:sage [2014/04/26(土) 20:34:09.18 ID:GZ073aKT] C#でTwitterクライアントを作りたくて検索したんですが情報が古かったりして出来ません オススメや参考にしたサイト等あれば教えてください、お願いします
239 名前:デフォルトの名無しさん mailto:sage [2014/04/26(土) 20:37:36.64 ID:lFCRVMF1] そのライブラリーはIDが64ビット化したのに対応してないんじゃない?
240 名前:デフォルトの名無しさん mailto:sage [2014/04/26(土) 20:42:52.62 ID:7/lzVZ3W] >>237 例外オブジェクトの存在価値が投げられること、ただそれだけだ思ってるのならただの固定観念。
241 名前:デフォルトの名無しさん mailto:sage [2014/04/26(土) 21:15:39.82 ID:lFCRVMF1] 投げないならExceptionより軽量高速で誤解を招かない選択肢が一杯ある
242 名前:デフォルトの名無しさん mailto:sage [2014/04/26(土) 21:21:36.37 ID:iOeXFZ4R] 中学生か。 そういう批判のための批判なら要らない。 軽量かどうか、誤解を招くかどうか、どちらもそれが例外オブジェクトかどうかとは無関係。
243 名前:デフォルトの名無しさん mailto:sage [2014/04/26(土) 21:26:28.10 ID:lFCRVMF1] あえて使う理由は何?と聞いてるんだけど
244 名前:デフォルトの名無しさん mailto:sage [2014/04/26(土) 21:31:09.99 ID:L2eR/wTD] あえて例外オブジェクトを使えなんてどこに書いてある。 俺はマジックナンバーではなくenumか例外オブジェクトを返せと書いた。 要するにただ「使える」と言ってるだけだ。 2chで言ってもしょうがないが本当中学生じみた幼稚な奴だな。
245 名前:デフォルトの名無しさん mailto:sage [2014/04/26(土) 21:39:05.02 ID:sw3OTzY3] 例外オブジェクトを戻値にする場合って呼び出し側でどうやってハンドリングするの? Go言語みたいにするの?
246 名前:デフォルトの名無しさん mailto:sage [2014/04/26(土) 21:43:07.54 ID:lFCRVMF1] >>244 じゃあ聞くけどマジックナンバーと比較して例外を使うのの何が優れてると思ってるの? 型検査になるから列挙型のように選択肢も絞れないし、動作もマジックナンバーより遅いし 基本エラーを表す型しかないから成功のステータスを細分化できないんだけど エラーメッセージが付加できる点ぐらいしかメリットがないと思うよ
247 名前:デフォルトの名無しさん mailto:sage [2014/04/26(土) 21:49:55.75 ID:yjIemKHI] おとなしく例外を投げろよ SQLの実行が100%成功するわけないことぐらい誰でもわかるだろ
248 名前:デフォルトの名無しさん mailto:でもgoogleのコーディング規約では‥ [2014/04/26(土) 21:53:17.85 ID:UjMxSJz5] エラーコードは戻り側で無視したらそこでおしまい 例外ならば(例外を食ったりしなければ)普通最上位までまき戻る あと例外を階層的にクラスで扱えばいろいろ便利だね ideone.com/Q5h8n1#li_GQnaUK C++、Java でも例外をとりいれているし、 エラーコードなんて過去の遺物じゃないかな
249 名前:デフォルトの名無しさん mailto:sage [2014/04/26(土) 21:58:49.85 ID:Qdi0GyvQ] ここまで燃えるとは予想外ワロタ
250 名前:デフォルトの名無しさん mailto:sage [2014/04/26(土) 22:09:27.96 ID:2szqXR0/] >>248 よくある議論だけど、最初から言ってるように、戻り値(エラーコード)ではなく 例外機構を使ったからって、呼び出し側がエラーを想定しなかった場合のリスクに違いはない。 上位まで戻るって、意図的にそうした場合は別として、そうでない場合に 想定されてない例外に対して適切な回復処理なんか出来るわけないでしょ。
251 名前:デフォルトの名無しさん mailto:sage [2014/04/26(土) 22:19:49.67 ID:2szqXR0/] 突っ込まれる前に言っとくけど、例外を投げることの利点はプログラムを 強制終了させるパワーを持っていることで、だから回復不可能なエラー発生時には 積極的に例外を投げる意味があるけど、それ以外の場合は本来別に例外を投げることに 固執する意味なんてたいしてないんだよね。 むしろエラーコード方式だと他の値が返せなくなるからという程度の理由しかない。
252 名前:デフォルトの名無しさん mailto:sage [2014/04/26(土) 22:31:03.25 ID:yjIemKHI] 詳しいエラーメッセージをのせられない 追加情報をのせられない おきた場所のスタックトレースが取得できない InnerExceptionみたいのができない エラーの発生しうるメソッドを実行するたびに戻り値を確認する必要がある 回復可能なエラーで失敗を想定しないと停止されないので、そのまま適切でない処理が続行される危険がある とか
253 名前:デフォルトの名無しさん mailto:sage [2014/04/26(土) 22:52:46.46 ID:lFCRVMF1] 実行エンジンや他人のライブラリが例外を投げてくる可能性は消えないので例外処理をしないという選択肢がありえない 両方やりたいならお好きにどうぞ
254 名前:デフォルトの名無しさん mailto:sage [2014/04/26(土) 23:03:12.36 ID:+q1cG7mf] >>251 その理屈から引数nullとシステムエラー(なんだよそれ)をエラーコードで良いと判断したの? システムエラーが返された時どうしたらいいの? 俺なら無視しちゃうな
255 名前:デフォルトの名無しさん mailto:sage [2014/04/27(日) 00:00:20.60 ID:miy+8Evc] 共通関数って、最初に引数チェックしてダメだったら例外投げるよな 引数例外もしくはContractsとか使って
256 名前:デフォルトの名無しさん mailto:sage [2014/04/27(日) 00:08:02.95 ID:dy7wqSER] どうでもいいけどHttpWebRequestで404の時とかにWebException投げるのやめて欲しい もともとネットにつながらないとかホストが見つからないという時だけ投げて欲しい
257 名前:デフォルトの名無しさん mailto:sage [2014/04/27(日) 03:24:50.79 ID:oLsNKogN] >>250 想定しないエラーについては上位に投げる(キャッチしない)のがC#の基本的なエラー処理の考え方だぞ 例外投げるのは意図的に捕捉しない限り勝手に上位に伝播する 自分で処理できるエラーだけ捕捉するのはエラーコードでもいいが、それ以外を上位に投げるのにエラーコードは不向きだ
258 名前:デフォルトの名無しさん [2014/04/27(日) 10:37:42.14 ID:/A+wJ+qi] ★質問したいこと 「default(T)」は値なの?型なの? (下記のコードがうまくいかない理由は?) ★状況 public class Range<T> where T : IComparable<T> { public T Begin { get; set; } public T End { get; set; } public bool Contains(T t) { return (Begin == default(T) || Begin.CompareTo(t) <= 0) && (End == default(T) || 0 < t.CompareTo(End)); } } Begin == defualt(T)のとこで「演算子 '==' を 'T' と 'T' 型のオペランドに適用することはできません。」 とか、表示されます。 T d = default(T);とか書いてみて、もちろんエラーは出ない。 さらに、if( Begin == d ) {...}とか書いてみると、 上記のエラー。
259 名前:258 [2014/04/27(日) 10:39:06.66 ID:/A+wJ+qi] >>258 あれっ!HTMLエンコードしすぎちゃった!
260 名前:デフォルトの名無しさん mailto:sage [2014/04/27(日) 10:58:40.25 ID:jKbi43u9] >>217 blogs.msdn.com/b/sandcastle/ Visual Studio に同梱してもいいと思うんだが。
261 名前:デフォルトの名無しさん mailto:sage [2014/04/27(日) 11:05:42.81 ID:PjLFHi1Y] >>258 IComparableでも==は使えない
262 名前:デフォルトの名無しさん mailto:sage [2014/04/27(日) 11:22:51.99 ID:LKRXtHDC] Equals使えばいいんじゃねえの
263 名前:デフォルトの名無しさん mailto:sage [2014/04/27(日) 12:03:22.28 ID:LKRXtHDC] default(T)がnullだった時に落ちないようにしなきゃいけないとすると 静的メソッドの object.Equals(object, object) っていうのが使えるのかな でもdefault(T)との比較は値型のときの動作が怪しいよな
264 名前:デフォルトの名無しさん mailto:sage [2014/04/27(日) 12:13:25.13 ID:Yz145qkP] EqualityComparer<T>.Defaultとかそういうのがあって
265 名前:258 [2014/04/27(日) 12:48:31.67 ID:/A+wJ+qi] >>261-264 とりあえずこうしてみます。 >>263 案で。 みんなありがとう。 public class Range<T> where T : IComparable<T> { public T Begin { get; set; } public T End { get; set; } public bool Contains(T t) { return (object.Equals(Begin, default(T)) || Begin.CompareTo(t) <= 0) && (object.Equals(End, default(T)) || 0 < t.CompareTo(End)); } }
266 名前:デフォルトの名無しさん mailto:sage [2014/04/27(日) 13:36:23.26 ID:miy+8Evc] Contains の実装間違ってるっぽいが大丈夫? 後、default(値型)は、値型の初期値(≒0)になるよ
267 名前:デフォルトの名無しさん mailto:sage [2014/04/27(日) 21:38:52.33 ID:Q9kXtU28] Tでもnullとの==比較だけはできるんだけど Tが値型の場合は常にfalseになる
268 名前:デフォルトの名無しさん [2014/04/27(日) 21:44:11.91 ID:LKRXtHDC] マジで?! 初めて知った・・・
269 名前:デフォルトの名無しさん mailto:sage [2014/05/01(木) 08:05:57.00 ID:fMEOKfxX] Actionめちゃくちゃ便利じゃないか 古い情報のデリゲートを使ったり、イベント使ったりして 途中でわけがわからなくなってたがこれ使ってすんげーシンプルにかけるようになった
270 名前:デフォルトの名無しさん mailto:sage [2014/05/01(木) 09:52:55.43 ID:tJSAUBZt] ActionとかFuncとかは単なる作り付けのデリゲート 便利なのはラムダ式
271 名前:デフォルトの名無しさん mailto:sage [2014/05/01(木) 16:02:15.95 ID:fMEOKfxX] 今気づいたけどID出るようになってるね これでキチガイが暴れなくなったね
272 名前:デフォルトの名無しさん mailto:sage [2014/05/01(木) 16:10:50.88 ID:HVeqsQe1] ∧∧ ヽ(・ω・)/ ズコー \(.\ ノ 、ハ,,、  ̄  ̄
273 名前:デフォルトの名無しさん [2014/05/01(木) 16:53:11.58 ID:BD8IvZOZ] C#のLinqでは、Like句は使えないのでしょうか? 下のようなVB.NETプログラムをC#で書きたいのですが、 Likeは無いと怒られます。 Dim filter As String = "*マ*" 'データソースの作成 Dim animals = New String() {"ライオン", "ウマ", "ポチ"} 'LINQで処理を定義 Dim results = From animal In animals Where animal Like filter
274 名前:デフォルトの名無しさん mailto:sage [2014/05/01(木) 16:57:52.59 ID:uhEglYyp] うん、使えない
275 名前:デフォルトの名無しさん mailto:sage [2014/05/01(木) 17:01:22.57 ID:uhEglYyp] あ、Like演算自体はMicrosoft.VisualBasic.CompilerServices.LikeOperator.LikeStringメソッドで実現できるよ クエリの句として使えないだけで
276 名前:デフォルトの名無しさん [2014/05/01(木) 17:12:26.68 ID:BD8IvZOZ] そうなんですか 残念 クエリ式は、VB.NETの方が優れてる気がしますね
277 名前:デフォルトの名無しさん mailto:sage [2014/05/01(木) 17:16:43.77 ID:uhEglYyp] よく考えたらLikeはクエリ式とは関係ないただのVBの演算子だった まあクエリ式なんてついでに乗っけてみた程度だからどうでもいいよ
278 名前:デフォルトの名無しさん [2014/05/01(木) 17:19:01.49 ID:Hl+E0h9B] クエリ式見るだけで吐き気がする どうしてドットで繋がないんだ 可読性下がるだけだろ
279 名前:デフォルトの名無しさん [2014/05/01(木) 17:27:43.28 ID:BD8IvZOZ] ちなみに、>>273 と同等のコードは、 C#だと、どのように書けるでしょうか? 書くことが出来ないとは 思えないのですが。。。
280 名前:デフォルトの名無しさん mailto:sage [2014/05/01(木) 17:29:47.35 ID:HVeqsQe1] VBやってろよ 気を揉まなくて済むぞ
281 名前:デフォルトの名無しさん mailto:sage [2014/05/01(木) 17:31:14.67 ID:uhEglYyp] var results = animals.Where(animal => LikeOperator.LikeString(animal, filter)); var results = from animal in animals where LikeOperator.LikeString(animal, filter); どっちでも好きに
282 名前:デフォルトの名無しさん mailto:sage [2014/05/01(木) 17:32:05.24 ID:uhEglYyp] ってそういえばselect必須だったっけ var results = from animal in animals where LikeOperator.LikeString(animal, filter) select animal;
283 名前:デフォルトの名無しさん [2014/05/01(木) 17:34:59.06 ID:Hl+E0h9B] >>279 var results = animals.Where(animal => Regex.IsMatch(animal, ".*マ.*")); こんな感じ? これだと正規表現がすごく遅そうでやばそうかな
284 名前:デフォルトの名無しさん [2014/05/01(木) 18:01:32.04 ID:BD8IvZOZ] >>282 ご回答ありがとうございます。 ただ、下記のようなコードを書いたのですが、 「動的な式のコンパイルに必要な1つ以上の型が見つかりません。」 と怒られてしまいます。 using Microsoft.VisualBasic.CompilerServices; string filter = "*マ*"; dynamic animals = new string[] {"ライオン","ウマ","ポチ"}; var results = from animal in animals where LikeOperator.LikeString(animal, filter) select animal; 素人質問で恐縮ですが、 どの辺がいけないのでしょうか? よろしくお願いします。
285 名前:デフォルトの名無しさん mailto:sage [2014/05/01(木) 18:03:34.36 ID:uhEglYyp] なんでdynamicなんだよ
286 名前:デフォルトの名無しさん mailto:sage [2014/05/01(木) 18:04:42.61 ID:HVeqsQe1] だから言ったのに
287 名前:デフォルトの名無しさん [2014/05/01(木) 18:06:08.51 ID:Hl+E0h9B] ダイナミック ダイクマー
288 名前:デフォルトの名無しさん [2014/05/01(木) 18:49:10.15 ID:BD8IvZOZ] >なんでdynamicなんだよ あっ、本当だ。 失礼しました。 ただ、下記のようなコードを書くと、 全ての要素がヒットしてしまいました。 var filter = "*マ*"; var animals = new string[] {"ライオン","ウマ","ポチ"}; var results = from animal in animals where LikeOperator.LikeString(animal, filter, Microsoft.VisualBasic.CompareMethod.Binary) select animal; なかなか難しいなと思いました。
289 名前:デフォルトの名無しさん mailto:sage [2014/05/01(木) 19:58:52.39 ID:R3+I0L0F] 死ねと思いました
290 名前:デフォルトの名無しさん mailto:sage [2014/05/01(木) 20:04:27.43 ID:JPPdbDCn] コードままでウマしかヒットしなかったけど釣りか?
291 名前:デフォルトの名無しさん [2014/05/02(金) 00:24:04.56 ID:Z8O9F4B6] すみません、クイックウォッチのソースを見ていました 結果ビューを見たら、ちゃんとウマだけヒットしていました C#を始めて3日目の超初心者なので、 初歩的な間違いをしておりました このデータを、どう配列に取り込もうか考え中ですが、 それくらいなら自力解決できると思います ご教授ありがとうございました
292 名前:デフォルトの名無しさん [2014/05/02(金) 00:35:51.86 ID:Z8O9F4B6] クエリ式って、エクセルからオブジェクトを一気に取り込んで あいまい検索する時とか、凄く便利そうですが、 メジャーじゃないんでしょうか? エクセルVBAの構文が見難かったので、 C#でやる方法を色々調べている時に、 便利そうだと思ったのですが、 情報がほとんど無かったので。。。
293 名前:デフォルトの名無しさん mailto:sage [2014/05/02(金) 00:48:05.73 ID:tBX44kWl] メジャーじゃないですね
294 名前:デフォルトの名無しさん mailto:sage [2014/05/02(金) 02:41:15.92 ID:5msgSlqj] 今時エクセル絡ませるのはマイナーの部類ですね
295 名前:デフォルトの名無しさん mailto:sage [2014/05/02(金) 02:42:06.91 ID:5msgSlqj] データベースに桐を使ってるレベルです
296 名前:デフォルトの名無しさん mailto:sage [2014/05/02(金) 10:52:35.09 ID:ht5JWCls] マイナーかどうかはおいといて、結局 C# 経由で VBA のメソッドを使うことにならん? それ。
297 名前:デフォルトの名無しさん mailto:sage [2014/05/02(金) 12:13:38.02 ID:4eRBcMfb] Like相当なら StartsWith()、EndsWith()、Contains() でいいべ
298 名前:デフォルトの名無しさん mailto:sage [2014/05/02(金) 16:54:12.21 ID:dSQl/o1w] Visual C# 2013 .NET Framework 4.5 数値と文字列の組を、数値の降順で表示したいのですが ↓より簡単な方法はないでしょうか https://ideone.com/OmRl1j 数値の重複はあり、重複した数値のソート順は問いません
299 名前:デフォルトの名無しさん mailto:sage [2014/05/02(金) 17:01:30.08 ID:ntw0y3bI] 組なんだったら一つのクラスにまとめればいいじゃん
300 名前:デフォルトの名無しさん mailto:sage [2014/05/02(金) 18:05:33.78 ID:hJb5Y+9v] var DayMon =new List<Tuple<int,string>>{Tuple.Create(31,"Jan"),Tuple.Create(28,"Feb"),.....}.OrderBy(t=>t.Item1); foreach(var dm in DayMon) { Console.WriteLine("{0} {1}", dm.Item1,dm.Item2); }
301 名前:デフォルトの名無しさん mailto:sage [2014/05/02(金) 18:10:50.51 ID:dSQl/o1w] クラスを作るという方法も考えたんですが、もっとお手軽にできないかと https://ideone.com/wAaleA ↑ちょっとKeyValuePairが長いですが、これで行こうかと思います >>300 ちょっと検討してみます
302 名前:デフォルトの名無しさん mailto:sage [2014/05/02(金) 18:37:49.20 ID:dSQl/o1w] >>300 ideoneではコンパイルできませんでしたが、VC#2013では結果が正しく表示されました https://ideone.com/qen38H OrderByは使えなかったのでSortで代用しています タプルもKeyValuePairも似たような感じですが、若干ソースが見やすくなったかと ありがとうございました
303 名前:デフォルトの名無しさん mailto:sage [2014/05/02(金) 21:16:13.38 ID:lNHwVscw] OrderByは拡張メソッドでUsing System.Linqが無いと使えない private void Form1_Load(object sender, EventArgs e) { var lst = CreateList(new { Id = 0, Name = "" }); lst.Add(new { Id = 31, Name = "Jan" }); lst.Add(new { Id = 28, Name = "Feb" }); lst.Add(new { Id = 31, Name = "Mar" }); lst.Add(new { Id = 30, Name = "Apr" }); foreach (var item in lst.OrderBy(t => t.Id)) { Console.WriteLine("{0}{1}", item.Id, item.Name); } } private List<T> CreateList<T>(T val) { return new List<T>(); }
304 名前:デフォルトの名無しさん mailto:sage [2014/05/02(金) 23:44:12.05 ID:FeJk+PKM] >>298 enum
305 名前:デフォルトの名無しさん mailto:sage [2014/05/02(金) 23:59:39.01 ID:0wxqsA8J] 多少工夫が必要だがDictionaryの初期化子って手も
306 名前:デフォルトの名無しさん mailto:sage [2014/05/03(土) 00:03:57.75 ID:KZJ62BJo] >>302 コードが短ければいいってものじゃないと思うけど >>300 みたいなのってパッと見てわかりやすいとは思わないわ あまりにも抽象的過ぎて これもさ、例えばlistを別のクラス、プロジェクトで利用したいってなったとき t.Item1の見た目でどんな意味の値が入っているかわからないじゃない? 一つのメソッド内でしか使わない使い捨てならいいけどさ public class Month { public int Name{get;set;} public int Days{get;set;} } foreach (var mon in months) { Console.WriteLine("日数:{0} 月:{1}", mon.Days, mon.Name); } コードは長くなるけど、このほうがわかりやすいでしょ?
307 名前:デフォルトの名無しさん mailto:sage [2014/05/03(土) 00:17:35.06 ID:KZJ62BJo] >>303 これもさ、例えば曜日などのメンバーを追加したり、メソッドを追加したくなったらどうすんのって話 全部書き換えなきゃいけなくなる
308 名前:デフォルトの名無しさん [2014/05/03(土) 00:20:14.92 ID:JUyABsGs] 自然に実装するのが一番だね
309 名前:デフォルトの名無しさん mailto:sage [2014/05/03(土) 00:29:10.18 ID:KZJ62BJo] 暦なんて普遍的なものなんだから十分クラスとしてあってもよいもの 年によって月の日数も変化するし、曜日もほしくなる カレンダークラスというのがほしくなるかもしれない 容易に拡張すると予測されるようなものを、 その場しのぎで柔軟性のないコードで実現したとしても わかりやすい、使いやすいにはならないと思う
310 名前:デフォルトの名無しさん mailto:sage [2014/05/03(土) 00:44:39.43 ID:axBvBMhe] 何か講釈してるけどDateTimeFormatInfoとかCalendarとか知らないのかな
311 名前:デフォルトの名無しさん mailto:sage [2014/05/03(土) 01:11:56.28 ID:KHkxCjGP] こういう人には関わらない方が良い
312 名前:デフォルトの名無しさん [2014/05/03(土) 02:25:42.67 ID:/0tPcitL] pngをicoに変換するソフト作ってみたくて調べてたら ToIcon名前空間ってのを見つけたんだけど、こいつのマニュアルがいくら探しても出てきません どこかに載ってるページとかありませんか?
313 名前:デフォルトの名無しさん mailto:sage [2014/05/03(土) 02:40:53.67 ID:zB11sd0u] どこでToIconてのを見つけたんだ?
314 名前:デフォルトの名無しさん [2014/05/03(土) 02:55:54.29 ID:/0tPcitL] VisualStudioの候補で出てきた
315 名前:デフォルトの名無しさん mailto:sage [2014/05/03(土) 06:04:12.62 ID:XhsVJdhh] ぐぐる様で出てこないということは存在しないということ 画像ファイルを読み込んでIconオブジェクト作成して Icon.Saveで作れないこともないけど、単一サイズしか作れないし色数も変になるから 実質的には自分で書かないと
316 名前:298 mailto:sage [2014/05/03(土) 12:32:42.87 ID:0tTnhsBI] いろいろご意見ありがとうございます https://ideone.com/zEwVxf 整理した結果、汎用方式で行こうと思います >>303 動かしてみて参考にさせていただきました >>306 単純に表示する順序を入れ替えたいだけなので、一つのメソッド内でしか使わない使い捨てです
317 名前:デフォルトの名無しさん mailto:sage [2014/05/03(土) 13:32:06.08 ID:O1mw8o44] >>316 2度とくん中洲
318 名前:デフォルトの名無しさん mailto:sage [2014/05/03(土) 14:12:12.94 ID:7V85CoD7] >>278 何もわかってないんだな
319 名前:デフォルトの名無しさん [2014/05/03(土) 23:11:16.87 ID:RQXoEmML] パラメータ化クエリをトランザクション処理したいのですが、上手く動きません。 何が悪いのか、超が付く初心者なので、とんと見当がつかず。。。 ご指摘のほど、よろしくお願いします。 var cmdList = new List<OleDbCommand>(); OleDbCommand command = new OleDbCommand(); var plam1 = new System.Data.OleDb.OleDbParameter("@param", System.Data.OleDb.OleDbType.Integer); plam1.Value = "2535"; command.Parameters.Add(plam1); cmdList.Add(command); command = new OleDbCommand(); var plam2 = new System.Data.OleDb.OleDbParameter("@param", System.Data.OleDb.OleDbType.Integer); plam2.Value = "2539"; command.Parameters.Add(plam2); cmdList.Add(command); using (var cn = new OleDbConnection()) { cn.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\test.accdb"; cn.Open(); OleDbTransaction transaction = cn.BeginTransaction(IsolationLevel.ReadCommitted); try { foreach (OleDbCommand cmdSet in cmdList) { cmdSet.Connection = cn; cmdSet.CommandText = "DELETE FROM t_家計簿 WHERE [No] = ?"; cmdSet.ExecuteNonQuery(); } transaction.Commit(); } }
320 名前:デフォルトの名無しさん mailto:sage [2014/05/04(日) 00:10:55.38 ID:QUU6NeMv] とりあえずコマンドのTransactionが未設定じゃないかな
321 名前:デフォルトの名無しさん mailto:sage [2014/05/04(日) 00:27:31.63 ID:I+QWjdQ8] まず普通にSQL通すとこからやって、パラメタとトランザクションは 別々に試して両方できてから合わせては?
322 名前:デフォルトの名無しさん [2014/05/04(日) 00:52:37.14 ID:WZQbe0KN] >とりあえずコマンドのTransactionが未設定じゃないかな 調べてみたら、まさにその通りでした。 初心者らしい、初歩的なミスでお恥ずかしい。 ありがとうございました。
323 名前:デフォルトの名無しさん mailto:sage [2014/05/04(日) 08:07:19.84 ID:zFJPqZSx] .Net4.5から追加されたSystem.IO.Compression.ZipArchive クラスについてご教授下さい。 smdn.jp/programming/netfx/fcl/System.IO.Compression.ZipArchive/ ↑サイトなどを参考にさせて頂いて ファイルやディレクトリの圧縮・展開等ができることは確認しました。 この時、例えば大きなファイルを圧縮するような場合 プログレスバーを表示させたりする事も考えられますが 圧縮や展開の進捗を得る方法というのはありますでしょうか? フリーのライブラリなどでは可能なものもありますが あくまで、このクラスを使用する前提の場合 どういった方法が考えられますでしょうか。 よろしくお願い致します。
324 名前:デフォルトの名無しさん mailto:sage [2014/05/04(日) 08:16:33.82 ID:izVfMrBs] Stream使って読み書きするんだからそこで適当に通知すればいいだろ
325 名前:デフォルトの名無しさん mailto:sage [2014/05/04(日) 08:20:35.08 ID:zFJPqZSx] ありがとうございます。 FileStreamクラスで似たような事をした事があったので もしかしたら可能かとは思ったのですが なにぶん初心者サンデープログラマなもので うまい事できずにいました。 可能だというお墨付きを頂けたので もうちょい頑張ってみます。助かりました。
326 名前:デフォルトの名無しさん mailto:sage [2014/05/04(日) 09:24:10.11 ID:zFJPqZSx] 元ストリームのLengthプロパティを取得して、それに対してReadByte・WriteByteメソッド で書き込む度に進捗を報告するようにできました。助言いただけたおかげです。 ありがとうございます。またよろしくお願いします。
327 名前:デフォルトの名無しさん mailto:sage [2014/05/04(日) 10:48:12.54 ID:IPFrsn/P] どういたまして
328 名前:デフォルトの名無しさん mailto:sage [2014/05/04(日) 10:58:36.66 ID:y/VTbq9Y] ローカル変数に属性ってつけられない感じ?
329 名前:デフォルトの名無しさん mailto:sage [2014/05/04(日) 11:05:12.18 ID:izVfMrBs] うん というか付けてどうするんだ
330 名前:デフォルトの名無しさん mailto:sage [2014/05/04(日) 13:23:29.95 ID:MX2IhFCN] 闇属性 外部から不可視になる
331 名前:デフォルトの名無しさん mailto:sage [2014/05/04(日) 13:48:25.06 ID:8U+RhpvH] 水属性 参照型は値型に、値型は参照型になる
332 名前:デフォルトの名無しさん mailto:sage [2014/05/04(日) 16:04:29.40 ID:c3Q0rGbO] ヘンタイ属性 お前ら
333 名前:デフォルトの名無しさん mailto:sage [2014/05/04(日) 17:04:07.99 ID:mi+P20vl] なんかキモい流れ
334 名前:デフォルトの名無しさん mailto:sage [2014/05/07(水) 11:01:32.36 ID:xSUe5qhE] 中ニ病でも.NETがしたい
335 名前:デフォルトの名無しさん mailto:sage [2014/05/07(水) 11:25:59.65 ID:6XNtQ4R5] >>207 Excelはやたらとあるのに、Word関係の情報少ないよな・・・ 同じ感覚で文章出力出来るかと思って安易に受けたら、ちょっとしたことでもえらく苦労した記憶が
336 名前:デフォルトの名無しさん mailto:sage [2014/05/07(水) 22:51:07.44 ID:unuMLq/O] まともな文書になると普通はお好みのスクリプトとTeX使うからね オフィスなんか使うバカに情報発信はできないからドキュメントが少ないのは仕方が無いよ
337 名前:デフォルトの名無しさん mailto:sage [2014/05/08(木) 02:36:28.02 ID:CO6CxSEW] (´・∀・`)ヘー それでそれで?