ふらっと C#,C♯,C#(初心者用) Part119 [無断転載禁止]©5ch.io
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2016/01/31(日) 00:52:20.67ID:OtXGSzkV他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者は邪魔なので後述のC#相談室に移動して下さい。
>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっと C#,C♯,C#(初心者用) Part118 [転載禁止](c)2ch.net
http://peace.2ch.net/test/read.cgi/tech/1448207673/
■関連スレ
C#, C♯, C#相談室 Part89 [転載禁止](c)2ch.net
http://peace.2ch.net/test/read.cgi/tech/1443271409/
■コードを貼る場合は↓を使いましょう。
http://ideone.com/
0002デフォルトの名無しさん
2016/01/31(日) 01:08:38.52ID:N9Aq8poo0003デフォルトの名無しさん
2016/01/31(日) 01:57:57.23ID:OtXGSzkVまたーりするがよし
0004デフォルトの名無しさん
2016/01/31(日) 10:22:44.34ID:QMexAFhehttps://dotnetfiddle.net/
後、reference sourceもテンプレ入れとけばいいんじゃね?
http://referencesource.microsoft.com/
0005デフォルトの名無しさん
2016/01/31(日) 13:39:01.93ID:qH2XkhrXこれならないように設定って変えられないの?
Ctrl+VとCtrl+Cで切り貼りしてるときにたまに定義開いちゃって
定義先にペーストされることがあって邪魔くさい・・・
0006デフォルトの名無しさん
2016/01/31(日) 16:00:49.01ID:FdM/jilW0007デフォルトの名無しさん
2016/01/31(日) 16:47:43.84ID:Lk2teTuLコピペする奴が悪い
0008デフォルトの名無しさん
2016/01/31(日) 17:54:38.31ID:L9wnRk7F0009デフォルトの名無しさん
2016/01/31(日) 18:27:31.45ID:AEa1Mqygstring stJoin1 = string.Join(",", stArray); 出来る
string stJoin2 = stArray.Join(","); エラー
はなぜですか?
0010デフォルトの名無しさん
2016/01/31(日) 19:36:56.86ID:XZC47Qjq0011デフォルトの名無しさん
2016/01/31(日) 20:32:06.51ID:FdM/jilW下は、consみたいなのを自作すれば良い。
0012デフォルトの名無しさん
2016/01/31(日) 21:49:23.21ID:eL/uJhf1どうしたら出来ますか?
0013デフォルトの名無しさん
2016/01/31(日) 22:16:29.82ID:qH2XkhrX単純にコードの位置を移したいとかでコピペしちゃいけないもんなんですか?
あと、たとえばrow["hoge"]とかhogeの部分とか型付けされてないところのスペルミス防ぐのに
コピペしてるんですが・・・
0014デフォルトの名無しさん
2016/01/31(日) 22:29:15.00ID:FdM/jilW上は、そう頻繁にあるものでもあるまい。
それにマウス持ち変えるより、ロールアップキーでも使う方が速いだろう。
下は、nameof使え。
0015デフォルトの名無しさん
2016/01/31(日) 22:35:50.78ID:XZC47Qjq最初から型付けされたコードを書く
0016デフォルトの名無しさん
2016/01/31(日) 22:38:08.13ID:RnP8OsKU無理
static readonlyにするか、事前に関数電卓で計算してベタで書け
0017デフォルトの名無しさん
2016/01/31(日) 22:40:37.42ID:eL/uJhf1まだMSが対応していないという事ですか?
バージョンアップで対応する可能性はありますか?
0018デフォルトの名無しさん
2016/01/31(日) 22:49:44.07ID:QMexAFhe0019デフォルトの名無しさん
2016/01/31(日) 22:50:53.93ID:x//RUhMNシンプルにしてコンパイルを高速にしたいからそうなってるんだろうし、対応はまず無いだろ。
0020デフォルトの名無しさん
2016/01/31(日) 22:55:05.54ID:eL/uJhf1Mathで使いたいのは切り上げだけです。切り下げなら(int)でいいので
0021デフォルトの名無しさん
2016/01/31(日) 22:59:34.79ID:ICO548x30022デフォルトの名無しさん
2016/01/31(日) 23:03:16.54ID:LmCDpUMwコンパイル時に値が確定するんだったら普通にリテラルで書いて
必用ならそのリテラルの意味なり計算式なりをコメントで添えておけばいいでしょ。
何がしたいんでしょ。
0023デフォルトの名無しさん
2016/01/31(日) 23:09:13.99ID:eL/uJhf1コメントで書くしかないのか
式で書ければ便利と思っただけ
0024デフォルトの名無しさん
2016/01/31(日) 23:31:52.22ID:LmCDpUMwまあ気持ちだけは分からんでもないけどね。
0025デフォルトの名無しさん
2016/01/31(日) 23:37:16.03ID:QMexAFhe無いけど
0026デフォルトの名無しさん
2016/01/31(日) 23:39:07.66ID:eL/uJhf1コンパイルとか一瞬で終わるのに・・・
0027デフォルトの名無しさん
2016/01/31(日) 23:39:18.71ID:W1iwZ4fQとりあえずstatic readonlyにしといて遅かったら(そして万一constにすることで改善したら)直せばいい
まあはっきり言って絶対にありえないけどね
0028デフォルトの名無しさん
2016/01/31(日) 23:46:36.44ID:W1iwZ4fQそうじゃない
Math.Sin(0.1)は定数だが、それをどうやってコンパイラが判断するのか?
Mathクラスのメソッドだけを言語仕様で特別扱いするのか?
それとも const double Sin(double x) のように修飾子で区別するか?
じゃあconstメソッドの中身はどうやって実装する? 結果が定数であることをどう保障する?
くだらないことのために言語が無駄に複雑になりすぎるんだよ
0029デフォルトの名無しさん
2016/02/01(月) 00:00:00.12ID:LZvTT2lb0030デフォルトの名無しさん
2016/02/01(月) 00:01:09.11ID:LZvTT2lb理由は27と同じ
0031デフォルトの名無しさん
2016/02/01(月) 00:13:35.57ID:OH63tZsW0032デフォルトの名無しさん
2016/02/01(月) 00:17:47.14ID:LZvTT2lbconstexpr用に制限されたコンパイラもういっこつける方針で設計された(c++14版)ので
実装コストはヤバい
GCCなんかv4のうちは無理!と言ってる
0033デフォルトの名無しさん
2016/02/01(月) 00:22:03.93ID:dIlBXeJw保証することは無理でもコンパイル時に呼び出してねって言うことなら出来ると思う
const(Math.Hoge(hoge))的な文法追加して
0034デフォルトの名無しさん
2016/02/01(月) 00:59:06.40ID:PI4teHGzVisualStudio2013なので使えないですよね・・・?
ロールアップキー、リファクタリング支援ツールこれまで使ったことがないので勉強してみます
0035デフォルトの名無しさん
2016/02/01(月) 02:37:16.26ID:Z3IF5HOp(int)hage+1
0036デフォルトの名無しさん
2016/02/01(月) 06:41:30.50ID:S6M4IlTnC#にはJITがあるんだから無理にコンパイル時にやる必要はない
明らかに定数なら実際最適化されるはず
0037デフォルトの名無しさん
2016/02/01(月) 10:07:11.07ID:7cizXyZ3高い金だして2013のPro買ったけど、無料版のほうがいいのかね
移行するにしても開発中のプロジェクトって簡単に移せるものなの?
0038デフォルトの名無しさん
2016/02/01(月) 12:04:32.20ID:I165EpQrそうでなきゃ2013で良いんじゃね
0039デフォルトの名無しさん
2016/02/01(月) 14:54:14.50ID:aG9hZjMUstring[] array=new string[]{
"",
"",
"aaa",
"",
"",
"bbb",
"ccc",
"",
""
};
前後の空文字列要素を除去して、こんなふうにしたいのですが、
{
"aaa",
"",
"",
"bbb",
"ccc",
};
LINQなどでやる方法教えて下さい。
0040デフォルトの名無しさん
2016/02/01(月) 15:43:34.78ID:V4hZicDharray.SkipWhile(_ => _ == "").Reverse().SkipWhile(_ => _ == "").Reverse().ToArray()
0041デフォルトの名無しさん
2016/02/01(月) 18:10:43.09ID:/r/8ldkl0042デフォルトの名無しさん
2016/02/01(月) 18:19:24.39ID:EVPhHPfUTakeWhile使えばいい
004342
2016/02/01(月) 18:20:33.27ID:EVPhHPfU0044デフォルトの名無しさん
2016/02/01(月) 18:46:51.72ID:czv56jrR0045デフォルトの名無しさん
2016/02/01(月) 18:52:59.57ID:FFxZxQH+0046デフォルトの名無しさん
2016/02/01(月) 18:54:36.29ID:+KtViPiM0047デフォルトの名無しさん
2016/02/01(月) 18:57:09.23ID:LZvTT2lb同情するよ。
0048デフォルトの名無しさん
2016/02/01(月) 20:14:58.30ID:2W5izw7a0049デフォルトの名無しさん
2016/02/01(月) 21:20:16.63ID:aG9hZjMUありがとうございました
0050デフォルトの名無しさん
2016/02/01(月) 21:42:26.45ID:PI4teHGz無料のComminity?それともMSDNつきのPro以上?
0051デフォルトの名無しさん
2016/02/01(月) 21:44:54.24ID:2W5izw7a会社では客によりけり
0052デフォルトの名無しさん
2016/02/01(月) 21:47:47.53ID:CMQpk8BM0053デフォルトの名無しさん
2016/02/01(月) 21:49:51.39ID:2W5izw7a0054デフォルトの名無しさん
2016/02/01(月) 21:50:44.12ID:wNeKxt73中小のクソブラック(派遣除く)の方が自由にやれるし技術もある
0055デフォルトの名無しさん
2016/02/01(月) 21:51:52.81ID:PUKtqVKL0056デフォルトの名無しさん
2016/02/01(月) 21:53:40.39ID:2W5izw7aクソみたいな仕様書とクソみたいな規約で雁字搦め
0057デフォルトの名無しさん
2016/02/02(火) 04:23:46.44ID:hSQJZAUParray
.SkipWhile(s => s.Length == 0)
.SkipWhileLast(s => s.Length == 0)
SkipWhileLast()の実装は
C# SkipWhileLast でググれば出てくる。
LINQ使うコツは、小まめにSkipWhileLastみたいな便利関数を作って行く事。
そうすると、後がドンドン楽になる。
0058デフォルトの名無しさん
2016/02/02(火) 04:34:46.35ID:hSQJZAUP2015使え。
ライセンスが無いなら、会社に談判しろ。
どうしてもダメなら、CallerMemberNameかExpressionか使って工夫しろ。
ラムダ式使用禁止なら、移動願いでも出せ。
0059デフォルトの名無しさん
2016/02/02(火) 04:38:04.48ID:hSQJZAUP個人開発ならCommunity一択。
msdnはwebで検索。
ある程度の規模の会社ならPro。
0060デフォルトの名無しさん
2016/02/02(火) 06:58:30.82ID:1lbf9bi4そういう極めて基本的なユーティリティメソッドを自分で作っちゃうのはあまり良くないな
ソースに個人の癖が出すぎる
典型的な例はforEachとか、Stringに変な拡張メソッド付けるとかな
再利用は目的単位で
0061デフォルトの名無しさん
2016/02/02(火) 08:08:12.85ID:hSQJZAUP目的関数を作れ。
> 前後の空文字列を除去
この場合
前の除去が、SkipWhile
後の除去が、SkipLastWhile
LINQの最大の利点の一つは、手段ではなく目的がダイレクトに書けること。
0062デフォルトの名無しさん
2016/02/02(火) 13:03:48.60ID:yOFSQOe0LINQ好きな人と嫌いな人は何が違うんでしょうか?
0063デフォルトの名無しさん
2016/02/02(火) 13:08:02.67ID:3jsOLIbZ書くとき簡潔さやエレガントさを重視する人と、
後でメンテする時のコストや可読性を重視する人の違いが大きいかもね。
0064デフォルトの名無しさん
2016/02/02(火) 14:00:47.70ID:31GO6MKMUnityで使うのが目的です
PHPとRubyを多少触ったことがあり
クラスまでは何となく分かるくらいのプログラム初心者です
0065デフォルトの名無しさん
2016/02/02(火) 15:48:18.70ID:jZDM0b/G0066デフォルトの名無しさん
2016/02/02(火) 19:27:27.78ID:bYmP3hY/初心者の自分にどっちがどっちなのか教えて下さい
0067デフォルトの名無しさん
2016/02/02(火) 19:43:17.84ID:ZOdX5endどっちらもLINQが優勢な気がする。
まあ、可読性は慣れが大きいか。
0068デフォルトの名無しさん
2016/02/02(火) 21:16:57.79ID:6fuhRmORif(a2>b2&&c2<d2)ほにゃらら
if(a3<b3&&c3>d3)ほにゃらら
みたいに等号の向きが違うだけの処理って
等号パターンをパラメーター化したりするような方法ってありますか?
クールにかける方法があればご教授下さい。
0069デフォルトの名無しさん
2016/02/02(火) 21:24:07.68ID:6fuhRmORa1とかは配列にしてforとかで回して処理できるようにしたいのです
0070デフォルトの名無しさん
2016/02/02(火) 21:43:31.72ID:ZOdX5endの時
Func<X, X, bool>[]
を用意する。
題意を外してたら、ごめん。
0071デフォルトの名無しさん
2016/02/02(火) 22:15:51.73ID:6fuhRmORおおお。ありがとうございます。
意図にあってます!
なるほどFuncというのがあるんですね。
こんな感じでしょうか。
若干仮引数部分が冗長な感じがしますが
使い方まちがってますでしょうか。
http://ideone.com/VLeVQN
0072デフォルトの名無しさん
2016/02/02(火) 23:25:27.97ID:ijuPgovR同意
0073デフォルトの名無しさん
2016/02/03(水) 09:53:08.59ID:ToDOcZiyが存在していて、それを
c:\aaa\bbb\ccc\ddd.txt
にコピーしたいのですが、
aaa,bbb,cccが存在していないのでエラーします。
自動的にフォルダを作ってコピーしてくれるメソッドはありますか?
0074デフォルトの名無しさん
2016/02/03(水) 11:16:12.29ID:j8HR3MFJDirectory.CreateDirectory
0075デフォルトの名無しさん
2016/02/03(水) 12:25:45.11ID:SF3O1Oce0076デフォルトの名無しさん
2016/02/03(水) 14:36:18.68ID:GNXIV+s8Comparison<T>を取るバージョンがないのはなぜ?
不便でしょうがないと思うんだけど。
0077デフォルトの名無しさん
2016/02/03(水) 14:52:43.52ID:f1DNv6yVFuncでセレクタを指定する方でほとんど十分だから
0078デフォルトの名無しさん
2016/02/03(水) 14:54:44.10ID:GNXIV+s8まあ確かにそうなんですが...
0079デフォルトの名無しさん
2016/02/03(水) 15:02:54.48ID:SF3O1Oce0080デフォルトの名無しさん
2016/02/03(水) 15:38:40.16ID:f1DNv6yVラムダの引数の数が違うだけで全く動作の異なるオーバーロードがあったら紛らわしすぎるだろ
0081デフォルトの名無しさん
2016/02/03(水) 18:38:09.82ID:sizrUp1k0082デフォルトの名無しさん
2016/02/03(水) 20:05:40.98ID:ET0ey9ws0083デフォルトの名無しさん
2016/02/03(水) 20:31:29.28ID:KiLlRrJ3自分なら
X [a b c d]
みたいなクラス作って
Match(Action[])
みたいな関数作るかなあ。
0084デフォルトの名無しさん
2016/02/03(水) 20:34:50.63ID:KiLlRrJ3csvをパースして、IEmuerable<string[]>を作る。
後は、string[]の長さが全部同じなのを前提にして縦横変える。
0085デフォルトの名無しさん
2016/02/03(水) 20:39:10.73ID:/MNciLgKエクセルで開いてコピーして形式を選択張り付けで行列を入れ換えにチェックを入れる。
0086デフォルトの名無しさん
2016/02/03(水) 21:05:39.56ID:ycDP2Q2/何度もやらないなら Excel 使えば?
0087デフォルトの名無しさん
2016/02/03(水) 21:47:25.66ID:glKmFo73ファイルをアップロードするプログラムを作ったのですが
#76でエラーコード530(リモートサーバーにログインされていません)が返って来ます。
passもIDもあっています。何故かわかる方いらっしゃったらよろしくお願いします。
http://ideone.com/URZ7XR
0088デフォルトの名無しさん
2016/02/03(水) 21:55:15.11ID:EldvIZCuそんなもんftpコマンドでええがな
0089デフォルトの名無しさん
2016/02/03(水) 21:56:26.30ID:glKmFo73ファイルをアップロードするプログラムを作ったのですが
#76でエラーコード530(リモートサーバーにログインされていません)が返って来ます。
passもIDもあっています。何故かわかる方いらっしゃったらよろしくお願いします。
http://ideone.com/URZ7XR
0091デフォルトの名無しさん
2016/02/03(水) 22:02:56.65ID:EldvIZCuファイルに書いてProcess.Start呼ぶだけた
C#だけで実現できるぞ?
0092デフォルトの名無しさん
2016/02/03(水) 22:08:08.63ID:eknpwZEfわからないなら答えるなよ
0093デフォルトの名無しさん
2016/02/03(水) 22:08:17.43ID:VkZvsMH5PerlとかPythonとかでいいよ
0094デフォルトの名無しさん
2016/02/03(水) 22:11:18.30ID:/MNciLgKよくわからないけどー
client.Headers[HttpRequestHeader.Authorization] = "Basic " + base64;
ってFTPでもつうようするん?
client.wc.Credentials = new System.Net.NetworkCredential("username", "password");
では?
0096デフォルトの名無しさん
2016/02/03(水) 22:15:10.62ID:glKmFo73client.wc.Credentials = new System.Net.NetworkCredential("username", "password");
でも同様のエラーが出ました。
0097デフォルトの名無しさん
2016/02/03(水) 22:18:23.55ID:/MNciLgKそっかー残念やなー
0098デフォルトの名無しさん
2016/02/03(水) 22:46:23.38ID:4yo/6pJu0099デフォルトの名無しさん
2016/02/03(水) 22:54:22.63ID:4yo/6pJu正しく動いているならWireSharkでペイロードをキャプチャ
正しく動かないクライアントのペイロードと比較
足らない物を補うなり修正なりする
0100デフォルトの名無しさん
2016/02/03(水) 23:49:10.39ID:unol2DYFありません
0101デフォルトの名無しさん
2016/02/04(木) 00:40:34.48ID:gWgQAzup少し頑張ってみます。
ffftp等であればアクセスできるためサーバーは動いていると思われます。
0102デフォルトの名無しさん
2016/02/04(木) 06:47:24.04ID:PFzCzh/c> エラーします。
たまにこう書いてる奴見かけるがアホっぽいからやめた方がいい
0103デフォルトの名無しさん
2016/02/04(木) 08:50:01.99ID:+vbR9WQvFileSystem クラス使ったら行けるんじゃなかったっけ?
https://msdn.microsoft.com/ja-jp/library/microsoft.visualbasic.fileio.filesystem(v=vs.110).aspx
うろ覚えだから間違っていたらごめんね
0104デフォルトの名無しさん
2016/02/04(木) 15:03:25.17ID:CRE7g2W6関数の作り方を教えてください。
おねがいします。
0105デフォルトの名無しさん
2016/02/04(木) 15:45:42.87ID:0aoqlSU+(B-A)/C
0106デフォルトの名無しさん
2016/02/04(木) 15:56:50.85ID:CRE7g2W6除算はうまくいかないようです。もう少し詳しく教えてください。
言い忘れましたが、A、B、CいずれもSystem.DateTime型で、
Cについて日付情報は使用しないのでダミーのものが入っている前提です。
0107デフォルトの名無しさん
2016/02/04(木) 16:06:24.55ID:CRE7g2W6Cについては、時刻情報しか使用しないので、
日付部分にはダミーのものが入っています。
0108デフォルトの名無しさん
2016/02/04(木) 16:13:35.26ID:w4WZmN2D0109デフォルトの名無しさん
2016/02/04(木) 16:13:41.05ID:CRE7g2W62016/1/1 16:50:00から、2016/1/31 6:00:00までの間、
7:30:00に鳴った目覚ましの回数を取得したいのです。
0110デフォルトの名無しさん
2016/02/04(木) 16:25:00.84ID:CRE7g2W6すみません。もっとこんがらがりました。
単純に日数の差分で割って切り捨てれば出せるかと思いましたが、
>>109 の例でいうと、7:29〜7:31のたった2分でも1回とカウントし、
同じ2分の7:27〜7:29ではカウントしない方法がわかりません。
0111デフォルトの名無しさん
2016/02/04(木) 16:49:57.66ID:CRE7g2W6forループで範囲開始時刻から終了時刻まで1秒ずつインクリメントして、
時刻Cと比較してカウンタをインクリメントしたらできました!
ありがとうございます!
0112デフォルトの名無しさん
2016/02/04(木) 17:11:15.22ID:Jx1/Vtha参考までに
http://ideone.com/w638Ds
0113デフォルトの名無しさん
2016/02/04(木) 17:49:37.86ID:leHGWpD80114デフォルトの名無しさん
2016/02/04(木) 18:22:31.66ID:CRE7g2W6ありがとうございます!
私は下記のように書きましたが、そちらのほうがシンプルですね!
http://ideone.com/WyDvRp
0115デフォルトの名無しさん
2016/02/04(木) 19:07:31.09ID:PFzCzh/c初心者スレだからプログラムの内容についての話なら基本怒られない
むしろ怒られるのは関係ないレスしてるお前や俺
0116デフォルトの名無しさん
2016/02/04(木) 20:15:13.21ID:0aoqlSU+足算と引算があれば除算は定義可能。
1秒毎の必要は無い。
0117デフォルトの名無しさん
2016/02/04(木) 22:17:41.52ID:gWgQAzup追記です。
このプログラムを作成したパソコンであれば動くのですが
パソコンを変えると動かなくなります。
二つのパソコンの回線(IPアドレス等も)は異なるものを使っています。
パソコンを変えても動くようにするためにはどうすればよいでしょうか?
0118デフォルトの名無しさん
2016/02/04(木) 22:22:48.04ID:kJqvXS0n0119デフォルトの名無しさん
2016/02/04(木) 22:27:38.31ID:pyKOZnex本当にそうだったら誰の手にも負えないね
0121デフォルトの名無しさん
2016/02/04(木) 22:38:34.71ID:+OoSEPJK「うごかない」ときは、エラーメッセージやエラーコード、例外は発生してないの?
0122デフォルトの名無しさん
2016/02/04(木) 22:43:29.38ID:0aoqlSU+パソコンの設定、ネットワーク環境も含めて同じにする。
0123デフォルトの名無しさん
2016/02/04(木) 22:58:19.44ID:gWgQAzup例外が発生しましたとでます。
セキュリティソフトを確認してみます。
0124デフォルトの名無しさん
2016/02/04(木) 23:36:12.54ID:+Y8C24ZP勝手にメッセージを省略するなよ
もっと詳しい情報が表示されてるだろ?
0125デフォルトの名無しさん
2016/02/04(木) 23:41:15.65ID:gWgQAzup型 'System.Net.WebException' のハンドルされていない例外が System.dll で発生しました
追加情報:リモート サーバーがエラーを返しました: (530) ログインされていません
0126デフォルトの名無しさん
2016/02/05(金) 02:33:55.18ID:Nkwk97Cl2重ログイン禁止とか?
0127デフォルトの名無しさん
2016/02/05(金) 05:50:52.84ID:YnWE7ryG例えば、CUIで受信したデータをファイル化します。
ファイル化済んだらGUIへ通知だけさせたいです。
0128デフォルトの名無しさん
2016/02/05(金) 07:04:54.45ID:3Nn1Djx6WCF
0129デフォルトの名無しさん
2016/02/05(金) 07:17:29.50ID:bOiqRlOTそれだけならFileSystemWatcherで十分じゃね
CUIのプロセスをGUIから起動させてるんならProcessオブジェクトの標準出力を読むこともできる
どうしても複雑なやりとりが必要ならWCFなどでIPCしないと仕方ないけど、
こういうのは極力作りこまないで疎結合にしたほうがいいよ
0130デフォルトの名無しさん
2016/02/05(金) 07:28:31.68ID:z5njROW40131デフォルトの名無しさん
2016/02/05(金) 07:48:15.33ID:yIjwQ5WNつMSMQ
0132デフォルトの名無しさん
2016/02/05(金) 08:11:32.47ID:72hcdQ5eC# イベント プロセス間
辺りでググればいい
http://gurizuri0505.halfmoon.jp/develop/csharp/processmessage
0133デフォルトの名無しさん
2016/02/05(金) 10:15:54.61ID:M+o1878f0134デフォルトの名無しさん
2016/02/05(金) 11:14:36.99ID:65Kzmabe破壊的ってどこから出てきたの?
妄想?
0135デフォルトの名無しさん
2016/02/05(金) 14:33:39.30ID:awzjuRq30136デフォルトの名無しさん
2016/02/05(金) 15:29:28.68ID:GJmivlP+0137デフォルトの名無しさん
2016/02/05(金) 16:07:28.99ID:awzjuRq3マジレスされちった (ゝω・)vキャピ
0138デフォルトの名無しさん
2016/02/05(金) 19:00:08.95ID:VNGa2qV10139デフォルトの名無しさん
2016/02/05(金) 20:32:15.24ID:5SxpQFrHようなメソッドってどういう名前とシグニチャにするのがいいでしょう?
isValidみたいなメソッド名で、戻り値bool、引数にrefでリスト渡すのが、まず思いつきますが
あまりref使いたくないので他に方法ないでしょうか?
エラーかどうかのbool値とリストをもつクラスを作って、戻り値として受け取る?
その場合はメソッド名は何が適切ですかね
0140デフォルトの名無しさん
2016/02/05(金) 20:46:43.11ID:Z4Oj7542例外使う
0141デフォルトの名無しさん
2016/02/05(金) 20:53:23.37ID:3Nn1Djx6何がやりたいかよう解らんが、scalaのvalidationとか参考にすれば(適当)
0142デフォルトの名無しさん
2016/02/05(金) 21:06:49.66ID:5SxpQFrHやりたいことは、データの集合に対して整合性チェックを行って、okなら登録処理のようなものです
整合性チェックは色々なチェックがあるので
CheckAAA(dataList);
CheckBBB(dataList);
...
みたいな感じで各チェックを行っていって
エラーなら、エラーメッセージ群をどこかに表示
最後にエラーがなければ登録処理
みたいな、流れを分かりやすく書きたいです
0143デフォルトの名無しさん
2016/02/05(金) 21:15:15.38ID:ejxo0AUJ0144デフォルトの名無しさん
2016/02/05(金) 21:19:24.38ID:lm1grbus今日は遅かったね
0145デフォルトの名無しさん
2016/02/05(金) 21:21:38.04ID:GgxKh3Fo返値にエラーとエラーが無い状態が帰るようにしたら?
0146デフォルトの名無しさん
2016/02/05(金) 21:26:09.85ID:gFEJuD8oエラーの場合はメソッド名をnameofで取得するか独自メッセージ返すような感じかね
0147デフォルトの名無しさん
2016/02/05(金) 22:07:32.45ID:3Nn1Djx6それなら、scalaのvalidationそのもの。
c#で実装して公開してくれww
0148デフォルトの名無しさん
2016/02/05(金) 22:13:32.93ID:bOiqRlOT0149デフォルトの名無しさん
2016/02/05(金) 22:37:57.14ID:7sKFgg6WRx
0150デフォルトの名無しさん
2016/02/06(土) 03:53:41.94ID:XG1h6+tzこのスレではRxもLINQも評価されないことが多い
0151デフォルトの名無しさん
2016/02/06(土) 05:37:48.03ID:ewLa/pEP> あまりref使いたくない
理由は?
0152デフォルトの名無しさん
2016/02/06(土) 05:58:03.11ID:oAqoRpi+素朴に考えてみた。
listdataの要素の型をXとする。
var m = new Machine<X>(listdata);
Result r =
m.Validate(x => CheckA(x))
.Validate(x => CheckB(x))
. ...
.Resolve()
;
if(r.HasError){
エラー処理(r.Error);
}else{
登録処理(datalist);
}
みたいなMachineとResultを作る。
0153デフォルトの名無しさん
2016/02/06(土) 06:05:32.74ID:oAqoRpi+0154デフォルトの名無しさん
2016/02/06(土) 11:08:19.37ID:R9MO+uq2ttp://studio-rain.cocolog-nifty.com/blog/2008/07/post_c4f5.html
このサイトを参考に自前で多数のベジェを計算・描画してみました
すると座標計算速度は速いけど、Graphics.DrawLineやFillEllipseで実際に描画するのに時間がかかって、Graphics.DrawBezierより明らかに遅い
さらに太さのある線を描こうとすると、無駄な描画が増えるので当然だろうけどもっと遅くなる
速度を上げるには、
・ベジェ計算だけ自前で行って描画はDrawBezierに任せる(ただしピクセル単位で実際の描画とズレるかも)
・アンマネージでの画像操作を覚える(よく知らない)
・GPUを利用して並列描画する?(よく知らない)
というあたりでしょうか?
0155デフォルトの名無しさん
2016/02/06(土) 11:12:49.04ID:0UWDYh4JWPF使うとかHTMLのCanvas使うとか
0156154
2016/02/06(土) 11:41:53.83ID:R9MO+uq2調べてみます
ありがとうございました
0157デフォルトの名無しさん
2016/02/06(土) 11:54:43.51ID:6GrwE9uC「ファイルのデータが壊れています」というメッセージが出てインストールできません。
どのような原因が考えられるでしょうか?
0158デフォルトの名無しさん
2016/02/06(土) 13:13:58.51ID:MAd5yVbQまだまだ初学者なんで間違ってるかもしれませんが
リファクタリング本とかCODE COMPLETEみたいな本で学んでいると
なるべくメソッドは、入力に対して出力返すようなシンプルな作りがいいと思いまして
メソッド名見ただけで使い方が分かるような物がいいと考えると
出力として欲しいものをrefでごちゃごちゃ渡していくのって、どうなのかなって思いました
0159デフォルトの名無しさん
2016/02/06(土) 13:45:33.36ID:ewLa/pEP> なるべく‥
なんだから、無理に ref を避けなくてもいいと思うよ
0160デフォルトの名無しさん
2016/02/06(土) 14:30:55.01ID:4STRQeN+C/C++の時代からのやり方だ,素直に従いたまえ
0161デフォルトの名無しさん
2016/02/06(土) 15:55:34.62ID:57BGy/1Rその感性は100%「正しい」
過去の習慣に惑わらせずにref は例外中の例外でOK
0162デフォルトの名無しさん
2016/02/06(土) 17:11:18.28ID:MAd5yVbQメソッドチェーンで繋げて評価できるのが凄くいいですね
参考にさせていただきます。
こういうパターンって何かに使われてるんでしょうか?
それからscalaのvalidationも調べてみます。
0163デフォルトの名無しさん
2016/02/06(土) 17:24:02.03ID:21OGO6t2クエリとコマンドを明確に区別してコードを書く
クエリはシステムを変更しない
コマンドは何も戻さない
クエリ結果が2つ以上になるならそれらを含む別のクラスを作成する
極論するとシステム開発なんてこれだけで全てうまくいくんだよね
0164デフォルトの名無しさん
2016/02/06(土) 17:28:55.18ID:5yNQjtYt>クエリ結果が2つ以上になるならそれらを含む別のクラスを作成する
これ面倒臭がる人多いよね
0165デフォルトの名無しさん
2016/02/06(土) 18:11:28.77ID:ewLa/pEPで、代賛案もなしかよ w
0166デフォルトの名無しさん
2016/02/06(土) 18:33:15.79ID:5kvIq2AE後はDynamicを使う方法か
0167デフォルトの名無しさん
2016/02/06(土) 18:36:47.78ID:PmjXQmD8Tuppleやdynamicこそ例外中の例外。
0168デフォルトの名無しさん
2016/02/06(土) 18:40:04.21ID:VXVqCJqs聞くだけ価値ゼロ
いや、時間のムダだからマイナスか
0169152
2016/02/06(土) 18:47:37.87ID:57BGy/1R(IsValid, Errors) = Foo();
と書ける様になるはず。
今回の場合は、Errorsがemptyかどうかで判断出来るが。
仕事で書くなら、それ用の箱を書くかな。
0170デフォルトの名無しさん
2016/02/06(土) 18:52:33.42ID:57BGy/1Rこれは、この数十年間のソフトウェアの歴史の叡知であり「真理」だと思うよ。
0171デフォルトの名無しさん
2016/02/06(土) 19:05:30.74ID:n+PBDQ0c0172デフォルトの名無しさん
2016/02/06(土) 19:17:34.47ID:21OGO6t20173デフォルトの名無しさん
2016/02/06(土) 19:31:32.52ID:drYYhGSp0174デフォルトの名無しさん
2016/02/06(土) 19:42:30.58ID:5ZOibTPd0175デフォルトの名無しさん
2016/02/06(土) 21:12:46.76ID:BtpsJL+VFoo => 1 "xyz";
または
Foo()
{
return 1 "xyz";
}
こう書けたら素敵かもw
0176デフォルトの名無しさん
2016/02/06(土) 21:23:54.91ID:BtpsJL+Vvoid Foo(int a, int b, int c)
|(a, b, 1)
|(a, 0, _)
=> a + b + c;
こんな風に書けたら素敵ww
0177デフォルトの名無しさん
2016/02/06(土) 21:24:40.73ID:BtpsJL+Vvoid → int
0178デフォルトの名無しさん
2016/02/06(土) 21:26:58.54ID:7g0sefOr0179デフォルトの名無しさん
2016/02/06(土) 21:28:31.35ID:HCmnTZ9V0180デフォルトの名無しさん
2016/02/06(土) 21:29:43.90ID:HCmnTZ9V一年以上言い続けてる気がするけどいつ確定すんの、あれ
0181デフォルトの名無しさん
2016/02/06(土) 21:32:52.44ID:7g0sefOrC#が世界でJavaに次ぐ巨大なシェアを有するエンタープライズ用言語であることを忘れてないか
0182デフォルトの名無しさん
2016/02/06(土) 21:54:57.00ID:5ZOibTPd底辺の人間のようだ
0183デフォルトの名無しさん
2016/02/06(土) 22:00:46.96ID:BtpsJL+Vf2() => "xyz";
Foo => f1() f2();
こうすると奇形さ倍増w
0184デフォルトの名無しさん
2016/02/06(土) 22:06:40.40ID:5ZOibTPd次も同程度なら2017年末から2018年初頭だろう
せっかくRoslynを公開したんだから短縮を期待したいがどうかな
0185デフォルトの名無しさん
2016/02/06(土) 22:30:58.04ID:hDlUnW/n0186デフォルトの名無しさん
2016/02/06(土) 22:43:31.32ID:mc+HvOWK0187デフォルトの名無しさん
2016/02/06(土) 22:51:44.38ID:hDlUnW/nstring data = serial.ReadLine();
string[] data2 = data.Split(',');
double a = double.Parse(data2[0]);
double b = double.Parse(data2[1]);
double c = double.Parse(data2[2]);
double d = double.Parse(data2[3]);
Console.Write("a={0}\n, b={1}\n, c={2}\n, d={3}\n",a,b,c,d);追加情報:入力文字列の形式が正しくありません。
というエラーが出てきてすすめないです
0188デフォルトの名無しさん
2016/02/06(土) 22:55:41.01ID:7g0sefOr0189デフォルトの名無しさん
2016/02/06(土) 22:56:47.69ID:BtpsJL+V0190デフォルトの名無しさん
2016/02/06(土) 23:00:07.68ID:BtpsJL+VParsecでも使っときなさい。
0191デフォルトの名無しさん
2016/02/06(土) 23:07:33.12ID:hDlUnW/n>>189
>>190しらべてきます
0192デフォルトの名無しさん
2016/02/06(土) 23:13:06.42ID:YiRMDi0V送られてくるのはそれなんだろうけど
>>188が言ってるのは、その「110,10,11,11」のような値が
正しく入ってきているかをコンソールに出して確認してみよう、ってことだと思うんだけど
0193デフォルトの名無しさん
2016/02/06(土) 23:14:31.90ID:hDlUnW/n正しく入ってきています
0194デフォルトの名無しさん
2016/02/06(土) 23:25:53.91ID:ewLa/pEP> Console.Write("a={0}\n, b={1}\n, c={2}\n, d={3}\n",a,b,c,d);
今のエラーに直接関係ないけど {0} って文字列用だぞ
0195デフォルトの名無しさん
2016/02/06(土) 23:28:25.15ID:BtpsJL+V0196デフォルトの名無しさん
2016/02/06(土) 23:36:52.45ID:PmjXQmD8どこでそんな出鱈目を。
勝手にToString()されますがな。
0197デフォルトの名無しさん
2016/02/06(土) 23:48:43.66ID:BtpsJL+V0198デフォルトの名無しさん
2016/02/06(土) 23:51:16.10ID:5yNQjtYt0199デフォルトの名無しさん
2016/02/07(日) 00:18:04.40ID:7cY+VLxEいつもデパッグするときは、コンソールライトラインで出力して修正してるんだけど
0200デフォルトの名無しさん
2016/02/07(日) 00:41:02.93ID:mpmibCLh0201デフォルトの名無しさん
2016/02/07(日) 03:43:57.06ID:E6ZbUD9S0202デフォルトの名無しさん
2016/02/07(日) 04:18:29.60ID:ubsUoPtC人間の発達段階で言えば赤ちゃんのデバッグ方法
0203デフォルトの名無しさん
2016/02/07(日) 04:29:19.69ID:0jpZBnXl0204デフォルトの名無しさん
2016/02/07(日) 09:06:46.60ID:YehISXuUすまん、なんか寝ぼけてたわ
0205デフォルトの名無しさん
2016/02/07(日) 10:58:08.95ID:jvYVRZ1r最低限、ブレークポイントとステップ実行と変数のウォッチをおぼえよう
バグの大半はクラッシュの場所か分岐で間違った方へ進むか変数の内容がおかしいか
0206デフォルトの名無しさん
2016/02/07(日) 11:47:40.65ID:+CXgcQuQ0207デフォルトの名無しさん
2016/02/07(日) 12:54:26.02ID:+iI8pPYd0208デフォルトの名無しさん
2016/02/07(日) 12:55:38.99ID:7cY+VLxE使ってみます
0209デフォルトの名無しさん
2016/02/07(日) 15:32:32.86ID:P4gwgVRD0210デフォルトの名無しさん
2016/02/07(日) 17:54:24.49ID:QHXOM6yqが、思ったよりも違いが多くて訳がわかりません。初心者スレとのことなので質問するのですが
以下の様な画面構成でアプリを作ろうとしています
1.Mainメニュー(ボタンとして主機能画面に移行・設定画面に移行・それと主機能の内容を選択するコンボボックス)
2.主機能画面(複数画面を遷移するのでPageで作成予定)
3.設定画面(ダイアログにするかどうかは考え中)
んで、ダイアログの表示はFormAplicationと大差ないので余裕だったのですがPageというものをうまく表示できません
つまり、NavigationWindowを継承していないwindow(MainWindow)からNavigationServiceを動かす方法がよくわかりません。
というか単語の意味を正確に把握できていないので自分が正しく質問できているかもよくわかりません
参考にしたサイトは以下です:
https://msdn.microsoft.com/ja-jp/library/ms752299(v=vs.110).aspx
http://gushwell.ldblog.jp/archives/52335648.html
自分の書いたソースは
<Frame x:Name="controlFrame" Content="" NavigationUIVisibility="Hidden" Margin="-565.5,-23.5,0,-3.5" Grid.RowSpan="2" HorizontalAlignment="Left" Width="517"/>
(MainWindowのXamlに追加)
public NavigationService _navi;
public MainWindow()
{
InitializeComponent();
_navi = controlFrame.NavigationService;
}
private void onClickButton(object sender, RoutedEventArgs e)
{
Page1 p1 = new Page1();
_navi.Navigate(p1);
}
} (MainWindow.xaml.csに追加) こんな感じでButtonを押してもPage1が見えてくれない状態です
0211デフォルトの名無しさん
2016/02/07(日) 17:58:49.93ID:TdnGwusc0212デフォルトの名無しさん
2016/02/07(日) 18:25:04.36ID:OK0009Vg不発弾のイメージしかなかったけど。。
0213デフォルトの名無しさん
2016/02/07(日) 18:29:09.02ID:vhQgXj1Gどうしても必要な場合もElectronのようなものを使って極力Webに合わせる時代
0214デフォルトの名無しさん
2016/02/07(日) 19:00:24.97ID:ZN2qfSkc時間の文字列が入ったイベントが発生したとします
分毎にまとめて処理したいのですがどうすればできますか?
0215デフォルトの名無しさん
2016/02/07(日) 19:05:53.67ID:n2daTw5S何が悲しくてデスクトップに生産性最悪のHTMLとjavascriptを持ちこまなければならんのか?
0216デフォルトの名無しさん
2016/02/07(日) 19:09:23.84ID:ubsUoPtC>>210
左Marginが-500になってるから亜空間にトンドルんじゃないですか?
0217デフォルトの名無しさん
2016/02/07(日) 19:18:07.84ID:ubsUoPtC0218デフォルトの名無しさん
2016/02/07(日) 19:21:10.59ID:6bkdKOR7Form Aplication=C++CLIって勘違いなのかね
0219デフォルトの名無しさん
2016/02/07(日) 19:22:50.89ID:ubsUoPtC「空のC++CLRプロジェクト」の作成テンプレート無くなってら
でもこれで困る人はWPFユーザーよりレアだと思う
混在アセンブリを作成している人くらいか?
0220デフォルトの名無しさん
2016/02/07(日) 19:34:03.60ID:ubsUoPtC具体的にどこまでできていて、何ができないんだ
そもそも時間の文字列なのにTimeSpanなの?期間じゃなくて?
0221デフォルトの名無しさん
2016/02/07(日) 19:36:12.24ID:TdnGwuscリッチクライアントの需要は今後また増えると思うよ
スマホアプリ群雄割拠で皆学んだと思うけど端末に依存しないUIプログラムはたとえ動いてもUXが悪くて使い物にならない
どうせ端末毎に最適化されたコードを書くならWebを捨ててリッチクライアントに回帰したほうが楽だし高品質じゃんとなる
0222デフォルトの名無しさん
2016/02/07(日) 19:55:35.52ID:ZN2qfSkc説明不足ですみません
サーバーから送られてくるデータ(株価)が文字列なんです
それを受信しているのですが、今は受け取ったデータをtexboxに流しているだけです
10:00:00 100
10:00:10 101
10:00:30 102
10:00:59 99
10:01:05 100
・・・
・・
・
このデータを分毎に四本値に処理したいのですが最善の方法を教えてください
今の時刻から60秒の間隔で処理させるにはどうすれば良いか考えているのですが・・・
0223デフォルトの名無しさん
2016/02/07(日) 20:27:54.95ID:SMFdLNV2前提と要求を1つ1つ箇条書きで列挙して
0224デフォルトの名無しさん
2016/02/07(日) 20:40:18.61ID:WdUVaaF1前回時刻、 始値、安値、高値、終値のフィールドは適当に初期化しておく
受信した現在時刻と現在値をString.Split、DateTime、DecimalなどでParseする
前回時刻と現在時刻の年月日時分を比べる
一致しているなら、安値、高値を必要に応じて更新し、前回時刻と終値に現在の値を設定する
一致していないなら前回時刻、始値、安値、高値、終値を出力し、前回時刻、始値、安値、高値、終値に現在の値を設定する
この程度が書けないようではこの先生きのこれないぜ
恐らく次は誰もが横着してねえで勉強しろカスと回答する
0225デフォルトの名無しさん
2016/02/07(日) 21:12:16.37ID:ZN2qfSkcありがとうございます
c#のことが全くわからないので助かりました
0226デフォルトの名無しさん
2016/02/07(日) 22:37:32.87ID:EIEJb+tMこういうことは可能なのかという質問をさせてください
Aというスーパークラスの中にStream型の変数strmがあり
Aを継承したBやCというサブクラス内では
Stream型から派生したFileStreamやMemoryStreamを代入しています
しかし当然ながらStream型の変数に入れているので
Stream型のメンバーは呼び出せても
FileStreamやMemoryStream固有のメンバーの呼び出しができません
これを上手いこと実現するような方法はありますか?
※現在はそういったメンバーの呼び出しのたびにキャストしています。
見当違いな考え方をしていたら指摘ください。
public class A {
protected Stream strm;
public A() {
strm = new Stream();
}
}
public class B : A {
public B() {
strm = new FileStream();
}
}
public class C : A {
public C() {
strm = new MemoryStream();
}
}
0227デフォルトの名無しさん
2016/02/07(日) 22:40:37.47ID:pDArDbnY0228デフォルトの名無しさん
2016/02/07(日) 22:46:28.86ID:2xuESUN6そもそも何のためにAでstrmを宣言してるの?
Aの中でStreamに対する共通の処理(Close)の面倒を見たいとか?
だったらこうすればいい abstract class A {
protected abstract Stream Stream { get; }
public void CloseStream() { this.Stream.Close(); }
}
class B : A {
private Stream strm;
public B() { strm = new FileStream(); }
protected override Stream Stream { get { return strm; } }
}
protectedフィールドなんかよほどの事情が無い限り使っちゃダメ
0229デフォルトの名無しさん
2016/02/08(月) 00:38:01.16ID:omcXALNzもはや継承は時代遅れ。
0230デフォルトの名無しさん
2016/02/08(月) 00:39:21.18ID:omcXALNzPageなんか使うなよ。
0231デフォルトの名無しさん
2016/02/08(月) 00:51:03.86ID:t4nfvp5Z0232デフォルトの名無しさん
2016/02/08(月) 01:02:04.87ID:vHpbqQsu0233デフォルトの名無しさん
2016/02/08(月) 01:02:40.81ID:qItXnEJ5ソースもってこいや!
0234デフォルトの名無しさん
2016/02/08(月) 01:09:38.20ID:ohcgMxuP0235デフォルトの名無しさん
2016/02/08(月) 02:08:36.47ID:REXLJUev0236デフォルトの名無しさん
2016/02/08(月) 02:45:20.79ID:9ExexpShpublic T strm;
public A() {}
}
public class B : A<FileStream> {
public B() {
strm = new FileStream("", FileMode.Open);
}
}
public class C : A<MemoryStream> {
public C() {
strm = new MemoryStream();
}
}
0237デフォルトの名無しさん
2016/02/08(月) 05:37:38.22ID:Mwo03qgv内部実装のためにクラスの型引数を汚すな
共通のA型として扱えなくなってそれこそ継承の意味がない
0238デフォルトの名無しさん
2016/02/08(月) 07:03:28.50ID:blpM25DKpublic abstract Stream Create();
}
class M {
public override Stream Create(){…}
public void Method() {
var s = base.Stream as MemoryStream;
}
}
0239デフォルトの名無しさん
2016/02/08(月) 07:53:03.81ID:t4nfvp5Z芸人気取り?
0240デフォルトの名無しさん
2016/02/08(月) 07:59:15.01ID:omcXALNz> 固有のメンバーの呼び出し
それを使って、BとCに同じ振る舞いを持たせたいのか?
必要なケースが浮かばないが、無理矢理やるならAに
abstract int 振る舞い()
みたいなのを持たせれば良いが、お薦めはしない。
0241226
2016/02/08(月) 11:18:31.02ID:LZ12yzMb皆さんに提示していただいたのを参考に一つずつ調べてみます
>240
ストリームに対する基本的な処理は
クラスAでまとめておいて
FileStreamやMemoryStreamを使うときは
それぞれ別のクラスBやCを用意して
そこではFileStreamやMemoryStreamのみが持つメソッドも
呼び出せるようにならないかなと思いました
0242デフォルトの名無しさん
2016/02/08(月) 11:50:15.03ID:GixGib55固有の機能は直接Streamプロバティーを弄るんじゃなくて、固有の機能を使うメソッドをそれぞれのクラスに実装するのが常套手段だね
0243デフォルトの名無しさん
2016/02/08(月) 14:22:28.12ID:Wxu8bEfW0244デフォルトの名無しさん
2016/02/08(月) 15:39:39.69ID:R5fKsVvX0245デフォルトの名無しさん
2016/02/08(月) 16:23:11.68ID:ONEbZjvm元のフォーカスに戻ればいいんじゃね?
0246デフォルトの名無しさん
2016/02/08(月) 16:28:23.58ID:7T6Ba+h0特定のケースで良いのならフォーカスの奪い合いをする
0247デフォルトの名無しさん
2016/02/08(月) 18:23:27.98ID:cKFrgwtc>>152のやつのコードを書いてみたので載せておきます
http://ideone.com/LPaQn3
0248デフォルトの名無しさん
2016/02/08(月) 19:37:53.54ID:omcXALNzお疲れ様。
細かい点は色々あるけど、初心者でこれだけ作れたら十分だと思う。
一点だけ。
Checkerは、static classでOK。
0249デフォルトの名無しさん
2016/02/08(月) 23:47:56.13ID:Y0ekGZiqセンスないよ
0250デフォルトの名無しさん
2016/02/09(火) 00:37:07.07ID:1ndwTYNcお前のコードをみせてみろ
0251デフォルトの名無しさん
2016/02/09(火) 04:33:13.63ID:+R3lhPoz0252デフォルトの名無しさん
2016/02/09(火) 11:30:59.99ID:LZa6/uPtfor (int i = 0; i < intLange; i++)
{
bytArray[i] = lstArray[i];
}
よりも
bytArray = lstArray.GetRange(0, intLange).ToArray();
の、方が早いですか?
0253デフォルトの名無しさん
2016/02/09(火) 11:35:24.39ID:ki2Dugwkそれforとforeachの差だからね
最新のバージョンでは知らないけど、2.0や3.0の頃だと1万回ループで数百msの差で前者のほうが早かったはず
0254デフォルトの名無しさん
2016/02/09(火) 13:02:46.44ID:/Ul9S+Gp状況によって、添字の有効範囲チェックがJITで消去されるかとかも変わる
0255デフォルトの名無しさん
2016/02/09(火) 13:50:52.33ID:ltAmqOcf0256デフォルトの名無しさん
2016/02/09(火) 14:02:17.15ID:QdOIBFj90257デフォルトの名無しさん
2016/02/09(火) 15:49:05.37ID:LZa6/uPtありがとうございます
確かにListのGetRangeってforeachのRangeと同じですね
範囲指定して一括取得だからforで1個ずつループするよりも速いと思ったら、逆だったのですね
調べてもforeachの方が遅いのばかりでした
List.ForEachにすれば少し早くなるみたいですが、素直にforを使っておきます
0258デフォルトの名無しさん
2016/02/09(火) 18:54:10.80ID:ki2Dugwkこれ見て後者で良いですねというレス期待してたんだが・・・
0259デフォルトの名無しさん
2016/02/09(火) 20:37:53.51ID:GXK9v6ZU0260デフォルトの名無しさん
2016/02/09(火) 21:57:04.73ID:kINyOVJ+昭和から働いてるエンジニアは不思議がいっぱい
0261デフォルトの名無しさん
2016/02/09(火) 22:12:09.83ID:g5cfApp10262デフォルトの名無しさん
2016/02/09(火) 22:18:05.62ID:QoXK4omQ後者はメソッド呼び出しのコスト + GetRangeとToArrayで2回ループ&インスタンス生成がかかる
GetRangeの代わりにTake使えば少しましになる
本当に速度が必要なら前者しかないけど
ちなみにforとforeachにそんな差は無いぞ
0263デフォルトの名無しさん
2016/02/09(火) 22:42:05.97ID:8C608Sxj単純なlinqなら積極的に使うほうが見通し良くなるのにな
0264デフォルトの名無しさん
2016/02/10(水) 00:11:36.02ID:5vn52npc0265デフォルトの名無しさん
2016/02/10(水) 00:40:08.52ID:jozDLnvP0266デフォルトの名無しさん
2016/02/10(水) 01:05:06.08ID:m6iCwwPqstruct A {int i;};
std::vector<A> v;
v.push_back(A());
v[0].i++; // ←こうできるのに
C#では
struct A {public int i;}
var list = new List<A>();
list.Add(new A());
//list[0].i++; // error CS1612: 変数ではないため、'List<A>.this[int]'の戻り値を変更できません。
A a = list[0];a.i++;list[0] = a; // ←こんな感じにしてる
これはどうしようもないんでつか?
this[int]で値型のコピーが返されるからどうしようもないですか?
0267デフォルトの名無しさん
2016/02/10(水) 01:26:54.77ID:+0u+KGwQ発想が間違ってる
0268デフォルトの名無しさん
2016/02/10(水) 03:18:08.00ID:lkaYzkT1listの中身変えるな
0269デフォルトの名無しさん
2016/02/10(水) 07:54:24.62ID:CjsvPSL/自分で答え書いてるじゃん
そういう場合はクラス使え
0270デフォルトの名無しさん
2016/02/10(水) 19:56:16.17ID:4jI7WjZu> そういう場合はクラス使え
ありがとうございます
var a = new A[10];
a[0] = new A();
a[0].i++; // ←これはうまく動く
これは一体どういうわけなんでしょう?
foreach (var i in typeof(A[]).GetInterfaces()) Console.WriteLine(i);
foreach (var i in typeof(List<A>).GetInterfaces()) Console.WriteLine(i);
で確認してみると両方ともIListとIList`1[A]を実装しておりそれぞれインデクサは
object this[int index] { get; set; }
T this[int index] { get; set; }
であり、これどっちもうまく行きそうも無いのになぜ配列は成功するんでしょうか?
ちなみに配列でもジェネリック版を使うと失敗します
((IList<A>)a)[0].i++; // error CS1612:
さらにリストに非ジェネリック版を使おうとしても
((System.Collections.IList)list)[0].i++; // error CS1061: 'object' に 'i' の定義が含まれておらず(略)
という想像通りの結末が待っています
0272デフォルトの名無しさん
2016/02/10(水) 20:30:51.04ID:GRD3jx6h出来るでしょ
0273デフォルトの名無しさん
2016/02/10(水) 21:02:55.80ID:kANvp85U配列の場合はコピーではなく、元のデータそのものにアクセスするから。
0274デフォルトの名無しさん
2016/02/10(水) 21:39:28.41ID:lkaYzkT10275デフォルトの名無しさん
2016/02/10(水) 23:21:04.39ID:CjsvPSL/MSIL見ればたぶん分かるけど、IList<>のインデクサと配列のインデクサは別物
↓参考
http://stackoverflow.com/a/6705630
0276デフォルトの名無しさん
2016/02/10(水) 23:40:43.38ID:EiL0Rwawおおっ!!
リンク先をぼんやり見るに配列のインデクサは
IListのものともIList<T>のものとは別物っぽいですね
どうやらMSILを勉強したら疑問は全部クリアになりそうです
0277デフォルトの名無しさん
2016/02/11(木) 08:48:06.29ID:5VElGoG8形になってきたらテーブルの数が100近くなってきたんだが、
それなりのシステムになってくるとテーブル数ってこれくらい増えるもの?
それとも設計の仕方自体が問題?
0278デフォルトの名無しさん
2016/02/11(木) 09:12:07.75ID:bLlX/NkIたとえばどんなテーブルがあるのか2,3例を出してほしい
0279デフォルトの名無しさん
2016/02/11(木) 09:32:15.00ID:5VElGoG8個人のデータが10種類くらい、項目別集計結果(種類としては4種類なので4×12)、
帳票結果12ヶ月分、集計計算するための条件設定項目20くらい(いろいろな条件によって計算処理が変わるため)
項目別集計結果と、設定項目が多いんだろうと思うのですが
システムとしては各人の個人データを元に、条件設定項目から各人がどの項目を集計するか判定し、
項目別集計結果(各テーブルはその月の全員の利用実績が記録されている)から拾ったデータや定義されたデータを
拾って計算処理に追加、さらに複雑な条件を条件設定項目を元に計算式または結果を変えて処理して
最後に月別の帳票結果に落とし込むという流れです
実際まだ100までいってないのですが、今の増え方だと完成になる頃にはそれくらいにいきそうで・・・
テーブルまとめられるのがないかを考えた方がいいですかね?
0280デフォルトの名無しさん
2016/02/11(木) 09:37:29.27ID:z2rGujpW少なくとも個人でやれる規模じゃない
0281デフォルトの名無しさん
2016/02/11(木) 09:38:46.08ID:M5CwB86R集計結果はテーブルに落とさずにクエリーやビューで実現できないかを考えると良いと思います
集計テーブルは更新し忘れや更新順の間違いなどのバグ混入があるから
リアルタイムで結果を得られるビューを多用したほうがシステムは安定します
0282デフォルトの名無しさん
2016/02/11(木) 10:04:02.34ID:bLlX/NkI項目集計結果の4x12が理解できない
そんなもんカラムに月持たせたらいいだけじゃないのか
0283デフォルトの名無しさん
2016/02/11(木) 10:09:53.69ID:EtulpAui残りはクエリか一時テーブルじゃないか?
0284デフォルトの名無しさん
2016/02/11(木) 10:11:05.88ID:EtulpAuix 集計結果
o 帳票結果
0285デフォルトの名無しさん
2016/02/11(木) 10:29:30.35ID:5VElGoG8>>282
項目別集計結果は、帳票つくるシステムとは別に、拠点事業所の端末で作成されたcsvをメインのデータベース内の
月別テーブルにアップするように先に設計していたのですが、あわせて修正できないかやってみます
ただ、ひとつ疑問は、1ヶ月のレコード件数が最大で1万件程度ですが、一つのテーブルにして12万件入れるのと
1万件を12テーブル持つのでは、前者がいいということでしょうか?
設計時は、一つのテーブルのカラム数が多くなるより(なんでも一つのテーブルに入れるなっていう記事を目にしたことがあって)
テーブルに分けた方がいいかと思って計算条件のための設定項目なんかもテーブル数が増えていったのですが
同じカラム構成のテーブルだったら、識別のためのカラムを追加してまとめたほうがよいものでしょうか
0286デフォルトの名無しさん
2016/02/11(木) 10:47:51.75ID:ztBwyrLR件数は億行っても問題ないな。
それがまずいなら、パーティショニング
を検討してみたら
0287デフォルトの名無しさん
2016/02/11(木) 11:37:29.78ID:ECLK8Wqe> 同じカラム構成のテーブルだったら
って言う話ではなくて、同じデータは纏めろってこと
何のデータか知らんけど、1月分と2月分って例えば売上げなら両方売上げと言う同じデータでしょ
以前は極端に件数が多いとかで分けることもあったけど、今時は >>286 の言う様に億クラスでも扱えるようにDB側で色々対応してるし、そもそも数十万件オーダーなんでしょ?
0288デフォルトの名無しさん
2016/02/11(木) 11:37:43.16ID:8yKF6m48集約が今現在いくつあるかが問題
集約が多すぎるなら設計のやり直しが必要
適切なら数ならデータベースのリファクタリングは容易い
先ずは今現在のコンテキストマップとそれぞれのコンテキストにどんな集約があるかを書き出してみる事だ
個人で組んでるなら休日1人日で充分かな
0289デフォルトの名無しさん
2016/02/11(木) 14:46:12.43ID:cgj/3tMpAnchorを四方向に指定するだけではダメなのでしょうか?
実際にやってみると、拡大した時に大きくなり過ぎて、縮小した時に消えてしまいます。
ButtonでAnchorを四方向にしても同じでした。
Windows7、VS2012、Framework4.5にて確認しています。
0290デフォルトの名無しさん
2016/02/11(木) 14:59:02.23ID:5VElGoG8とりあえず見直し初めて、20テーブルくらいになったところですが、WorkBenchで見ていてもえらくすっきりして
計算処理の実行そのものも劇的に早くなりました
>>288
データベースの勉強不足で【集約」ってのがピンと来ないもので・・・ぐぐると集約関数ってのがでてきますが、
テーブルの中でグループ化している数が多すぎると問題ってことでしょうか?
コンテキストっていうのも初心者の馬鹿な私には掴み所がない言葉で、テーブルをさしているのでしょうか
それとも扱うデータにおいての諸要素のことを指しているのでしょうか?
0291デフォルトの名無しさん
2016/02/11(木) 15:18:23.73ID:M5CwB86Rそういうソフトはwpf使えば簡単にできるしトラブルも少ないんだけどね
0292デフォルトの名無しさん
2016/02/11(木) 16:15:50.89ID:RfBB3K0B子プロセス...コンソールアプリ
親プロセスで子プロセス起動して、親プロセスは子プロセスからの標準出力をリダイレクトして簡易的な文字列通信を行ってます。
これを、逆に親プロセスからの文字列を子プロセスで拾うようにしたいのですが、いい方法を教えて下さい。
0293デフォルトの名無しさん
2016/02/11(木) 16:37:05.76ID:M5CwB86RNamedPipe使ってみたらどう?
0294デフォルトの名無しさん
2016/02/11(木) 17:36:47.18ID:rBnM9L0I子プロセスを起動引数または標準入力を入力したら標準出力で結果を返す関数と見なして、単発で繰り返し呼べばいい
疎結合にするためにわざわざプロセス分けてるんだろ?
複雑な通信したら本末転倒だろ
0295デフォルトの名無しさん
2016/02/11(木) 17:52:03.60ID:LNzJYiWm0296デフォルトの名無しさん
2016/02/11(木) 18:54:21.19ID:xg5e2eV7アンカーは四方からの距離を一定にするだけなので
比例させたいなら計算で求めてBoundsに設定してください
0297デフォルトの名無しさん
2016/02/11(木) 21:28:17.58ID:onfBwuXUこんなふうにすると1000個のクラス配列が出来たのですが、
こういうやり方で良いですか?
最初に1個の大きさで確保しておいて、そこに1000個を代入できる理由が分かりません。
static void Main(string[] args)
{
MyClass[] mc = new MyClass[1];
mc = myfunc();
}
static MyClass[] myfunc()
{
MyClass[] mc = new MyClass[1000];
return mc;
}
class MyClass
{
int i;
};
0298デフォルトの名無しさん
2016/02/11(木) 21:32:31.88ID:XGMVVJFq0299デフォルトの名無しさん
2016/02/11(木) 21:34:35.73ID:6rGpnoDFnew MyClass[1] の行は全く意味がない。
再代入するな。
0300デフォルトの名無しさん
2016/02/11(木) 21:50:03.96ID:LNzJYiWmi = 2;
最初に1を代入しておいて、そこに2を代入できる理由が分かりません。と言ってるのと同じ。
配列だと特殊な代入がされる、というようなことはない。
0301デフォルトの名無しさん
2016/02/11(木) 21:52:08.90ID:y42s+ygJvar使えばこういう誤解も無くなるんだろうか…
0302デフォルトの名無しさん
2016/02/11(木) 22:19:29.15ID:0OAFh+KUしてるわけじゃない
配列を表す変数を宣言(MyClass[] mc)して
確保(new MyClass[1] や new MyClass[1000])した領域を指す値をそこに代入している
mc = myfunc() したら最初の new MyClass[1]の領域は捨てられる
0303デフォルトの名無しさん
2016/02/11(木) 23:48:59.67ID:xmsrvKusフィールドって必要なのでしょうか?
メソッドに引数を渡せば
大抵は事足りるんじゃないかと感じており
それとも、属性に保持する情報って、
大規模開発では多いのでしょうか?
0304デフォルトの名無しさん
2016/02/12(金) 00:06:42.25ID:+A7Pa+CR別に手段の1つにすぎないんだから好きにやれば。
オブジェクト指向だって万能じゃないし。
0305デフォルトの名無しさん
2016/02/12(金) 00:16:33.85ID:gmcC03qf大規模開発ではとんでもない数のフィールドが書かれる
しかしそれはたいてい設計者がクソなだけなんだけどな
0306デフォルトの名無しさん
2016/02/12(金) 01:50:15.47ID:bwdIAcv4フィールドに保持しなかったらどこに保存するのさ
0307デフォルトの名無しさん
2016/02/12(金) 03:26:50.21ID:/kaeyohP0308デフォルトの名無しさん
2016/02/12(金) 04:01:17.91ID:YUGvj8/eプライベートなメンバ変数までフィールドで不要だっていうなら
保持すべき情報はどこにもつんだと
0309デフォルトの名無しさん
2016/02/12(金) 04:05:44.88ID:00n43yFC基本的にその考え方でOK。
ある粒度で状態を持ちたい時だけに使えば良い。
0310デフォルトの名無しさん
2016/02/12(金) 10:18:37.00ID:rgit47xDint i = 0;
foreach (var item in items)
これを一行にして、
foreach (int i=0, var item in items)
などどできませんか?
0311デフォルトの名無しさん
2016/02/12(金) 10:29:32.09ID:YfpA0AcD>int i=0 を冒頭に入れる必要がありますが、
必要ないよ
foreachでindex使いたいならこれで良いんじゃね?
foreach(var element in boys.Select((name, index) => new {name, index})) {
SampleMethod(element.name, element.index);
}
0312デフォルトの名無しさん
2016/02/12(金) 12:02:57.40ID:rgit47xDありがとうございました。こんな書き方は知らなかったです。
int i=0; と書くのは時代遅れでしょうか?
0313デフォルトの名無しさん
2016/02/12(金) 12:10:45.51ID:EWonquhS0314デフォルトの名無しさん
2016/02/12(金) 12:26:58.04ID:/IhDLmoA(IEnumerable<TSource>, Func<TSource, Int32, TResult>)なんて
オーバーロードがあるんだよなぁ
0315デフォルトの名無しさん
2016/02/12(金) 12:51:27.19ID:00n43yFC先ずは、どうして"i"が必要かを考えるべき。
0316デフォルトの名無しさん
2016/02/12(金) 14:08:59.79ID:0EJEZiQwじゃいかんの?
Enumeratorの代わりにintで回すのって素朴でいいじゃん
0317デフォルトの名無しさん
2016/02/12(金) 14:45:43.58ID:583AFnzM今はToArray()使うのが一般的だから、インデックス使う用事が殆どなくなったよな
0318デフォルトの名無しさん
2016/02/12(金) 17:56:35.96ID:gWHJSKHHIx の ForEach なら許容範囲
items.ForEach((item, i) => { … })
0319303
2016/02/12(金) 21:32:41.81ID:1BqXCbHv特に保持すべき必要が無い場合は、
あえてオブジェクト指向に則ってプロパティを持つ必要は無いようですね
参考になります
0320デフォルトの名無しさん
2016/02/12(金) 21:37:41.69ID:/kaeyohP必要でないことでもやるべきですか?って人に聞きながら育ったのかしら
0321デフォルトの名無しさん
2016/02/12(金) 22:01:07.80ID:E6xN8nAgそういう教育を受けてきた世代なんだろう
何を隠そう私もそういう人間だからよくわかる
0322デフォルトの名無しさん
2016/02/12(金) 23:14:54.71ID:00n43yFC0323デフォルトの名無しさん
2016/02/13(土) 00:17:04.86ID:jNiAqett常識とされているものの場合、必要である理由を考えるべきで
不要である可能性を列挙するアプローチは間違いの元だな
世の中大抵のことはデファクトスタンダードが正しいものだ
ただ、全てじゃないから検証するのも面白い
0324デフォルトの名無しさん
2016/02/13(土) 07:17:00.61ID:xA/85emw0325デフォルトの名無しさん
2016/02/13(土) 07:45:12.36ID:BxXCiqDX必要になったら使えばいいだけだよ
遅延評価好きだろお前ら
0326デフォルトの名無しさん
2016/02/13(土) 08:36:03.93ID:Aj9JV+PyLINQ使うならforeach全く要らない。
0327デフォルトの名無しさん
2016/02/13(土) 09:04:32.16ID:bNYKyrDhForEach厨は関数型というものを理解してないアホ
0328デフォルトの名無しさん
2016/02/13(土) 09:12:00.94ID:BxXCiqDX0329デフォルトの名無しさん
2016/02/13(土) 09:54:08.99ID:r5Ze34qUC# WPFでフォーム上のラジオボタンを○から自作画像に置き換える方法を探しています
どなたか実装方法またはやりたいことを別な方法で実装する方法ご存じないでしょうか
要は画像A、画像Bがクリックされるたびに交互に切り替わって
その状態を取得できればいいです
0330デフォルトの名無しさん
2016/02/13(土) 10:05:58.61ID:bNYKyrDhWPFではそういうのは一行もコード書かないんだよ
XAMLでControlTemplateとVisualStateManagerを使う
0331デフォルトの名無しさん
2016/02/13(土) 10:33:00.45ID:gWYi+rc91万件くらいあるテーブルをDataTableに読み込んで処理していて
指定のカラムに入ってる特定の区分(値)のデータのみ削除したいのですが、
Linqで絞り込んだコレクションをforeachで回して
dt.Rows.Remove(row)とすると、回す毎にコレクション自体が変わってしまってエラーとなるし
かといってforで全件回すのもなんかスマートでないというか
for (int i = 0; i < dt.Rows.Count; i++)
{
if(dt.Rows[i].RowState != DataRowState.Deleted && (int)dt.Rows[i]["hoge"] == hoge
{
dt.Rows[i].Delete();
}
}
他に方法はございますでしょうか
0332デフォルトの名無しさん
2016/02/13(土) 10:35:41.14ID:wFus9lhkDataTableに入れる前のクエリで特定行を除く
0333デフォルトの名無しさん
2016/02/13(土) 10:59:31.81ID:bNYKyrDhLINQ使うんなら弄くり回すよりCopyToDataTableで丸ごと作り直すのが筋
https://msdn.microsoft.com/ja-jp/library/bb386921(v=vs.110).aspx
0334デフォルトの名無しさん
2016/02/13(土) 11:21:16.59ID:gWYi+rc9もう少し具体的に言うと、データベース上に月別のデータがまとめた1つのテーブルにあって、
指定月のデータだけをごっそり入れ替えたい(カラムには月表示があるのでそれで絞ってます)のです
月毎にテーブル分けて、指定月のテーブルだけ全件削除、新規のデータを挿入が手っ取り早いのですが、
年間のテーブル1つでやりたいと思ってるのですが
>>333
CopyToDataTableも最初は考えたのですが、データベースから引っ張ってきてるので
DataTable作り直すと結局戻すときに全部入れ直さないといけないのかなと思うのですがどうなんでしょう
>>332
データベースから読み込む時点でテーブルわけといた方がよいのですかね
0335デフォルトの名無しさん
2016/02/13(土) 12:10:19.83ID:lxxM+jNF普通にDataTable.Select()の結果をforeachで回してDelete()でマークして
必要に応じてDataTable.AcceptChanges()でコミットしても良いんちゃう?
ってのは>>331に限った話だけど…DB操作だとコード云々よりADO.NETの範疇か
ADO.NETとかEntity FrameworkとかC#でのDB操作はよく知らんけど…
基本形はDataTable.Select()からDataRow弄くってUpdate()で差し戻す?
先にSQLでDELETEしといてINSERTするだけでも良さそうだけど、最適解は…知らぬわい
0336デフォルトの名無しさん
2016/02/13(土) 12:27:41.87ID:wFus9lhkデータ量にもよるけどDELETE→INSERTしなくても、更新したいデータを一時テーブルに出力して更新データとJOINして
年間テーブルを一時テーブルでUPDATEすればいいんじゃないのかな?
更新データ量にもよるけど、100万行程度なら上のやり方でも十分速度は出たと思う
0337デフォルトの名無しさん
2016/02/13(土) 12:38:11.72ID:xA/85emw月指定して月間データ取ってきて
ループで各エンティティのメソッドを呼んで保存する
これでOK
0338デフォルトの名無しさん
2016/02/13(土) 13:19:52.36ID:jNiAqettvar removes =Items.Where(x=>条件式).ToList();
removes.ForEach(x=>Items.Remove(x));
データ削除はこれの応用で大体行けるはずなんだけどな
0339デフォルトの名無しさん
2016/02/13(土) 14:53:28.98ID:gWYi+rc9データ内容をUPDATEというより、その都度の処理結果なので全く別の結果として保存したいんですよね
なので一回削除したかったんです
結論から言うと、>>338さんのとおり、月別に格納したDataRowのコレクションをToListして、
FoEachで元のデータテーブルから該当DataRowを削除することでいけました コードも1行ですみました
ただ、Remove使うとDataTableのUpdateで処理されなかったのでDeleteで削除フラグにたてて
最後にUpdateで削除されるようにしたらうまくいきました
Result.ToList().ForEach(row => row.Delete());
※ResultはLINQで月別に抽出したDataRowのコレクション
0340デフォルトの名無しさん
2016/02/13(土) 15:39:45.33ID:2MAOXUes0341デフォルトの名無しさん
2016/02/13(土) 15:44:08.26ID:06O3qiSZ.Select()内で { 何か; return 0; } とやってたりするよ
0342デフォルトの名無しさん
2016/02/13(土) 16:20:11.54ID:s+9Slq2v0343デフォルトの名無しさん
2016/02/13(土) 16:58:50.07ID:6KRp/oK60344デフォルトの名無しさん
2016/02/13(土) 17:08:05.06ID:Aj9JV+PyResult.Select(row => row.Delete());
ではだめですか?
0345デフォルトの名無しさん
2016/02/14(日) 06:44:28.00ID:bzGf7eU2デバガーで今何番目の要素を処理しているか知りたい時はどうするの?
0346デフォルトの名無しさん
2016/02/14(日) 06:58:06.59ID:mWiu8nHoそれを否定しているレスじゃないでしょ
0347デフォルトの名無しさん
2016/02/14(日) 07:55:00.43ID:l8k1FRK90348デフォルトの名無しさん
2016/02/14(日) 08:03:10.87ID:5pBX52FCindexが必要か考えろって返答は意味不明
使うって言ってんだろ
0349デフォルトの名無しさん
2016/02/14(日) 08:21:36.38ID:0ADcRE3mまずはそこを徹底的に見直してこい
話はそれからだって言ってるんだよ
0350デフォルトの名無しさん
2016/02/14(日) 08:32:42.46ID:4fsYhBCo0351デフォルトの名無しさん
2016/02/14(日) 09:02:33.92ID:l8k1FRK9デバガーどうこうは突っかかってる方がバカだと思ったけど
その言いぐさだとお前がバカで正解だったっぽい
余計なお世話って分かる?
分かんないか
0352デフォルトの名無しさん
2016/02/14(日) 09:34:12.02ID:n0LELDsnこれだからLINQ厨を見ると苦笑いしか出ないんだ。
0353デフォルトの名無しさん
2016/02/14(日) 09:39:27.99ID:0ADcRE3mやれやれ
これだから下流コーダーは困る
0354デフォルトの名無しさん
2016/02/14(日) 10:20:37.80ID:aN+xXKUu人間はどうせ死ぬんだから、生きてる意味もなくない?ってぐらい暴論だと思うのよね。
お前らも、大好きなあの娘との思い出を取り出すとしてさ、
初めてキスをしたのは何回目のデートだっけとか数えたりするだろ?
0355デフォルトの名無しさん
2016/02/14(日) 10:23:31.55ID:3Nivwyszの方が効果的なケースがほとんどだからな
0356デフォルトの名無しさん
2016/02/14(日) 10:25:33.24ID:IGxuUtz80357デフォルトの名無しさん
2016/02/14(日) 11:22:01.93ID:0ADcRE3mこれな
根本的なところからおかしいんだよな
おかしいものに疑問を持たず表面的な対応しかしない
それがホンマもんのバカってやつだ
0358デフォルトの名無しさん
2016/02/14(日) 12:08:57.25ID:Mh99LtVN0359デフォルトの名無しさん
2016/02/14(日) 12:10:14.28ID:12CQcbJ/0360デフォルトの名無しさん
2016/02/14(日) 12:17:27.87ID:CfikNejgどのレスみたらLinqがダメって結論になるのか教えてくれよ
0361デフォルトの名無しさん
2016/02/14(日) 14:03:25.60ID:zXLi9Jt70362デフォルトの名無しさん
2016/02/14(日) 14:55:03.59ID:OZvUt5KMうむ
ゆーうぃん
0363デフォルトの名無しさん
2016/02/14(日) 14:55:46.84ID:CAYLYmrN>>330さんのおかげでとりあえずの目標は達成できました。
それで次の目標としてラジオボタンについて
RadioButton1→{画像A, 画像B}
RadioButton2→{画像C, 画像D}
{}内はそれぞれfalseとtrueに対応
という風にしたいのですが、ControlTemplateを使うやり方だと調べても一つのコントロールを一つのパターンで上書きする方法ばかり見つかります。
どなたか方法かせめて検索キーワードだけでもお教え願えないでしょうか
分かりにくいかもしれないので一応文章でも書くと
複数のラジオボタンがあって、それぞれに別パターンの画像を設定したいということです
0364デフォルトの名無しさん
2016/02/14(日) 15:13:16.36ID:7V8dKUByいろいろあるけど、ResourceDictionaryを差し替えるのが正統なやり方
テンプレート内で直接画像を指定するかわりにリソースディクショナリ内のリソース名を指定し、
コントロールのResourcesプロパティに実際の画像のセットを含んだリソースディクショナリを渡す(XAMLで)
0365デフォルトの名無しさん
2016/02/14(日) 19:05:47.82ID:4fsYhBCo<Grid.Resouces>
<Style x:Key="hoge" ・・・・・
パターン1
</Style>
<Style x:key="hage" ・・・・
パターン2
</Style>
</Grid.Resouces>
<RadioButton Style="{staticResouce hoge }" ・・・ />
<RadioButton Style="{StaticResource hage}" ・・・・/>
0366デフォルトの名無しさん
2016/02/14(日) 19:22:41.55ID:bVZvMVSZ0367デフォルトの名無しさん
2016/02/14(日) 19:30:08.69ID:CAYLYmrN>>365
お二方ありがとうございます。
出来ました
ボタンを置いてダブルクリックするだけでイベントハンドラが作れてた頃が懐かしいよう
0368デフォルトの名無しさん
2016/02/14(日) 19:51:03.86ID:Bsnhcx6pASP.NETでのWEBアプリに対してのWEBサイト、ってならオワコン
一般的な意味でのWEBサイトなら、変化しながら生き続けてる
0369デフォルトの名無しさん
2016/02/14(日) 21:43:39.23ID:AnW4+fzXフォームアプリでwebbrowserコントロールを使って外部のwebページを操作していますが、
ページ内のボタンを押したときにjavascriptのyesnoのダイアログメッセージが起動します。
この起動イベントをフォームの方でハンドリングする方法はあるんでしょうか?
やりたいことはフォームのプログラムで自動的にyesを選択させたいです。
0370デフォルトの名無しさん
2016/02/14(日) 21:52:11.02ID:79nYzABogithubにログインできるようにして「dapper-dot-net-master.zip」というファイルをDLしました。
そのファイルを展開して、「Dapper.sln」を「VS Express 2013 for desktop」で開こうとしたのですが、
「.xproj」という拡張子のファイルに対応していないらしく、「ソリューションを開く」が失敗してしまいます。
「.xproj」という拡張子のファイルはプロジェクトに関するものと想像はできるのですが、VS2013では開けないのでしょうか?
各ファイルを単純にテキストとしてならば見れるのですが・・・
github自体も使い始めたばかりでなにか勘違いしてる部分があったらすみません。
0371デフォルトの名無しさん
2016/02/14(日) 21:58:59.28ID:NxxLKQZP2015入れるか諦めて
0372デフォルトの名無しさん
2016/02/14(日) 22:04:19.65ID:3Nivwysz・DapperのソースをGitHubから取得するのにGitHubのアカウントなんか要らない
・GitHubからソースを取得したいならzipで落とすなんてダサいことしないでGitでcloneしろ
・dapperはシングルファイルだからわざわざプロジェクトを開く必要なんかない
0373デフォルトの名無しさん
2016/02/14(日) 22:37:18.19ID:79nYzABo>>371
VS2013では開けないんですね。
>>372
いろいろと指摘ありがとうございます。
シングルファイルというのはどれか1つのファイルに機能が集約されていてそれをみれば大体の機能はわかるということでしょうか?
まだファルシのルシがコクーンでパージ状態なので、ちょっとずつ見ていこうと思います。
0374デフォルトの名無しさん
2016/02/14(日) 22:41:26.26ID:9PrtlM5Pなんかかっちょいい
0375デフォルトの名無しさん
2016/02/14(日) 23:27:52.45ID:l8k1FRK90376デフォルトの名無しさん
2016/02/15(月) 12:04:40.36ID:fB6G7n7H0377デフォルトの名無しさん
2016/02/15(月) 13:12:27.80ID:Xk4DTp51itextでゴリゴリ書きまくってますが不器用すぎて泣きそうです
ウェブサーバ兼アプリケーションサーバ兼データベースサーバの2層クライエントです
言語はc#メインで使ってますが別言語でも構いません
0378デフォルトの名無しさん
2016/02/15(月) 13:24:45.99ID:RH62Jtcmc#でexcel開いてそのアドイン読み込めばいいだろ
0379デフォルトの名無しさん
2016/02/15(月) 13:26:20.25ID:fB6G7n7H0380デフォルトの名無しさん
2016/02/15(月) 13:38:28.96ID:RH62Jtcmexcel無しでそんなもん使って 何したいん?
0381デフォルトの名無しさん
2016/02/15(月) 14:42:32.23ID:j4KeTWwY0382デフォルトの名無しさん
2016/02/15(月) 17:49:12.29ID:fB6G7n7Hexcelを別な用途で使うこともあるので影響でないようにと思ったのだけれど
0383デフォルトの名無しさん
2016/02/15(月) 18:08:31.90ID:Zk6ilfTk0384デフォルトの名無しさん
2016/02/15(月) 19:46:04.29ID:cfVd0V/rいろいろ自分なりに調べて、一応ここ(http://www.pinvoke.net/default.aspx/comdlg32/ChooseFont.html)
のSample Codeを動かしてみたんですが、
bool result = ChooseFont(pChoosefont);
の部分で保護されたメモリ云々と怒られてしまいます。
どうもpChoosefontの割当サイズが小さすぎるようなのですが、その先がわからず手詰まりです
これ以外でも、何か別の方法があればそれでもOKです
(InstalledFontCollectionのotf対応版を作るなど)
0385デフォルトの名無しさん
2016/02/16(火) 08:50:39.96ID:bZe3Oc9S0386デフォルトの名無しさん
2016/02/16(火) 09:08:18.90ID:F8ZGrSAkif文も分からないうちからプログラム書こうとすんな
入門でもやってこい
初心者以前だろ
0387デフォルトの名無しさん
2016/02/16(火) 09:12:56.20ID:XFjRYdah時刻の差はTimeSpan。差が無い場合はTimeSpan.Zeroと等しい。
後は分かるだろ。
0388デフォルトの名無しさん
2016/02/16(火) 09:17:10.77ID:0FWmG97Aやっぱり向いてないよ
ランサーズとかで発注したら?
一日無駄にすると一万円超捨ててるって考えたら安いよ
0389デフォルトの名無しさん
2016/02/16(火) 09:29:21.17ID:jhW7ARuaDateTimeをDBに入れたりすると微妙な誤差が混入したりするから、差分をとってある程度小さければ同じとみなすとうまくいく場合があります
0390デフォルトの名無しさん
2016/02/16(火) 10:05:56.70ID:/rvb+Ho8定義とサンプルコード丸コピしただけで動いたわ Win7/32bit
>InstalledFontCollectionのotf対応版を作るなど
どのみちFontオブジェクト作れないからこれは意味ないよ
フォント使った処理は全部GDI関数とか使わないといけない
0391デフォルトの名無しさん
2016/02/16(火) 14:00:24.71ID:7ODQ3t3P一応ダイアログは開くんですが、フォントファミリ・スタイル・サイズを選択してOKを押すと落ちるんです
当方64bitなのでそれが原因? とりあえず仮想環境でもテストしてみて、ダメだったら当分は諦めようと思います
0392デフォルトの名無しさん
2016/02/16(火) 14:33:44.14ID:/rvb+Ho8CF_USESTYLEがいらない
lpszStyleが書き換えられるのにstringで書き換えられないからエラーになってる
0393デフォルトの名無しさん
2016/02/16(火) 16:34:02.89ID:bZe3Oc9S…イジメないでください
入門書読んでも分差をはかるの一言だけなのでだからどうすれば?と言う状態なのですみません
>>387 389
ありがとうございます
勉強になります
>>388
そんな所あるなんて知りませんでした!
0394デフォルトの名無しさん
2016/02/16(火) 18:04:53.07ID:b0fHFSg30395デフォルトの名無しさん
2016/02/16(火) 18:07:41.48ID:G5mJ2hfm0396デフォルトの名無しさん
2016/02/16(火) 19:20:11.75ID:7ODQ3t3Pおお! なるほど!
該当部分を削ったところ今度は正常に動作しました。ありがとうございます。
できれば選択したフォント名をstringで取得する方法まで教えていただければ幸いです。
0397デフォルトの名無しさん
2016/02/16(火) 20:46:25.41ID:7ODQ3t3PMarshal.PtrToStructure(pLogfont, logfont);
string _fontName = logfont.lfFaceName;
で無事にフォント名が取得できました。ありがとうございました。
0398デフォルトの名無しさん
2016/02/17(水) 16:53:29.04ID:O2urVYVMhttp://ideone.com/uDBK9v
(33行目)
16bitのBitmapが表示とか出来ないのはモニタとかの仕様上仕方ないとして、
Bitmapデータは出来ている感じなのでとりあえず保存したいのですが、何か間違っているのでしょうか?
自分で2byteバイナリファイルとして保存した方が早いのかもしれませんが、よろしくお願いします。
0399デフォルトの名無しさん
2016/02/17(水) 17:37:09.55ID:nE07dZjCpngの規格には16bitグレイスケール形式はあるみたいだけどGDI+のエンコーダはサポートしてないっぽい
bmpはそもそも16bitグレイスケール扱えたっけ?
0400デフォルトの名無しさん
2016/02/17(水) 17:46:34.78ID:O2urVYVMPixelFormatにFormat16bppGrayScaleがあるのでいちおー扱える様ですが、何か微妙っぽいですね。
作成した16bit BitmapをGraphicsクラスに入れたら、そこでメモリエラーになりました。
WinFormじゃなくWPFを使った方がいいのかな?
>Format16bppGrayScaleは使えるのか?実験してみた。
http://imagingsolution.blog107.fc2.com/blog-entry-65.html
0401デフォルトの名無しさん
2016/02/17(水) 18:02:43.59ID:qUPmCiGq0402デフォルトの名無しさん
2016/02/17(水) 18:07:35.89ID:PDqw71kqファイルに書き出してからImagemagickでも使って変換したら?
0403デフォルトの名無しさん
2016/02/17(水) 18:54:21.22ID:vx64Twya調べてみたらMagick.NETで16bit用なんてのもあるのですね。
ありがとうございます。
0404デフォルトの名無しさん
2016/02/17(水) 22:10:28.91ID:/bboS/b7一ヶ月分の出勤を集計したいと言う要望があります。
ちょっとLINQを使ってみようと思いまして、データセットに一月分のデータを全て取り込んで、各種条件で集計したいと思ってます。
dsというデータセットにDtSyukkinMeiと言うデータテーブルがあります。
ここまでのコードでデータが入ってるのは確認できています。
その後、一人目の社員の一ヶ月分を日付順に取り出してみようと思いましてテストとして
String ShainCode = "00001"
var datas = ds.DtSyukkinMei.AsEnumerable()
.Where(x => x.SyukkinCode == ShainCode)
.OrderBy(x => x.SyukkinDate)
.Select(x => x);
int tmpcnt2 = 1;
foreach (var test in datas)
{
Console.WriteLine(tmpcnt2 + ":" + test.SyukkinName + " " + test.SyukkinDate.ToString());
tmpcnt2++;
}
と言うコードでやってみました。
コンソールに書き出してみると指定社員の最初の日付のデータのみが抽出されます。
一行だけではなく、指定社員のその月のデータが並び替えされて全て取り出せるつもりなのですが、何か勘違いしてますでしょうか?
よろしくお願いします。
0405デフォルトの名無しさん
2016/02/17(水) 22:59:38.26ID:AvPZV+sJこのスペースの文字を指定回数分連結したchar[]作りたいんだけど、
いかようにもできそうで、センスあるコードというかすっきり簡潔な方法ってどんなもんですかね
0406デフォルトの名無しさん
2016/02/17(水) 23:11:48.57ID:6W33gIm7ttp://wikki.sakura.ne.jp/gir−lab/?Object%20Viewer
※URLが書き込めなかったので、URLは全て全角英数にしました。
VisualStudio2015で実行しようとすると、次の部分でエラーが出て実行できません。
場所)foreach (var ko in kobj.Objects)
内容)型 'System.NullReferenceException' のハンドルされていない例外が ObjectViewer.exe で発生しました
追加情報:オブジェクト参照がオブジェクト インスタンスに設定されていません。
※実行しようとすると、inの所が黄色くなって733のエラーが出ます
動くようにするにはどこをどう直せばいいでしょうか?
よろしくお願いします
0407デフォルトの名無しさん
2016/02/17(水) 23:23:14.47ID:yAxqBiJ2まずは、センスのないやつどーぞ
0408デフォルトの名無しさん
2016/02/17(水) 23:44:23.75ID:sImTzQ0mデータまで含めて>>1とか>>4に貼って
>>405
stringコンストラクタでは不満か?
new string(' ', 10)
0409デフォルトの名無しさん
2016/02/17(水) 23:47:54.88ID:AvPZV+sJレスありがとうございます。
今自分も調べながらやってましたが、
new string(' ', 10)が一番素直ですね・・・
あとはPadLeftとPadRight併用でスッキリ簡潔になりそうです
0410デフォルトの名無しさん
2016/02/17(水) 23:50:51.96ID:yAxqBiJ20411406
2016/02/18(木) 01:40:58.04ID:NcYC7RZFpublic TreeNode CreateTreeNode(KernelObject kobj)内にある
foreach (var ko in kobj.Objects)の行でエラーが発生します。
0412406
2016/02/18(木) 01:55:49.87ID:NcYC7RZF0413デフォルトの名無しさん
2016/02/18(木) 09:51:27.98ID:8Ob41omT0414デフォルトの名無しさん
2016/02/18(木) 10:02:59.44ID:SB52IWqF直すとか言う問題か?
Windowsのexploit見つけて権限奪取しない限り無理だろ
アホらしい
0415デフォルトの名無しさん
2016/02/18(木) 10:30:01.92ID:NcYC7RZF>>1
>なお、テンプレが読めない回答者は邪魔なので後述のC#相談室に移動して下さい。
0416デフォルトの名無しさん
2016/02/18(木) 10:47:07.89ID:8Ob41omT0417デフォルトの名無しさん
2016/02/18(木) 11:16:57.56ID:ZKcMSiXn0418デフォルトの名無しさん
2016/02/18(木) 11:18:37.62ID:CG2yACMMID:8Ob41omTみたいなクズに言っても無駄だから
NG処理して終了
がおすすめ
0419デフォルトの名無しさん
2016/02/18(木) 11:22:13.67ID:CG2yACMMあと、文をスペース区切りしてるアホはスルー推奨
0420デフォルトの名無しさん
2016/02/18(木) 11:48:51.47ID:e9QCPxI30421デフォルトの名無しさん
2016/02/18(木) 11:51:57.10ID:IWN3hz7k0422デフォルトの名無しさん
2016/02/18(木) 12:07:25.42ID:tZY/i+gW0423デフォルトの名無しさん
2016/02/18(木) 12:10:50.65ID:Rcq9wZ6p0424デフォルトの名無しさん
2016/02/18(木) 15:01:12.25ID:X4zyXl/p出来ないもは何が違うのですか?
0425デフォルトの名無しさん
2016/02/18(木) 15:10:53.95ID:oZznJMNM0426デフォルトの名無しさん
2016/02/18(木) 15:25:33.12ID:X4zyXl/pそこがよく分かりません。どんなものでも
何らかのデータなのだから、シリアライズ出来ない理由が分かりません。
0427デフォルトの名無しさん
2016/02/18(木) 16:33:59.22ID:UlVzz0Klお前をシリアライズしたら、
お前の知っている母ちゃんは今まで知ってた母ちゃんじゃないかもしれない。
0428デフォルトの名無しさん
2016/02/18(木) 17:21:52.60ID:Nn+bwMYzその頃にはお前の両親は他界しているし、お前の愛するPCも壊れている
ヒキニートであるお前はシリアライズされる前にできていたことが何一つできず、そのまま餓死するわけだ
多くのオブジェクトは様々な外部の要素に依存しているから、単独でシリアライズ/デシリアライズしても機能しないんだよ
0429デフォルトの名無しさん
2016/02/18(木) 18:00:09.26ID:05rrwnvoファイルストリームなんかシリアライズしても意味無いでしょ。
0430デフォルトの名無しさん
2016/02/18(木) 18:13:08.76ID:TyHWpNkb0431デフォルトの名無しさん
2016/02/18(木) 18:27:30.28ID:hhAx0KRPメモリダンプ取って直にオブジェクト取り出せるから
んなことやっても意味ないから馬鹿以外はやらない
0432デフォルトの名無しさん
2016/02/18(木) 19:19:09.72ID:kgpZ3dMl使う分だけシリアライズってどうすんの?
0433デフォルトの名無しさん
2016/02/18(木) 19:35:52.42ID:42G1e3Suシリアライズ出来ますって属性がついてるかどうかの違いの気がする
あるいは特定のシリアライザがシリアル化/解除の方法を知ってるかどうかか
0434デフォルトの名無しさん
2016/02/18(木) 19:51:06.90ID:oZznJMNM0436デフォルトの名無しさん
2016/02/18(木) 20:11:57.88ID:TyHWpNkb朝牛乳かけて食べるやつ
0437デフォルトの名無しさん
2016/02/18(木) 21:03:39.51ID:05rrwnvoAttribute付けるだけでは?
0438デフォルトの名無しさん
2016/02/18(木) 23:13:12.28ID:X4zyXl/pそう言う事ですね。
やれば出来るんですよね。納得。
0439デフォルトの名無しさん
2016/02/18(木) 23:49:57.72ID:J2TnYaKyシリアライズ自体はできると言えなくもないが
デシリアライズした時点で確実に壊れている
0440デフォルトの名無しさん
2016/02/19(金) 00:00:00.31ID:cNiHKU+s自前のシリアル化デシリアル化する部分のコード書けるでしょう
逆に何を保持しているか知らない物は保存する価値なんてない
0441431
2016/02/19(金) 05:37:45.34ID:HFWhA+S0こういう食い下がり方する奴には、正しくなかろうと、
本人が望んでる答えを返してお引き取り願うのが一番正しい
この手の質問は女に多い
同意して欲しいだけのくせに否定されることに耐えられないから
質問の体を取らせているにすぎない
0442デフォルトの名無しさん
2016/02/19(金) 07:57:47.74ID:6O+Ly4Vm0443デフォルトの名無しさん
2016/02/19(金) 10:19:14.45ID:3/d8Z/on頭悪い童貞が書くような長文だ。
0444デフォルトの名無しさん
2016/02/19(金) 14:36:52.18ID:AYZd97/P一つのメソッドの中でコントロールいじる場合、メソッド抜けるまでは反映されませんよね
たとえば
Label1.Text = "0000";
public void ChangeText(){
Label1.Text = "1234";
Sleep(30);
Label1.Text = "5678";}
みたいなとき、Label1は0000の表示後に、Sleep分表示がとまって、5678となって1234が表示されます
メソッド抜けるまでは画面上のコントロールの変更ってのは反映されないのは仕方ないんですかね
0445デフォルトの名無しさん
2016/02/19(金) 14:38:57.86ID:AYZd97/P1234は表示されないの間違いです・・・
初心者的には上のコードだと、1234が表示された状態でSleep(30)分待機して5678に切り替わって欲しいところなんですが
0446デフォルトの名無しさん
2016/02/19(金) 14:57:16.42ID:cObyQ1390447デフォルトの名無しさん
2016/02/19(金) 15:01:07.03ID:qpWieAWsとは言うものの、メッセージループ理解できてない初心者にこれをやらせると、どこかで爆発しそうだな
0448デフォルトの名無しさん
2016/02/19(金) 15:15:36.22ID:PT7381jP其のためにBeginInvokeってのが有って、ソレを使えば表示更新したあとの処理が記述できますよ
0449デフォルトの名無しさん
2016/02/19(金) 15:16:28.45ID:Kz4OZB/T1234に書き変えたら、タイマーかワーカースレッドに投げて即リターン
0450デフォルトの名無しさん
2016/02/19(金) 16:35:02.98ID:3ls1YNX5RichBoxTextを使おうとすると曖昧な参照ってエラーメッセージが出るんだがこれどうにかならないのか?
System...RichBoxTextってしたらエラー自体はなくなるんだが
その後RichBoxText型で宣言した変数にa.Textって使い方が出来なくて困ってるんだ
a.Textが使える方法か、曖昧な参照ってエラーがなくなる方法か教えてください
silverlight導入してから再起動とかは一応してみました
0451デフォルトの名無しさん
2016/02/19(金) 17:29:52.93ID:y4Mdmv2ASystem.Windows.Forms.RichTextBoxなのか、
System.Windows.Controls.RichTextBoxなのか、
どっちなのかわからんからはっきりしなさい、というエラーでしょ。
using System.Windows.Forms;を削除すればそのエラーは出なくなるけど、
そうすると他に不都合が出るだろうから、どうしようもない。
using Hoge = System.Windows.Controls;とでもしておけば、
Hoge.RichTextBoxと書けるようになるから、それでお茶を濁すくらいか。
それから、System.Windows.Controls.RichTextBoxには、
Textというプロパティは存在しないので、a.Textという書き方は出来ないよ。
0452デフォルトの名無しさん
2016/02/20(土) 20:26:10.11ID:e/Byruqeあるファイルが有ります。
データの入り方はこんな感じです
A1:data1,data2,data3
A2:data4,data5,data6,data7,data8
A3:data9,data10
やろうとしていることは2つあって
まずはデータを読み込んでそれを画面に反映する。こっちはまあ普通にできそうです
んでようやっと本題ですが
画面の入力に応じてデータを書き換えたいです
例えば
A1:data1,data2,data3
A2:data4,data5,data6,data7,data8
A3:data9,data10
だったものを
A1:data1,data2,data3
A2:data11,data12,data13,data14,data15
A3:data9,data10
としたいのですが
File操作系の関数をMSDNで調べても「ファイルの途中から上書きする」ような操作がさっぱり見当たりません
実装困難であればファイルにデータのオブジェクトを作成してバイナリでまるまる書き込む/読み込む形式に設計変えようと思ってます
0453デフォルトの名無しさん
2016/02/20(土) 20:59:49.31ID:fK254q940454デフォルトの名無しさん
2016/02/20(土) 21:19:49.73ID:G849YxIn書き変えたい位置にSeekしてからWriteすれば書き変わるんじゃないの
0455デフォルトの名無しさん
2016/02/20(土) 21:38:04.45ID:e/Byruqe申し訳ありません、その方法がわからないのです
ちなみに
A1とかをキーにして、書き換えたい行を特定し、ファイル操作を実行
という流れを想定しています
seekもやFileStreamのReadとかも調べてみましたが「今A2の行だよ」と知る方法がさっぱりわかりません
0456デフォルトの名無しさん
2016/02/20(土) 22:03:22.35ID:9PjCd1YLでも可変長のテキストファイルっぽいし
変更位置以降は全て書き直しになる可能性が高いから
ファイル操作の部分操作に頑張って対応しなくても良いケースの予感がします
0457デフォルトの名無しさん
2016/02/20(土) 22:05:12.15ID:fK254q94丸ごと読み込んで丸ごと書き出した方がいいと思うよ。
まずは、それで入出力を完成させたらどうだろう。
他の方法は、その後にトライすればいいんじゃないかな。
0458デフォルトの名無しさん
2016/02/20(土) 22:57:06.17ID:S80Z1mdL0459デフォルトの名無しさん
2016/02/20(土) 23:32:02.40ID:G849YxInテキストファイルのような、行で区切られてるようなものをイメージしてるなら
ファイルの途中を書き換える事は出来ないと思っておけ
一旦全部読み込んで、行ごとに分けて、特定行を探して、書き換えて全部の行を保存しろ
0460デフォルトの名無しさん
2016/02/20(土) 23:38:43.21ID:KnuHyZ1Bランダムアクセスは?
0461デフォルトの名無しさん
2016/02/21(日) 00:28:41.92ID:wZfvWExq0462デフォルトの名無しさん
2016/02/21(日) 00:30:08.83ID:LCJuLSZWあとどう考えても同じファイルに対して読んだり書いたりとトリッキーなことやるよりは
読み込み用と書き込み用のバッファなりストリームをそれぞれ用意して一気に読み書きする方が速い
0463デフォルトの名無しさん
2016/02/21(日) 00:30:42.49ID:ckgq3Xt/0464デフォルトの名無しさん
2016/02/21(日) 03:35:57.15ID:XoaHuoua0465デフォルトの名無しさん
2016/02/21(日) 03:43:40.82ID:GEHiOhH4習作ならまあええけど
0466デフォルトの名無しさん
2016/02/21(日) 09:50:40.92ID:oCkiVU5Tじゃあ>>452の場合どういったデータ構造が適切なんでしょうか
具体的な画面イメージを書くと
メイン画面:A1に遷移する、初期データの入ったファイルを作る(ファイルはテキストボックスで名前を決めて複数作成可能)
A1画面:A1のデータを入力し、A2に遷移する
A2画面:A2のデータを入力し、A1,A3に遷移する
A3画面:A3のデータを入力し、A2に遷移する
*各画面ともXボタンやそれ用のボタンでメイン画面に戻ることが可能
*画面はそれぞれWindowとして用意し、遷移時に遷移先画面をshowし自画面をCloseするものとする
という感じです
現在考えているのはみなさんおっしゃるようにデータを保持しておいて遷移が発生した時に一気に全部読み書きする方法か
データをオブジェクトとして確保して、バイナリ形式で読み書きする方法です
他にいい方法があるならご教示願いたいです
0467デフォルトの名無しさん
2016/02/21(日) 10:08:59.85ID:MPr2aBz2画面に必要なVMを取得するクエリをまとめたサービス
画面に割り当てられてるユースケースを解決するコマンドをまとめたサービス
画面はこれらのサービスを呼び出すだけ
データの取得も更新もサービスが行う
画面側でデータをどう保存復元するか何て事は考えたら負け
0468デフォルトの名無しさん
2016/02/21(日) 10:21:02.36ID:ZWCSgZldただ部分保存する事を検討する価値を感じるデータ量なら
画面とは疎結合の方が良いとは思う
データ構造は編集方法より利用方法に最適化されている方が幸せだと思う
0469デフォルトの名無しさん
2016/02/21(日) 10:37:15.77ID:6FoMFdKR> データをオブジェクトとして確保して、バイナリ形式で読み書きする方法です
XML でいいだろ
読み書きルーチンを自前で書かなくてすむし
http://dobon.net/vb/dotnet/file/xmlserializer.html
0470デフォルトの名無しさん
2016/02/21(日) 18:23:24.52ID:NjwYLQlW画面遷移のたびにファイルに保存する必要や、そのファイルが全画面で同じである必要あるのか?
それだけじゃどんなデータ構造にすべきかなんて判断できない
そしてそのデータをどこにどうやって保存して利用するかも検討する余地がある
最終的に欲しいものも良くわからない
まあ、とりあえず思うように作ってみて、それから考えればいいんじゃない
0471デフォルトの名無しさん
2016/02/21(日) 18:33:52.95ID:sKosHeocexception受け取れないの?
スレッドでのコネクション再接続機能作りたいんだけど?
0472デフォルトの名無しさん
2016/02/21(日) 20:18:58.15ID:mOR+hll20473デフォルトの名無しさん
2016/02/21(日) 20:53:20.79ID:x8hzzpdB行の追加処理をループで回してると100件超えたらとたんに重くなって、300件なんか処理させようものならメモリ不足で落ちる
デバックしてみるとdt.Rows.Add()の部分で極端に遅くなってるようですが
Selectが前の処理にあるとインデックス再生成で遅くなるという記事は見つけたけど、特にそんなこともしてない
DataSetをstaticで保持して必要なフォームでFillしてデータ処理してるんだけど
DataSetをstaticにしてることが原因なんでしょうか
0474デフォルトの名無しさん
2016/02/21(日) 22:38:20.29ID:NjwYLQlWexception受け取るという意味がよくわからんが
https://msdn.microsoft.com/ja-jp/library/dd997415(v=vs.110).aspx
>>473
どんなマシンでどんなレコードを操作してるのか知らんが
普通300件程度で目に見えるほど遅くはならんと思うが
0475デフォルトの名無しさん
2016/02/22(月) 01:49:27.66ID:+DBaWBH60476デフォルトの名無しさん
2016/02/22(月) 06:22:13.43ID:/YfJIw9Hstaticな変数を使わないこと
スレッドにするオブジェクトは使いまわさないこと
ファイルやDBみたいな資源を扱うなら適切な場所でlockする
これさえ守ればなんとかなる。
0477デフォルトの名無しさん
2016/02/22(月) 06:34:12.91ID:WxVdqihh例)0:00:23にボタンを押してスタートしても0:01:00から1分毎に処理する
0478デフォルトの名無しさん
2016/02/22(月) 08:21:58.49ID:RzYeJvwW引き算してタイマーセットすればいいだけだろ
0479デフォルトの名無しさん
2016/02/22(月) 09:14:16.78ID:E9rUGhfo0480デフォルトの名無しさん
2016/02/22(月) 11:39:08.80ID:/uXnY6ua0481デフォルトの名無しさん
2016/02/22(月) 13:28:39.91ID:vpSvShmB初心者には
> スレッドにするオブジェクトは使いまわさないこと
がピンとこないっす
ここでいうスレッドって何を指しておりますか?
0482デフォルトの名無しさん
2016/02/22(月) 13:35:45.29ID:vpSvShmBたとえば1000人の顧客データがDBに入ってるとして、
画面ごとに1000人のデータをDBから引っ張ってくるのがいいってこと?
今作ってみてるのは、初回起動時にDBからデータとってきて
staticな顧客情報クラスのプロパティに読み込んでそれを使い回してるんだけどだめ?
0483デフォルトの名無しさん
2016/02/22(月) 13:45:24.22ID:8Ue91Bmoまず
・あなたが作っているのはWebサーバなどサーバ上で動くアプリ?
・それともWindows10など、クライアントOS上で動かすアプリ?
のどっちです?
0484デフォルトの名無しさん
2016/02/22(月) 13:59:27.59ID:vpSvShmBクライアント上で動作するWindowsフォームです
MySQLと連携させてます
0485デフォルトの名無しさん
2016/02/22(月) 14:25:03.48ID:eN79gWGqそれならwinフォーム側(c#)の設計はそれでいいんじゃない?
スレッドセーフは特に関係ない。
SQLサーバ上のデータを複数人で操作した時のことを心配しているなら
それはDBMSの話でこのスレとはちょっと方向がズレる。
まぁ複数テーブルを変更するならc#側で適切なトランザクション制御をする必要はある
何を心配してスレッドセーフというキーワードが出てきたの?
0486デフォルトの名無しさん
2016/02/22(月) 15:49:01.26ID:XzDT2iuo0487デフォルトの名無しさん
2016/02/22(月) 17:40:37.15ID:iE2GkHGd見たいな式でbが含まれてないか調べる方法ってどうすればええんでしょうか?
0488デフォルトの名無しさん
2016/02/22(月) 17:41:43.60ID:DP7yI1JHそんな理由でstaticは止めとけ。
0489デフォルトの名無しさん
2016/02/22(月) 17:44:32.52ID:DP7yI1JH!"a | b | c".Contains('b')
0490デフォルトの名無しさん
2016/02/22(月) 18:55:25.80ID:1zVJqqIuこのサイトが非常に分かりやすくて勉強になりました
http://blogs.msdn.com/b/nakama/archive/2008/12/18/9231090.aspx
こういったことが載ってる書籍ってありますか?
0491デフォルトの名無しさん
2016/02/22(月) 19:24:09.33ID:Vk7WMYI1オライリーの平行コンピューティング技法
マルチスレッドは小手先のノウハウより基礎が大事
0492デフォルトの名無しさん
2016/02/22(月) 20:37:34.94ID:BBvTeRCQ式でって、構文解析でもやってんの?
0493デフォルトの名無しさん
2016/02/22(月) 20:39:55.32ID:xw1fAbOE0494デフォルトの名無しさん
2016/02/22(月) 20:57:11.31ID:qgHj34IQ0495デフォルトの名無しさん
2016/02/22(月) 20:58:34.94ID:XPqXIrudそうでなければコンテキストのアーキテクチャにマッチしたものを自由に使えばいい
ただし僕の考えた最強のDataBaseCommonは避けたほうが賢明だ
0496デフォルトの名無しさん
2016/02/22(月) 21:06:43.09ID:xSKr2cZbEntityFramework
0497デフォルトの名無しさん
2016/02/22(月) 22:46:47.35ID:hopELxhLリレーショナルとか今更バカバカしくなる
0498デフォルトの名無しさん
2016/02/22(月) 22:47:21.82ID:sza9ynkfETC利用紹介サービスのサイトでPDFの明細を表示するところまで行ったのですが
この後このPDFをローカルファイルとして保存するにはどうしたら良いでしょうか
もしくはPDFをダウンロードできるURLを知る方法を教えて下さい
ETC利用照会サービス
http://www.etc-user.jp/index.html
最終的にIE上でPDFを表示させた時のURLはこんなかんじ
https://www2.etc-user.jp/NASApp/etc/Etc-User;jsessionid=0001EA5B7G0OeSIFI_z1DoRH:11fqrass0?パラメータいっぱい&funccode=1011110000&nextfunc=1011111000&x=0&y=0
0499デフォルトの名無しさん
2016/02/23(火) 01:01:54.38ID:+adornFd0500デフォルトの名無しさん
2016/02/23(火) 04:05:39.81ID:iF53IQph100個のチェックボックスがあります。
それらがチェックされた個数をカウントしたいのですが、流石にチェックボックス100個にイベントハンドラつけるのは大変なので別な方法を模索しています
今まで試したのは
チェックボックスのあるウィンドウにMouseUpとかそういう系統のイベントをつける
→MouseUp後にチェックボックスの状態が変わるようで不可
タイマを使って逐次カウンタ処理を走らせる
→カウンタ処理は他画面でも使い回す都合、別クラスにしています。
そのせいかどうか知らないけど、タイマとコントロールのスレッドが異なるので安全じゃない、例外で制御してね
みたいなメッセージが出てきて止まります
なんかこう、もうちょっと楽な制御方法はないのでしょうか。
こういう場合の定石みたいのがあるなら知りたいです
0501デフォルトの名無しさん
2016/02/23(火) 04:26:28.46ID:tEtmGt/9forループでIsChecked調べればよろし
0502デフォルトの名無しさん
2016/02/23(火) 06:39:35.45ID:E2PPlRvuWindowsFormアプリ?
0503デフォルトの名無しさん
2016/02/23(火) 08:17:56.09ID:RYitu+qp0504デフォルトの名無しさん
2016/02/23(火) 08:21:21.05ID:kbsxNcQ60505デフォルトの名無しさん
2016/02/23(火) 08:39:41.98ID:RYitu+qp作成したスレッド以外から操作してはいけない決まりがある
ControlはInvokeかBeginInvokeメソッドを持っているから
他のスレッドから触りたければそれらを経由して操作する
UIとスレッドのルールはWindows以外のプラットフォームでも大抵同じなので
覚えておくといつか役に立つかも
立たないかも
0506デフォルトの名無しさん
2016/02/23(火) 11:37:42.35ID:5c0zO2hzDataTableに列Aと列Bがあって、列AにはBを変換した文字列を入れてます
Linqで一気にやろうと
dt.AsEnumerable().Select(row => row["A"] = henkan(row["B"].ToString()));
としてみたのですが上手くいきません
何が悪いんでしょうか
0507デフォルトの名無しさん
2016/02/23(火) 12:29:24.57ID:gpEp1eYY0508デフォルトの名無しさん
2016/02/23(火) 12:46:43.35ID:5HhRd+zG0509デフォルトの名無しさん
2016/02/23(火) 12:57:53.16ID:+MN4l2JU始めて聞いたんですが
0510デフォルトの名無しさん
2016/02/23(火) 13:09:48.84ID:JrRFhuQq0511デフォルトの名無しさん
2016/02/23(火) 14:07:32.88ID:EM1+lJ6M0512デフォルトの名無しさん
2016/02/23(火) 14:31:40.10ID:mDltGRviSQLじゃ遅いからじゃね?
0513デフォルトの名無しさん
2016/02/23(火) 14:45:30.79ID:5c0zO2hzSQLに持っていく前に暗号化してUpdateしようとしてるんです
>>511
デバックで実行見てても変換処理に行く様子はなく、抜けたあとのdtについても
該当の列には変換後の値が入ってないんです
似たような一括置換の例見ていると .ToList()がついてるんですが、それが抜けてるせいでしょうか
0514デフォルトの名無しさん
2016/02/23(火) 15:04:28.61ID:EM1+lJ6Mforeachすることで初めて評価される
ToList()とかCount()とかは即時評価
副作用のある処理はLINQのメソッドチェーン内では書かないのが無難
素直にforeachでいいんじゃない?
0515498
2016/02/23(火) 16:27:16.88ID:lkjUbvnhなるほど!と思ってwireSharkってのを使ってみたけど難しすぎます。
でもよく考えたらPDFは既にIEに表示されてるからメモリ上にはファイルが有るわけで・・・
そこからローカルフォルダに保存となるとadobeを操作することになるんですかね。
こっちもちょっと自分にはハードル高いです。
webBrowserクラスからファイルの保存ボタン押せないか探ってみます。
ありがとうございました。
0516デフォルトの名無しさん
2016/02/23(火) 16:39:37.63ID:DVYg3A+E0517デフォルトの名無しさん
2016/02/23(火) 17:16:42.33ID:5c0zO2hzLinq使い始めたところだったので勉強にになります
foreachで処理させました ありがとうございます
0518デフォルトの名無しさん
2016/02/23(火) 18:53:15.86ID:MLn0TlkPFormにはControlsと言うプロバティーがあって、ここに全てのコントロールが格納されています
定石はこのコントロールからCheckBoxを抽出して、foreachループでハンドラをセットして処理するのが一般的かな?
全てのコントロールからチェックボックスを抽出する方法とかコードでイベントをセットする方法を知っていれば簡単です
0519デフォルトの名無しさん
2016/02/23(火) 20:08:51.57ID:iF53IQphみなさんのおかげで解決しました。
結局、コントロールを制御する関数をInvokeしてタイマの中に突っ込みました。
本来はこういう実装ならカウントアップスレッドを作ってその中でInvokeするのが正なのでしょうけどもスレッドは勉強することが多そうなのでとりあえずタイマで良しとします
いやあ、最悪MouseMoveをトリガにしようか悩んだのて助かりました
0520デフォルトの名無しさん
2016/02/23(火) 21:14:59.21ID:OvWSY5Gq動かしてみてエラーしたらその時点で対策すればいいよ
0521デフォルトの名無しさん
2016/02/25(木) 18:30:48.11ID:M2uXlhYiネットで見てるサンプルはほとんど重たい処理のところに適当なループが書いてある
実際にやりたい処理は、別クラスのメソッドをいくつも呼び出すんだけど、
呼び出し先でWorkerReportProgressを更新するにはどうしたらいいの?
0522デフォルトの名無しさん
2016/02/25(木) 20:01:46.64ID:m/jN0scy0523498
2016/02/25(木) 22:15:35.13ID:nblLHdJf普通に拡張子pdfにしたらダウンロードできました
こんな単純なことで3日も悩んじゃった
0524デフォルトの名無しさん
2016/02/25(木) 22:46:47.71ID:bvnWfi3I更新処理を書いて渡すだけ
0525デフォルトの名無しさん
2016/02/26(金) 01:10:33.96ID:+59ndj2Vすみません・・・もう少し具体的に教えて下さいませ
0526デフォルトの名無しさん
2016/02/26(金) 09:11:43.07ID:JdiTwSlcそのメソッド変更できんの?できないの?
そのクラス進捗どうですか機能はあるの?ないの?
0527デフォルトの名無しさん
2016/02/26(金) 09:49:52.84ID:fV5IfbGO無理に決まってんじゃんっていったよ
0528デフォルトの名無しさん
2016/02/26(金) 10:21:22.48ID:LwzDqGm0Taskを使ったら?
0529デフォルトの名無しさん
2016/02/26(金) 11:04:27.42ID:1jTGKv1k0530デフォルトの名無しさん
2016/02/27(土) 22:33:21.13ID:cpgi4D1stag type human
tag sex man
このように、種別や性別のメンバを持たせるのでなく、tagに統合して扱おうと思ってます。
obj.tag[sex]==man
obj.tag[sex]==man & woman
obj.tag[sex]+= woman
こんな感じで比較したり追加したいのですが、
こういう都合のいいコレクションってありますか?
比較の際に値が含まれてたらtrueでいいんですけど、たまに複数で比較したいときもあると思います。
0531デフォルトの名無しさん
2016/02/27(土) 23:04:36.18ID:F0cA5DZYここはC#のスレなんだけど
0533デフォルトの名無しさん
2016/02/28(日) 09:45:59.90ID:5lqkohLHそれはコレクションではなく、その要素の型の問題だべ。
0534デフォルトの名無しさん
2016/02/29(月) 07:17:09.96ID:nhRiUMTh0535デフォルトの名無しさん
2016/02/29(月) 07:18:54.21ID:s/kIhvzC0536デフォルトの名無しさん
2016/02/29(月) 17:40:57.95ID:qzAO1Y5X例えば、
aabbcc&b(){text}aabbcc
↓
aabbcc(text)aabbcc
みたいな感じで
0537デフォルトの名無しさん
2016/02/29(月) 18:28:19.58ID:XNJcg+Rrggrks
0538デフォルトの名無しさん
2016/02/29(月) 18:29:15.11ID:XNJcg+Rr「c# 置き換え」でggrks
0539デフォルトの名無しさん
2016/02/29(月) 18:57:07.20ID:qzAO1Y5Xggった上で聞いてるんだが
どうも思った通りに動きそうなのがヒットしない
0540デフォルトの名無しさん
2016/02/29(月) 19:01:29.49ID:wwUx70p80541デフォルトの名無しさん
2016/02/29(月) 19:40:41.96ID:qzAO1Y5Xなるほど、$1ってそういう時に使うのか
説明読んでも全然理解出来なかったから良かったわ
ありがとうございました
0542デフォルトの名無しさん
2016/02/29(月) 21:22:22.20ID:v6WnEZutファイルパスだけとか勘違いしてたわw
0543デフォルトの名無しさん
2016/02/29(月) 22:27:36.50ID:XNJcg+Rrどちらもstring型だからstring型を受け取るメソッドなら何にでも使えるよ
0544デフォルトの名無しさん
2016/03/01(火) 00:33:23.59ID:yKQvQbvO今までの残業とはいったいなんだったのか
0545デフォルトの名無しさん
2016/03/02(水) 13:39:22.33ID:7rMjbt+l<A>
<X>データ</X>
<Y>データ</Y>
<B>
<X>データ</X>
<Y>データ</Y>
</B>
</A>
を、こんなふうにする方法を教えて下さい。
<A>
<X>データ</X>
<Y>データ</Y>
</A>
つまり<A>の中の要素で、サブノードを持っている<B>は消したいのです。
0546デフォルトの名無しさん
2016/03/02(水) 16:48:22.15ID:G7h2i/MnMouseDownイベントとMouseUpイベントを使う方法(dobon)と、DragDropイベントを使う方法(知恵袋)とありますが、
どっちが良いのでしょうか?
DragDropイベントを使わなくても特に問題は無いので、とりあえず前者でやってますが、よろしくお願いします。
0547デフォルトの名無しさん
2016/03/02(水) 18:51:22.60ID:M0cKviPSAの子要素を列挙。
それが子要素を持ってたら消せば良いんでないの?
0548デフォルトの名無しさん
2016/03/02(水) 18:53:41.49ID:M0cKviPSものに依るけど、一般的にはDragDropの方が簡明だとは思う。
mouseイベントで満足出来てるなら、問題ないのでは?
0549デフォルトの名無しさん
2016/03/02(水) 20:13:15.00ID:7rMjbt+lLINQか何かで一発でやりたいんですが。分かりません。
0550デフォルトの名無しさん
2016/03/02(水) 20:37:57.93ID:uzFwfdf+LINQは副作用のある操作は苦手なんだと教えてやれ
0551デフォルトの名無しさん
2016/03/02(水) 20:41:43.95ID:M0cKviPSLINQなら(と言う訳でもないが)発想が逆。
普通は、子要素のあるものを抽出する。
0552デフォルトの名無しさん
2016/03/02(水) 21:14:46.89ID:ifLd/O+p0553デフォルトの名無しさん
2016/03/02(水) 21:15:53.98ID:Xr3FdDeB0554デフォルトの名無しさん
2016/03/02(水) 22:11:35.10ID:YTt+CPtj0555デフォルトの名無しさん
2016/03/02(水) 22:45:38.88ID:kXS0q7YS0556デフォルトの名無しさん
2016/03/03(木) 07:00:40.32ID:5hp9B85t>>552が正解。
0557デフォルトの名無しさん
2016/03/03(木) 07:30:17.52ID:+28+Mrx+var a = doc.Element(“A”);
var children = a.Elements();
var filteredChildren = children.Where(c => c.Elements().Count() == 0);
a.RemoveNodes();
a.Add(filteredChildren);
0558デフォルトの名無しさん
2016/03/03(木) 14:43:57.71ID:nNGKOxUfforeachで回すのもやぼったくて、すっきり出す方法ってないですかね
0559デフォルトの名無しさん
2016/03/03(木) 14:58:12.30ID:5cXj0Vdc0560デフォルトの名無しさん
2016/03/03(木) 20:10:03.85ID:4fcQDfzjdictionary.Values.Countで取れない?
0561デフォルトの名無しさん
2016/03/03(木) 20:12:28.33ID:o6irJ03v0562デフォルトの名無しさん
2016/03/03(木) 21:24:54.92ID:mAzbqkbrこんなことをしたいん?
Dictionary<string, string> dss = new Dictionary<string, string>();
dss.Add("abc", "ace");
dss.Add("bcd", "bdf");
dss.Add("cde", "ceg");
dss.Add("def", "ace");
dss.Add("efg", "bdg");
dss.Add("fgh", "ceg");
dss.Add("ghi", "ceg");
// Valueでグループ化する
var res = dss.GroupBy(i => i.Value, j => j.Value, (k, l) => new { Value = k, Count = l.Count() });
foreach (var s in res)
Console.WriteLine(s.Value + " = " + s.Count);
0563デフォルトの名無しさん
2016/03/04(金) 01:46:56.99ID:WAEirXYkなにを目指してるんだろ
0564デフォルトの名無しさん
2016/03/04(金) 02:05:53.92ID:xkKaw8V/いきなりメソッド構文が難しいというのならまずクエリ構文で慣れるとよい
SQLそっくりだからね
0565デフォルトの名無しさん
2016/03/04(金) 04:47:14.67ID:zqobCVSyだってC言語じゃないから
0566デフォルトの名無しさん
2016/03/04(金) 07:18:39.28ID:1TQg1NEqkeyselectorやvalueselector指定する方は人間が直接使うもんじゃない
0567デフォルトの名無しさん
2016/03/04(金) 09:42:30.53ID:LYq4M8fM0568デフォルトの名無しさん
2016/03/04(金) 10:13:17.53ID:Wsx4vNbZありがとうございました。
今日、試してみます。
0569デフォルトの名無しさん
2016/03/04(金) 11:42:14.68ID:MEkhdCsH0570デフォルトの名無しさん
2016/03/04(金) 11:44:08.98ID:tUwMfFJ9プロパティで取得
https://msdn.microsoft.com/ja-jp/library/system.datetime%28v=vs.110%29.aspx
0571デフォルトの名無しさん
2016/03/04(金) 12:23:13.13ID:iPidqtAd面倒くせーもんそれ
タイプ量が多くなるだけ
0572デフォルトの名無しさん
2016/03/04(金) 15:26:09.68ID:elziqyh4そう感じるとしたらお前が単にLINQに慣れてないだけだろうが
恥だぞその書き込み
勉強しなおせ(笑)
0573558
2016/03/04(金) 17:16:29.69ID:8Af9X/V9それだと、Valuesの数だけで、個々のValuesに入ってる配列まで出せなかったんですよね
var result = Data.Select(d => d.Value.Count).Sum();
でとりあえず期待の値が返ってきますが合ってますかね
0574デフォルトの名無しさん
2016/03/04(金) 19:23:22.00ID:WAEirXYkの
1) => ←この矢印は何を示してるの
2) iとjと(k, l)はどこからきたの
3) new {〜}の中にセミコロンは要らないの
4) dss.GroupByはそもそも何してるの?(Dictionaryクラスに何時から生えてきた?)
の辺りを解説おねがいします
LINQだからってのはなしで
0575デフォルトの名無しさん
2016/03/04(金) 19:30:29.77ID:LYq4M8fM引っ込んでろ
0576デフォルトの名無しさん
2016/03/04(金) 20:02:18.46ID:1TQg1NEq慣れとかじゃなくて普通に読みにくい
各引数の意味を暗記してないとコードの字面から何やってるのか意図が伝わらない
せめて名前付き引数使ってくれ
0577デフォルトの名無しさん
2016/03/04(金) 20:10:08.22ID:WAEirXYkこれでもDictionary型のdss集合から別の集合をresに入れてるって程度はなんとなくわかるよ?
varも最近覚えたし
ただGroupByの中身はちょっと頂けないでしょこれは
例えばi => i.Valueて本当にそこに必要なのかよ誰も参照してないだろって思うじゃん
でもLINQ覚えたら神だーとかはしゃいで>>562みたいに初心者お断り難解構文使っちゃうんだろうな・・・
0578デフォルトの名無しさん
2016/03/04(金) 20:10:15.33ID:zqobCVSyお前理解する気ゼロだろ
0579デフォルトの名無しさん
2016/03/04(金) 20:12:13.58ID:Q/LMB9dTせめて属性でインテリセンスに出なくするとかしてくれたらいいのに
引数6個のJoinとか生で使われたらたまらんわ
0580デフォルトの名無しさん
2016/03/04(金) 20:16:27.35ID:WAEirXYk元の型はDictionary<string, string>なのに
なんでiとかjとかそれに(k, l)とか突然出てくるんだろ
ほんとさっぱりだわ
>>562は本当にその式を理解して使ってると自信を持って言えるの?
0581デフォルトの名無しさん
2016/03/04(金) 20:18:01.45ID:WAEirXYkc# dictionary GroupByとかでぐぐっても適当な情報がみつからんのよ
まいった
0582デフォルトの名無しさん
2016/03/04(金) 20:19:59.51ID:XaHmD/yI0583デフォルトの名無しさん
2016/03/04(金) 20:26:39.15ID:Q/LMB9dTgroup d.Value by d.Value into g
select new { Value = g.Key, Count = g.Count() }
このd.Value, d.Value, new {} がそれぞれGroupByの引数になるわけ
>>562は真似しちゃいけない糞コードなのでお前の感覚は間違ってない
0584デフォルトの名無しさん
2016/03/04(金) 20:27:07.03ID:XaHmD/yIDictionaryがIEnumerableインターフェースを持つクラスだから使える
0585デフォルトの名無しさん
2016/03/04(金) 20:28:57.87ID:KvAxA2v30586デフォルトの名無しさん
2016/03/04(金) 20:34:15.32ID:WAEirXYk>>583-584でなんとなくわかったよ
勉強してくるわ・・・
0587デフォルトの名無しさん
2016/03/04(金) 20:36:23.50ID:KvAxA2v3Dictionaryが何のIEnumerableを返すのかを考える。
0588デフォルトの名無しさん
2016/03/04(金) 21:19:27.41ID:ic5Fzn5SDataがDictionary<string,string>としたらd.Valueはstringだし、Countはとってこれないと思うんだけど、どうやってんの?
正しい値は>>559が簡潔な回答してるとおり
dss.Values.GroupBy(s => s).Select(g => new { Value = g.Key, Count = g.Count()});
で取り出せる
http://ideone.com/cBumfc
LINQわからん君は頭が足りてないけど、>>562は糞コードだから真似しないように
0589デフォルトの名無しさん
2016/03/04(金) 21:56:44.51ID:lr0rKXo9そうですね、Dictionaryの型をしっかり書いてませんでした
Dictionary<string, List<string>>でなかんじの場合を想定してました
Valueに格納されたListの個数の総計を出したかったんですが
イメージは、
key => "food"
Vales => "apple", "onigiri", "melon"
key => "drink"
Values > "beer", "water"
で、求めたい合計は5個
Selectで各Listの個数を返して、それをSumするだけなんですが、
式的におかしいですか?
0590デフォルトの名無しさん
2016/03/04(金) 22:37:14.82ID:KYoCsKIc0591デフォルトの名無しさん
2016/03/04(金) 22:39:18.45ID:rKRIsZM1でもこれでListとかArrayを簡単に触れるのを覚えて感動した
そして自分もLINQおじへの道へと両足を突っ込んだのです
0592デフォルトの名無しさん
2016/03/05(土) 00:18:06.23ID:6PZHe126メインの関数がインテリセンスに埋もれてうざいと感じることがある
0593デフォルトの名無しさん
2016/03/05(土) 01:09:48.92ID:OuxWCN0r0594デフォルトの名無しさん
2016/03/05(土) 07:41:07.18ID:PSQ4fRy90595デフォルトの名無しさん
2016/03/05(土) 11:43:22.55ID:VZWW/8gXまあそういうのはSelectMany()使うと楽だな
Dictionary<string, List<string>> dsls = new Dictionary<string, List<string>>() {
{ "food", new List<string> { "apple", "onigiri", "melon" } },
{ "drink", new List<string> { "beer", "water" } },
};
var sum = dsls.SelectMany(i => i.Value);
foreach (var s in sum)
Console.WriteLine(s);
Console.WriteLine(sum.Count());// ←これが答えになっている
0596デフォルトの名無しさん
2016/03/05(土) 12:27:18.70ID:5rT0ZyBv総数が欲しいだけならそれが一番シンプル
SelectManyはイテレートしたい場合に使う
0597デフォルトの名無しさん
2016/03/05(土) 13:39:50.62ID:N2PZCsjAイテレートしてるだろ?お前文句言ってばかりで肝心のコード書いてないな
0598デフォルトの名無しさん
2016/03/05(土) 13:42:54.21ID:YrgdO5eg0599デフォルトの名無しさん
2016/03/05(土) 14:24:28.58ID:v6iGZw3Dこいつは人のふんどしで相撲をとることしかできない無能のバカだから仕方がない
0600デフォルトの名無しさん
2016/03/05(土) 15:17:15.94ID:5rT0ZyBvListの個数の総計だけが目的なら、>>589の言ってるコードがシンプルになるってだけだよ
こんなコード書かなくても分かるだろ?
dsls.Select(v => v.Value.Count).Sum()
0601デフォルトの名無しさん
2016/03/05(土) 15:44:30.11ID:8QHcXB10そんな式はとっくに書いてるわヴォケ
頭から水かぶって冷やしてこい
というかお前なんかプログラム書いてみろや
俺がそれに対して批評してやるから
ああ言えばこう言うでさっぱり的を射てないなお前の話
まあお前は脳に障害があるみたいだから精神科行った方がいいな
0602デフォルトの名無しさん
2016/03/05(土) 16:24:05.32ID:88xv0dA9valueの中までイテレートする必要ないから、SelectManyは無駄でしょ。
0603デフォルトの名無しさん
2016/03/05(土) 16:33:05.41ID:YvvWw4Rr回答を出すより問題を理解するほうが何倍も難しいのは
このスレではよくある話だから肝に銘じて置かないとな
0604デフォルトの名無しさん
2016/03/05(土) 16:42:30.76ID:EgILQXd4ああ
>foreach (var s in sum)
>Console.WriteLine(s);
これが不要と言ってるのか
これを動作させるためにSelectMany()書いたんだよ
よく読めよ
Listの個数の総計だけが目的なら、確かにSelectMany()は冗長
しかし上のコードが動かない
質問者の意図とは別に動作確認したいことってないのか?
難癖つけて楽しいか?
0605デフォルトの名無しさん
2016/03/05(土) 16:51:47.95ID:70MzmchH>>589が補足
>>595の出る幕はそもそもなかった
0606デフォルトの名無しさん
2016/03/05(土) 16:54:50.42ID:EgILQXd4へえー
一人しか書いたらだめなんだ
初めて聞いたんだが
そんな規約どこに書いてあんの?
0607デフォルトの名無しさん
2016/03/05(土) 17:00:51.23ID:70MzmchH0608デフォルトの名無しさん
2016/03/05(土) 17:01:29.73ID:88xv0dA9質問は個数を求めるだけだからSelectManyは不要で、デバッグしたい等はSelectManyが必要。
だから、>>596って回答なんだろう。
なんで、 ID:5rT0ZyBvが噛みつかれてるのかわけわからんな。
0609デフォルトの名無しさん
2016/03/05(土) 17:03:06.07ID:EgILQXd4「シンプル」にこだわる意味がわからん
冗長でも構わんだろうが
0610デフォルトの名無しさん
2016/03/05(土) 17:20:42.98ID:88xv0dA9処理速度が変わるだろ。
データ量が多い場合は違いが効いてくる。
0611デフォルトの名無しさん
2016/03/05(土) 17:23:04.38ID:NOMycko/0612デフォルトの名無しさん
2016/03/05(土) 17:25:48.68ID:NOMycko/0613デフォルトの名無しさん
2016/03/05(土) 17:42:09.48ID:70MzmchHこんな手法もあるよって提示する事自体はいい。
既に解決してる質問に適切とは言えない手法で答え、
少し突っ込まれたくらいで発狂なんてのは勘弁願いたい。
0614デフォルトの名無しさん
2016/03/05(土) 17:46:55.15ID:NOMycko/自己満足じゃねーだろこの程度
よほどあんたが自己満足のコード書くんだろうなとしか思わない
解決してたら書いてはいけないって決まりはあんのかって聞いてるのに答えもしないで
発狂してるのはそっちだろ
「勘弁ねがいたい」のならスレ開くな
自己責任だ
0615デフォルトの名無しさん
2016/03/05(土) 17:54:51.89ID:5rT0ZyBv冷静に自分のレス見返してみろ
0616デフォルトの名無しさん
2016/03/05(土) 18:01:32.17ID:YrgdO5eg0617デフォルトの名無しさん
2016/03/05(土) 18:08:07.37ID:w6SNzJC5処理速度にこだわる時は、複数Valueを持てるDictionaryを作って、それ用のプロパティを作るかな。
0618デフォルトの名無しさん
2016/03/05(土) 19:33:09.25ID:vWa81iKT俺もそうする
0619デフォルトの名無しさん
2016/03/05(土) 22:32:59.96ID:CHKrEIjZLINQ使って1行野郎はいいけど速度は見積もってるの大丈夫なのって毎回思うよ
0620デフォルトの名無しさん
2016/03/05(土) 22:39:19.23ID:Uu64feBB0621デフォルトの名無しさん
2016/03/05(土) 23:30:22.15ID:JkAYrDmp単体の時間測定じゃパフォーマンスの影響なんて測れねえんだわ
素人ほどストップウォッチをありがたがる
0622デフォルトの名無しさん
2016/03/05(土) 23:33:14.65ID:JxEIzSMD読みづらくても早い実装にするのは本当にそこがボトルネックになってるってはっきりしてからでも遅くないから
0623デフォルトの名無しさん
2016/03/06(日) 00:12:25.55ID:D4J0SD+j並列処理を意識しても無駄な努力の場合が多い
0624デフォルトの名無しさん
2016/03/06(日) 05:35:30.32ID:D6eFvy86http://ideone.com/jGnq5s
10000000個のdoubleの二乗和を求めるコード
foreachだと0.2968246秒、LINQのSumで0.4129515秒
1000万個の要素でようやく0.1秒の差がつくようなレベルの差を気にする前にやることがあるんだよ
0625デフォルトの名無しさん
2016/03/06(日) 07:16:36.25ID:h6QpGbpa球形の牛の話じゃなく現実の話をしてくれるかアンポンタン
0626デフォルトの名無しさん
2016/03/06(日) 07:23:07.38ID:h6QpGbpaストップウォッチをありがたがる素人の典型的な例
ストップウォッチをありがたがるのは素人って言ったのは俺じゃないから文句は俺に言うなよ
レベルは1くらいかな
素人だから
0627デフォルトの名無しさん
2016/03/06(日) 07:26:55.27ID:kvyRuy3r行き詰まったので教えて下さい。
Try&Error テクニカルブログ様のサイトを参考にさせていただいています。
string s="abc";
....
DataRow[] rows = (
from row in datatable.AsEnumerable()
let ss=row .Field<string>("col1")
....
where ss.Contains(s)
....
select row
).ToArray();
DataTableのcol1列から取得した文字列の中に"abc"が含まれている列を抽出したいのですが、
ss.Contains(s)
のところで
「オブジェクト参照がオブジェクト インスタンスに設定されていません」
となってしまいます。
何が原因か、教えて下さい。
0628デフォルトの名無しさん
2016/03/06(日) 07:30:03.02ID:kvyRuy3rDataTableのcol1列から取得した文字列の中に"abc"が含まれている「行」を抽出したいのですが、
の間違いです。
0629デフォルトの名無しさん
2016/03/06(日) 09:49:36.89ID:I0qcG5Ou0630デフォルトの名無しさん
2016/03/06(日) 10:39:33.87ID:h6QpGbpaここでnull返してんだろ
カラムが存在しないとかで
素直にforeachで書いてればデバッガでステップ実行できるのに悲しいね〜(笑)
0631デフォルトの名無しさん
2016/03/06(日) 10:49:22.20ID:0C5JHw3H次スレ立てるときここも強制コテハンにしようぜ
0632デフォルトの名無しさん
2016/03/06(日) 11:02:27.95ID:5VYncBRy前に別スレでコテ付きで立てようとしたけど、対応してないと言われて諦めた
0633デフォルトの名無しさん
2016/03/06(日) 11:13:12.78ID:h6QpGbpaちょこっと煽りを加えてるだけなんだけど…
いやあ心が狭い狭いw
ゆとりもないのにプログラムなんて書いてて大丈夫?
鏡見て胃薬のんで精神科行ってこいってw
鏡もお前のクソ面に気を使って割れちゃうか
0634デフォルトの名無しさん
2016/03/06(日) 11:33:09.21ID:toJj4kqo0635デフォルトの名無しさん
2016/03/06(日) 11:49:15.33ID:0C5JHw3HUSE_VIQ2=2になってるから今は立てられるよ
宿題スレのところで揉めて運営が動いてくれた
詳しくは自治スレを見ればいいよ
>>623
お前本当にかわいそうなやっちゃな
全部自分のことを言ってるのに気が付かないのか
0636デフォルトの名無しさん
2016/03/06(日) 12:31:56.53ID:5VYncBRy今までWinフォーム使ってたけど、今のうちにXAMベースで作っておかないとフォーム切り捨てられた時に面倒になりそうで怖い
0637デフォルトの名無しさん
2016/03/06(日) 12:40:03.08ID:euq/4jEg俺もWinフォームでやってたけどこれからはWPFでやる予定
Winフォームが切り捨てられることはないと思うけど、WPFのほうが色々できるようだし
WPFのほうがMVCに適ってて綺麗に書けそうだし
0638デフォルトの名無しさん
2016/03/06(日) 12:45:07.05ID:6mlMZ32HWPF/XAMLの方がGUIは作りやすいね。罠に嵌りやすくもあるけど。
俺はWPFで作ることの方が多くなってしまったけど、
Formsがなくなる事はないだろうし、簡単なGUIならFormsで作ったりもするよ。
0639デフォルトの名無しさん
2016/03/06(日) 12:49:50.40ID:af8Foilzえ?I/Oがボトルネックになるのが多いってのはおかしいのか?
0640デフォルトの名無しさん
2016/03/06(日) 13:01:39.07ID:TZA1U5ABElectronだよ
他でもないMS自身が先導して使ってるんだから
0641デフォルトの名無しさん
2016/03/06(日) 13:12:51.14ID:/MmulfWY悪い悪い
×>>623
○>>633
でした
0642デフォルトの名無しさん
2016/03/06(日) 13:18:35.56ID:af8Foilzたしかに彼は病んでいるな
でも患者に触ると病気が感染るからお薦めできません
0643デフォルトの名無しさん
2016/03/06(日) 13:34:48.37ID:/MmulfWYIDでID:h6QpGbpaは透明あぼーんしときましたから
番号が飛んでいたらこのキチガイが書き込んだということになりますね
早く強制コテハンにならないかなあ
そうすればコテハンであぼーんできるし
0644デフォルトの名無しさん
2016/03/06(日) 13:44:06.24ID:kvyRuy3rlet ss=row.Field<string>("col1")
で、ssには文字列が格納されています。
なぜなら、
where ss==s
とすれば、完全一致する行が抽出されていますので。
あいまい検索したくて、ss.Contains(s)とすると例外となってしまいます。
0645デフォルトの名無しさん
2016/03/06(日) 13:47:39.84ID:mU8G/zxtVB6 Formsの借金すらまだ完済できてないMSが.Net Formsからも解放されるとは思えん
0646デフォルトの名無しさん
2016/03/06(日) 13:58:10.25ID:2GCr7edPアチャー残念ですねw
0647デフォルトの名無しさん
2016/03/06(日) 13:59:01.46ID:xy0JoqKw今時そんなもの厨房ですらどうとでもできますからね
0648デフォルトの名無しさん
2016/03/06(日) 13:59:42.03ID:JI6WB6UFじゃあ今日のレスはここから毎回ID変える方針で行きましょうか
0649デフォルトの名無しさん
2016/03/06(日) 14:00:45.49ID:JI6WB6UFせっかくレスアンカーの推敲すらできないくらい煽ってあげたのに
このまま終わらせるのも惜しいですからね
0650デフォルトの名無しさん
2016/03/06(日) 14:01:16.33ID:h6QpGbpa0651デフォルトの名無しさん
2016/03/06(日) 14:08:34.97ID:f/OSkR6Rそれなら省略したどこかが悪い。
0652デフォルトの名無しさん
2016/03/06(日) 14:12:18.74ID:6EHt/C22埒が開かないからその抽出してるコードを全部ideone等に貼るか、
もしくは一人で静かに悩んでてよ。
俺らにいつまで当てずっぽうゲームを強いるんだ?君は。
0653デフォルトの名無しさん
2016/03/06(日) 15:26:02.15ID:f/OSkR6Rlet b = Console.WriteLine(....) is object
の反則技を使う手もある。
他にも調査方法はあるが。
0654デフォルトの名無しさん
2016/03/06(日) 15:35:10.30ID:FvRMQKmr非常に邪魔くさいんだけど、除外して検索することで可能ですか?
もしくは拡張機能でできるのがあったりしますかね
0655デフォルトの名無しさん
2016/03/06(日) 16:10:04.44ID:obTJIxSYバカ発見
0656デフォルトの名無しさん
2016/03/06(日) 16:37:32.73ID:tTnKJmeM0657デフォルトの名無しさん
2016/03/06(日) 19:42:35.62ID:zmZ2DI330除算させたのですが、ExceptionFunc関数に処理が進みません
コンソールアプリ用の書き方を流用してみたので、
上手く行かないのだろうと思うのですが、ASPではどう書けば良いでしょうか?
static void ExceptionFunc
(object sender, UnhandledExceptionEventArgs e)
{
Environment.Exit(-1);
}
public ActionResult Index()
{
AppDomain.CurrentDomain.UnhandledException +=
new UnhandledExceptionEventHandler(ExceptionFunc);
int a = 0;
int b = 0;
int c = a / b;
return View();
}
0658デフォルトの名無しさん
2016/03/06(日) 19:51:12.96ID:f/OSkR6R>>652の気持ちがよくわかる。
0659デフォルトの名無しさん
2016/03/06(日) 20:06:46.59ID:toJj4kqoASP.NET MVC でエラー処理したい場合は UnhandledException 使わないと思う
0660657
2016/03/06(日) 20:55:04.23ID:zmZ2DI33ASP.NET でどのように書くのか、調べても出てこず困っております
初心者質問で申し訳ありませんが、
ご存知でしたらお教え頂きたく
よろしくお願いします
0661デフォルトの名無しさん
2016/03/06(日) 22:06:55.78ID:sE3CURpbasp.net 例外、でググればいくらでも出てくるだろ
0662657
2016/03/06(日) 22:36:25.29ID:zmZ2DI33http://normalian.hatenablog.com/entry/20090526/1243313938
ただ、ASP.NETの情報はあまり多いとは思えませんでした
JAVAやPHP等にくらべてマイナーなんだなと
思い知らされました
やっぱりWEBやるならJAVA、PHP、Ruby辺りかなって
落ち込みます
LINQとか便利だと思うのに残念です
0663デフォルトの名無しさん
2016/03/06(日) 22:53:12.17ID:sE3CURpbそうか?そこそこ情報あるだろ。MSDNとか読んでる?
Javaも悪くないけど、フレームワーク、テンプレートエンジン、ORMをどれにするかとか、apサーバ選んだりとか面倒くさいよ
0664デフォルトの名無しさん
2016/03/07(月) 00:06:44.43ID:e4ckG9cS今時は質問・回答サービスの時代だよ
0665デフォルトの名無しさん
2016/03/07(月) 00:08:33.56ID:JYqyxWzNそういうことを言う人が、なぜ駄目と言っているのか、理由を考えたことはありますか?
理由が分かっているなら、try-catchを書いても大丈夫だと分かるはず
聞いてるだけじゃ、駄目ですよ
0666デフォルトの名無しさん
2016/03/07(月) 00:15:38.99ID:vnIXC/6YASP.NETでそれやったらエラーハンドラーに飛ばなくなるからダメだろ。
0667デフォルトの名無しさん
2016/03/07(月) 00:27:23.33ID:JYqyxWzN主に商用システムに使われているため開発事例が表に出てこないの二重苦なので
コピペできないと困るなら他言語を選ぶべきだろう
0668デフォルトの名無しさん
2016/03/07(月) 00:34:25.29ID:JYqyxWzNMVP連中は多少頑張っているが、
彼らは目新しくもないASPよりCoreに言及するので忙しい感じ
0669デフォルトの名無しさん
2016/03/07(月) 07:58:44.82ID:9VftUWJrこのキーワードでいくらでも出てくるやんけ。
0670デフォルトの名無しさん
2016/03/07(月) 09:36:07.90ID:Ha68PnBT0671デフォルトの名無しさん
2016/03/07(月) 11:00:10.21ID:YVlm44HB「問題」のレベルがわからんが、言語仕様上は問題ない
0672デフォルトの名無しさん
2016/03/07(月) 11:38:50.93ID:xqALO0OR0673デフォルトの名無しさん
2016/03/07(月) 11:54:38.98ID:Ha68PnBTありがとうございました。納得しました。
0674デフォルトの名無しさん
2016/03/07(月) 20:14:13.36ID:GZWOg05x初期化するメソッドと並列でBeginInvokeを使って処理中のダイアログを表示させてるんですが、
ダイアログの表示やプログレスバーの値を変えるにはどーしたらいいんでしょう?
一応、BeginInvokeでテーブル削除のメソッド呼び出し→待機用のダイアログボックス表示
→EndInvokeでcallbackから処理の成否を受け取って処理ログ用の同フォームに配置した
テキストボックスに処理結果を表示→別のテーブルの処理開始・・・(この間はダイアログを表示しっぱなし)
→テーブルの削除が完了したらダイアログを閉じて終了
という流れは動作できました
処理ログ用のテキストボックスは同じフォーム内なのでTextBox.Textに入れてやればいいのですが、
開いているダイアログの表示ラベルにはどーアクセスしたらいいんでしょうか
0675デフォルトの名無しさん
2016/03/07(月) 20:22:57.13ID:GZWOg05xTextBox.Controls["controlName"].Textでアクセスできました
0676デフォルトの名無しさん
2016/03/07(月) 21:22:55.34ID:yBUt6s65http://ideone.com/ErwSfM に記述したコードで
WindowクラスのOpenメソッドからTitleBarクラスのAddメソッドを呼び出したいのですが、
AppSystem.Draw.Window mw = new AppSystem.Draw.Window();と記述したところ
StackOverflowExceptionといったエラーが出てしまいました。どうやらTitleBarクラスが
Windowクラスの派生クラスであることに問題があるようです。
出来ればクラスの継承の関係を崩さずにWindowクラスのOpenメソッドからTitleBarクラスの
Addメソッドを呼び出す方法があると思うのですが、知識不足でやり方がわかりません。
勉強中で詳しいことは分からないのですが、解決策などございましたらご教示ください。
0677デフォルトの名無しさん
2016/03/07(月) 22:18:01.18ID:RvmFqMEu(そもそも継承が必要なのかというところから)
0678デフォルトの名無しさん
2016/03/07(月) 22:22:42.90ID:WUleoGW9public abstract class Controlls : Window
がWindowクラスを継承してるからじゃないの?
基底クラスのコンストラクタがループしてるんで、
tbが無限生成されてスタック溢れを起こしてそう。
あんまりまじめに見てないが斜め読みしたところそんな気がした。
0679デフォルトの名無しさん
2016/03/07(月) 22:28:45.02ID:WUleoGW90680デフォルトの名無しさん
2016/03/07(月) 23:37:01.22ID:yBUt6s65迅速な返答ありがとうございます。
無事、679さんの方法の通り、
Openメソッドの中でTitleBarのインスタンスを作成することでエラーなく動きました。
可能であれば、何故21行目の処理をOpenメソッド内で行うことで
動くようになるのかについても教えていただけないでしょうか。
0681デフォルトの名無しさん
2016/03/07(月) 23:45:37.22ID:RvmFqMEuTitleBar のインスタンスを作るとき、継承元の Window のコンストラクタが呼ばれる
↓
ループ
0682デフォルトの名無しさん
2016/03/07(月) 23:55:31.16ID:sWoSwL8BStackOverflowExceptionが示すように>>678の通り無限ループしている
というのもC#では基本クラスの既定コンストラクタが暗黙的に呼ばれる
これを抑制する方法もなくはないが、それは普通のやり方ではなさそう
対応策としてはコンストラクタのオーバーロードを作りbaseで明示するとか
当該コードを切り離すとか(>>679)、thisから型を判別するとか
遣りようは有るだろうけど、>>677の言うように設計を見直した方が…?
0683デフォルトの名無しさん
2016/03/08(火) 00:22:53.32ID:RvcgzD1QMVPってあれ誰が選ぶの?
ろくなやついなくね
0684デフォルトの名無しさん
2016/03/08(火) 00:35:14.23ID:zqUtNwre有難うございます。おかげさまで理解できました。
構造面も含めもう一度検討してみます。
0685デフォルトの名無しさん
2016/03/08(火) 12:55:07.46ID:cVnif4vDつまり俺をMVPにしろとのアピールですね?
0686デフォルトの名無しさん
2016/03/08(火) 13:47:54.06ID:q0RT02Oy0687デフォルトの名無しさん
2016/03/08(火) 13:50:38.69ID:q0RT02Oyhttps://www.microsoft.com/ja-jp/communities/mvp/selfregistration.aspx
こちらから御応募ください
0688デフォルトの名無しさん
2016/03/08(火) 13:51:38.54ID:Sa5Xf65yそう
お前の性格がろくでもないからMVPになれって話
0689デフォルトの名無しさん
2016/03/08(火) 14:15:10.34ID:pNEVkfft性格がどうであろうと2chに書き込んでる奴がアレなのと一緒
0690デフォルトの名無しさん
2016/03/08(火) 14:48:02.95ID:9VaxmRzZ性格が悪いとまず普及に貢献できない
嫌われるからな
0691デフォルトの名無しさん
2016/03/08(火) 14:57:39.58ID:q1Bv1hCMマイルドヤンキーとモヒカン族の親和性は前から言われてることでしょ。
0692デフォルトの名無しさん
2016/03/08(火) 17:46:12.71ID:FLPZmVOWほんとまじでMVP()だから
0693デフォルトの名無しさん
2016/03/08(火) 18:17:58.01ID:FSh6Jh2Mカスばっかでそりゃねぇか
0694デフォルトの名無しさん
2016/03/08(火) 18:27:49.51ID:Xy8HbLKy有用な書き込みもあるが、いかんせんノイズが多すぎる。
0695デフォルトの名無しさん
2016/03/08(火) 19:18:11.87ID:e0xwcNXs{
try
{
FileStream fs = new FileStream("存在しないファイル.txt", FileMode.Open, FileAccess.Read);
MessageBox.Show("処理");
}
catch
{
}
}
private void button2_Click(object sender, EventArgs e)
{
using (FileStream fs = new FileStream("存在しないファイル.txt", FileMode.Open, FileAccess.Read))
{
MessageBox.Show("処理");
}
}
usingステートメントの解説を読んで試したのですが
button2のほうだと「ハンドルされませんでした」になってしまいます
どなたか解説をしてもらえると助かります
0696デフォルトの名無しさん
2016/03/08(火) 19:33:46.06ID:J4QOlwcI砂の中から宝石を探すのも大切だろ
0697デフォルトの名無しさん
2016/03/08(火) 19:34:49.26ID:zzppE3GCbutton2は例外を潰していない
usingは別に例外潰さないからね
0698デフォルトの名無しさん
2016/03/08(火) 22:39:37.82ID:PrT3Ua1r0699デフォルトの名無しさん
2016/03/08(火) 22:49:34.76ID:q+fOdqeWusing文はブロック内で例外が起きた場合も含め、ブロックを抜ける際に必ずfs.Dispose()が呼ばれるようにする役割。
例外を処理するわけじゃないよ。
0700695
2016/03/08(火) 23:45:02.02ID:e0xwcNXsttp://www.atmarkit.co.jp/fdotnet/dotnettips/027dispose/dispose.html
↑こことかを読んでusingステートメントはtry〜catchの単なる書き換えと捉えてましたが
全く別の制御なのことに気付かされました
ありがとうございました
>>698
usingステートメントとtry〜catchの挙動の違いをテストしたことを端的に表したのですが
以後は全コードを載せるように気を付けます
0701デフォルトの名無しさん
2016/03/09(水) 00:01:14.46ID:GzCBlRLTそのリンクはtry-catchじゃなくてtry-finallyだから
0702デフォルトの名無しさん
2016/03/09(水) 03:01:17.90ID:6uZQGjqP↑ ↑ ↑ ↑ ↑
0703デフォルトの名無しさん
2016/03/10(木) 00:41:51.08ID:d0z7G1z8非同期処理中に終了要求された場合どう処理していいのかわからないのです
bool型変数AbortRequestがtrueの場合終了するようにしているんですが
終了処理に結構時間がかかります
関数Aはループ処理で終了要求が出ている場合、ループが一周しだい終了させられるんですが
関数Aから呼ばれる関数は処理が終了しないと終了できません
終了しても問題ないところでif(!AbortRequest) returnと書いて終了処理するしかないんでしょうか?
他にいい方法ってないんでしょうか?
0704デフォルトの名無しさん
2016/03/10(木) 02:09:55.96ID:gpbcq4MQでバックグラウンドで動かして放置でいいんじゃないか?
0705デフォルトの名無しさん
2016/03/10(木) 02:11:56.23ID:gpbcq4MQ0706デフォルトの名無しさん
2016/03/10(木) 02:46:18.54ID:/xjSEmXEフレームワークとしてはCancellationTokenを使う。
CancellationTokenSourceで生成したCancellationTokenを非同期処理に渡して、
終了しても問題ないところでcancellationToken.ThrowIfCancellationRequested()を実行してキャンセル例外を発生させるか、
cancellationToken.IsCancellationRequestedをチェックして終了する(>>703と同じ)。
後、キャンセルした時に登録したデリゲートを実行するCancellationToken.Register()ってのもあるね。
Cancellation in Managed Threads
https://msdn.microsoft.com/ja-jp/library/dd997364.aspx
0707デフォルトの名無しさん
2016/03/10(木) 03:18:09.52ID:6K4R3xGyそこで普通のクライアントアプリのGUIをHTMLベースで作って紐付けしたいんですが
そういうのってあります?
0708デフォルトの名無しさん
2016/03/10(木) 06:50:37.20ID:vAlfHTfo0709デフォルトの名無しさん
2016/03/10(木) 06:51:52.70ID:1xnVZ4wKElectronが流行り
0710デフォルトの名無しさん
2016/03/10(木) 07:33:20.99ID:6K4R3xGyまさにElectronみたいなイメージです。
今のところC#と組み合わせるような環境はなさそうですね。
教えていただきありがとうございました。
0711デフォルトの名無しさん
2016/03/10(木) 08:36:22.38ID:1xnVZ4wKelectron-edge
0712デフォルトの名無しさん
2016/03/10(木) 09:34:42.54ID:6K4R3xGyおおーっと!あるんですねー。
;NET4.5以降が必要っぽいので後で試して見ます。
あるがとうございました。
0713デフォルトの名無しさん
2016/03/10(木) 10:52:13.10ID:LKH4/mm6VisualStudio2015Communityには新しいプロジェクトのところに「セットアップと配置」ってのが
見当たらないんだけど、無料版にはこれが使えないってこと?
VisualStudio2013Proはもっているんだけど、こっちで作るしかないのか、Framework4.61のものを
2013でインストーラーだけ作れることはできるのか、どーなんでしょう
0714デフォルトの名無しさん
2016/03/10(木) 10:58:34.16ID:kwXEw2iVhttp://toktakaomi.hatenablog.com/entry/2015/01/20/013330
そもそも初期インストールされてる機能じゃないんじゃないの?
0715デフォルトの名無しさん
2016/03/10(木) 11:16:28.09ID:9FrAKjBBMicrosoft Visual Studio 2015 Installer Projects
https://visualstudiogallery.msdn.microsoft.com/f1cc3f3e-c300-40a7-8797-c509fb8933b9
0716デフォルトの名無しさん
2016/03/10(木) 19:25:13.89ID:GUbv7vTH[C#]Chartコントロールを使用して、タスクマネージャー風のグラフを作成する
http://nanoappli.com/blog/archives/2584
それで稼働してるタイマー使ってその処理の中に画像を保存するコードを書いて
プログラムが走ってる間に連番でファイルを取得したいんだけど何かいい方法ありますか?
0717デフォルトの名無しさん
2016/03/11(金) 00:18:27.87ID:kiFsoFS4モニタの前にスマホ設置して、ヌコにシャッター押させる。
0718デフォルトの名無しさん
2016/03/11(金) 06:46:22.91ID:b0qnvURD猫アレルギーなんでそれは無理ですねー
もっと現実的な回答お願いします。
0719デフォルトの名無しさん
2016/03/11(金) 07:33:13.98ID:W3egB9n/https://msdn.microsoft.com/en-us/library/dd456181(v=vs.110).aspx
0720デフォルトの名無しさん
2016/03/11(金) 08:35:04.66ID:xY+PvxE+まあググると速攻で見つかったよ
http://dobon.net/vb/dotnet/graphics/invokepaint.html
0722デフォルトの名無しさん
2016/03/11(金) 23:32:52.05ID:b0qnvURDいやググっても分からんのですよ。
Cなら簡単に書けるんだけど、なんでフォルダ指定してないのに画像が連番で保存されるのかが理解を超えてる。
0723デフォルトの名無しさん
2016/03/11(金) 23:34:24.41ID:RA7SR1be0724デフォルトの名無しさん
2016/03/11(金) 23:44:37.13ID:ShS7UgLD0725デフォルトの名無しさん
2016/03/12(土) 00:22:33.97ID:+59d9MQk0726デフォルトの名無しさん
2016/03/12(土) 00:47:31.00ID:YrRAz0CD0727デフォルトの名無しさん
2016/03/12(土) 01:28:19.22ID:mrUAeUBh0728デフォルトの名無しさん
2016/03/12(土) 01:32:02.26ID:OGyV43CUでもその処理のなにが分からないのか分からないから答えようがないね。
プログラムを全部作ってってんならスレ違いだしな。
0729デフォルトの名無しさん
2016/03/12(土) 02:10:58.55ID:figcYQ1/今は
private void timer1_Tick(object sender, EventArgs e)
{
chart1.SaveImage( @"c:\picture\file1.bmp", ChartImageFormat.bmp );
}
てな感じで保存してたがこれだとtimer関数が呼ばれるたびに最新のbmpに更新されちゃうじゃん?
そうじゃなくてfile1.bmp→file2.bmpってファイル名を変更しながら、かつ連番で保存したいのよ。
0730デフォルトの名無しさん
2016/03/12(土) 02:17:59.88ID:Cxzh8R46呼ばれるたびに新しい連番でファイル名をくれる関数を作りたいと、そういうことかな?
作れよ
0731デフォルトの名無しさん
2016/03/12(土) 02:23:52.14ID:Pg5y5cFJ0732デフォルトの名無しさん
2016/03/12(土) 02:27:40.97ID:figcYQ1/その変数を引数にもってこれる関数探してたのよ
>>730
全くその通りだね作りゃいいんだよ
0733デフォルトの名無しさん
2016/03/12(土) 02:47:05.39ID:SXvAjTgT0734デフォルトの名無しさん
2016/03/12(土) 03:36:38.08ID:L1DCwZtH>Cなら簡単に書けるんだけど
に何の信頼度もないなw
0735デフォルトの名無しさん
2016/03/12(土) 04:32:33.74ID:W/VzQjI7>その変数を引数にもってこれる関数探してたのよ
その関数は何のために必要なの?探すってどういうこと?
0736デフォルトの名無しさん
2016/03/12(土) 07:10:50.65ID:jqvJyp7d0737デフォルトの名無しさん
2016/03/12(土) 08:49:10.57ID:YrRAz0CD@"〜"とかは知ってるのに変な感じ
0738デフォルトの名無しさん
2016/03/12(土) 10:52:18.89ID:mrUAeUBh>>722の「なんで」以降が今でも意味が分からない
フォルダ指定したらファイル名に連番振られると思っているのか
既に連番で保存される状態だったのか
勝手に連番で保存される仕組みを教えて欲しいという質問だったのか
まぁいいやもう
0739デフォルトの名無しさん
2016/03/12(土) 11:00:18.47ID:ScDPE6hi0740デフォルトの名無しさん
2016/03/12(土) 11:06:01.38ID:+KV61A6e0741デフォルトの名無しさん
2016/03/12(土) 11:51:27.65ID:BF07kdiSファイル名にインクリメントするだけやん
0742724
2016/03/12(土) 12:53:01.61ID:lGqei3yA0743デフォルトの名無しさん
2016/03/12(土) 14:44:52.57ID:VuT0YpOP0744デフォルトの名無しさん
2016/03/12(土) 17:47:43.68ID:BuD8qKm4使いづらいけどね。
0745デフォルトの名無しさん
2016/03/12(土) 20:46:30.44ID:Ha4s5Z7n御礼が遅くなりました
なんとか作れそうです
にしてもProとComminityの違いでセットアップの機能差があるみたいで
あんまり話題にでないのは、そもそも個人はインストーラにしない
もしくはここにいる人たちの多くがMSDNの契約してるんでしょうかね
個人でMSDNは高すぎる・・・
0746デフォルトの名無しさん
2016/03/12(土) 20:53:51.75ID:D+ovHJjX0747デフォルトの名無しさん
2016/03/12(土) 20:55:49.99ID:Ha4s5Z7nインストーラ作成してて、いくつか定義ファイルやらログファイルを配置してるんですが、
アプリケーションフォルダ(=ProgramFiles)以下に配置すると
UACの影響で書き込み禁止になるようですが、どの辺に配置するのが一般的なんでしょう
特別なフォルダとカスタム フォルダの一覧みてると
ユーザのアプリケーションデータフォルダあたりがいいのかなと思うのですが
0748デフォルトの名無しさん
2016/03/13(日) 08:47:52.37ID:NR2eE4nD0749デフォルトの名無しさん
2016/03/13(日) 14:05:35.76ID:NL2J4iJ7C# ユーザーデータ なんかで検索してみるといいかもしれません
0750デフォルトの名無しさん
2016/03/14(月) 13:13:02.75ID:/YJBtazu非同期で受信するにあたりTAP用のメソッドがNetworkStream.ReadAsyncくらいで
Socket.BeginReceive/EndReceiveをFromAsyncにしろ、そも必要量まで繰り返す必要がありますよね?
接続を省いていますが、進捗を記録しながらawaitするTaskはこんな感じで良いんでしょうか
ttp://rextester.com/AFEC18625
またSecurityTransparent下で再現するためReflectionで見苦しいですが
バッファコピー嫌いをこじらせて構造体をbyte[]に偽装する方法を
ttps://msdn.microsoft.com/ja-jp/magazine/ee216336.aspx#07
を参考に併記してみました…実用としては論外ですが、
ttp://www.shoeisha.co.jp/book/detail/9784798131795
こういった情報媒体は他にありますでしょうか
0751デフォルトの名無しさん
2016/03/15(火) 15:13:14.23ID:KvsR8/Gz他のボタンを押すときに1回では反応しなくて、2回目でようやく動くようになっています。
これを1回で動かせるにはどうしたらいいのですか?
ちなみに、1回目を押した時は最初に押したボタンがなぜか動いてしまいます。
while (true)
{
System.Threading.Thread.Sleep(1000); // 何か重たい処理をしている
System.Windows.Forms.Application.DoEvents();
}
0752デフォルトの名無しさん
2016/03/15(火) 15:32:01.11ID:+DfKA9FJそもそもUIスレッドで重い処理をやってはいけない
Taskを使いましょう
0753デフォルトの名無しさん
2016/03/15(火) 16:20:23.98ID:3u8EBx5i0754751
2016/03/15(火) 18:49:58.88ID:KvsR8/Gzマルチスレッドの中からUIを操作するのに何かいい方法とかありますか?
0755デフォルトの名無しさん
2016/03/15(火) 18:53:51.98ID:3u8EBx5i0756デフォルトの名無しさん
2016/03/15(火) 19:18:52.54ID:x8ac31Poその関数にasyncつけて
await Task.Run( () => {
while (true) {
Thread.Sleep( 1000 ); // 重たい処理
}
} );
するだけだぞ
マルチスレッドとも違う
0757デフォルトの名無しさん
2016/03/15(火) 19:24:38.25ID:oaSHh/yi>マルチスレッドとも違う
じゃあ何よ?
0758デフォルトの名無しさん
2016/03/15(火) 19:27:11.81ID:fKrfRSAbかなりの信頼度で
0759デフォルトの名無しさん
2016/03/15(火) 19:27:21.17ID:x8ac31Po名称の話ね
0760デフォルトの名無しさん
2016/03/15(火) 20:12:07.92ID:vo+Hs1Nz0761デフォルトの名無しさん
2016/03/15(火) 20:20:20.51ID:c86ep1iyまぁ、素のスレッド(Threadクラス)とは違うって言いたいんだろうけど。
0762デフォルトの名無しさん
2016/03/15(火) 20:20:49.49ID:gaRdEdMo0763デフォルトの名無しさん
2016/03/15(火) 20:51:26.77ID:NmzGpKQh>>754
UI 触る際は、全部 Control.Invoke すればいい
0764デフォルトの名無しさん
2016/03/15(火) 21:25:02.02ID:Ws7H0HSi0765デフォルトの名無しさん
2016/03/15(火) 21:32:27.57ID:8gRlWETeVC# 2010を使っています
debug状態の場合、フォームにデバッグと表示させたいんですが
リリースビルドでもdebugと表示されます
デバッグタブのソリューションをビルドってところを押して作ってるんですがどうもうまくいきません
以下のように書いてあるんですがどこがおかしいんでしょうか?
#if DEBUG
this.Text = "Hoge" + " " + dt.ToString("yyMMdd") + " debug";
#else
this.Text = "Hoge" + " " + dt.ToString("yyMMdd");
#endif
0766デフォルトの名無しさん
2016/03/15(火) 22:04:48.76ID:MeMJMMXV手元に2010はないので憶測で申し訳ないがリリースビルドできてないのでは?
>デバッグタブのソリューションをビルド
ってあることから推測すると、これ Expressエディション初期設定のままで
「ビルド」タブがないんじゃないだろうか。
"VC#2010 Express" + "リリースビルド" もしくは "ビルド構成"
でググればでてくるよ。
0767デフォルトの名無しさん
2016/03/16(水) 00:23:56.26ID:xtohJGyv上級者設定するとビルドタブが出てきました
ソリューションのビルド、ソリューションのリビルドとあるんですが
どちらで試してもダメでした
このやり方でも最初のやり方でもReleaseフォルダのほうに実行ファイルは作成されるんですが・・・
どこが間違ってるんでしょうか・・・
0768デフォルトの名無しさん
2016/03/16(水) 00:53:27.02ID:NQIFMv0Eプロジェクトプロパティ ビルド の
Releaseの時にもDEBUG定数の定義にチェックしちゃってるとか?
0769デフォルトの名無しさん
2016/03/16(水) 17:29:43.17ID:xtohJGyvドンピシャでした
これチェック入れる意味ってあるんですか?
0770デフォルトの名無しさん
2016/03/16(水) 19:21:39.15ID:IfupV2OLプロジェクトを作成した段階では、Releaseビルド:DEBUG定数のチェックあり、Debugビルド:DEBUG定数のチェック無し、だったはず。
知らないうちにチェックしちゃったんだろう。
0771デフォルトの名無しさん
2016/03/16(水) 22:16:44.18ID:UTAfeHjA画面遷移毎に関連のテーブルを読み込んでいるんだけど、
(画面オープン前にテーブル読込、閉じるときにテーブル保存)
SSHでサーバにつないでいるせいか、どうも画面オープンクローズがもっさり、
場合によっては一瞬固まったようになるんだけど、何かいい方法はないですかね
1.接続元のIP制限でSSH限定にしているのをやめて、普通にデータベースにつなぐ
2.ソフト起動時に全部のデータテーブル(30テーブルくらい)を読み込んでメモリにおいて処理させる
3.画面遷移毎に待機ウィンドウ(読み込み中とか接続中とか)を表示させてお茶を濁す
4.他になんかいい方法
ちなみに件数は1000人程度の規模です
0772デフォルトの名無しさん
2016/03/16(水) 23:00:29.27ID:9JZqYKnkデータ量か接続方式か画面表示かのどれがネックになっているのか明確にしてから対処した方がいいんじゃね
0773デフォルトの名無しさん
2016/03/17(木) 00:39:50.83ID:DH11HTt+変化が激しいか滅多に変化しないか全く変化しないのか
データのリアルタイム性は重要か否か
更新同期の遅延はどれぐらいまで許されるか
0774デフォルトの名無しさん
2016/03/17(木) 04:32:40.34ID:lAT8nDZsサーバへのアクセスは全部非同期にする。
0775デフォルトの名無しさん
2016/03/17(木) 07:01:55.08ID:6lnObOb9デバックで明らかにSSH接続でもたついてるのは確認しております
ローカルでテストしてたときは全く問題もなかったので気づきませんでした
>>773 >>774
ありがとうございます 勉強になります
規模が小さく、クライアントの制限はいくらでも検討できるので、非同期がよさそうですね
データが大きく(サーバデータを復号化してる)時間がかかるものは既に待機ウィンドウをだして
割り切っているので、それ以外のもったりしている部分は時間も短いので非同期で処理させてみます
0776デフォルトの名無しさん
2016/03/17(木) 16:23:01.25ID:wUOVr7Ap0777デフォルトの名無しさん
2016/03/17(木) 17:13:12.50ID:cUhfMVVt�@C\hoge\adb.exeを起動する。
�A�@で起動したadb.exeに「adb connect localhost」と送る。
�B�@で起動したadb.exeに「adb install hoge.apk」と送る。
これをC#でコーディングする為にはどのようにしたら良いでしょうか?
コマンドプロンプトからなら、下記でよいのですが。。。
�@「cd C\hoge\」
�A「adb connect localhost」
�B「adb install hoge.apk」
0778デフォルトの名無しさん
2016/03/17(木) 18:01:49.91ID:yET/+Bsj> �@C\hoge\adb.exeを起動する。
> �@「cd C\hoge\」
言ってることとやってることが違うんだが
そもそも C# でやる必要あるのか?
0779デフォルトの名無しさん
2016/03/17(木) 18:18:43.42ID:6vpeEsf+0780デフォルトの名無しさん
2016/03/17(木) 18:22:55.43ID:FXTW4Zd2受け元はどういう形態で、送るときはどんな方法なのかで
いろいろ選択肢あると思うよ
0781777
2016/03/17(木) 18:33:56.32ID:k9Ac/m8rProcess.Start("C\hoge\adb.exe", "install hoge.apk");
で出来ました
0782デフォルトの名無しさん
2016/03/17(木) 19:13:00.96ID:zypiDVh20783デフォルトの名無しさん
2016/03/17(木) 20:22:48.25ID:lAT8nDZsxs.Zip(xs.Skip(1), (x, x1) => ....)
0784デフォルトの名無しさん
2016/03/17(木) 20:25:56.18ID:AwXKLuqn以下のようなコードを書いたのですが、動きませんでした
どのように書けば動くでしょうか?よろしくお願いします。
System.Diagnostics.Process p = new System.Diagnostics.Process();
p.StartInfo.FileName = "cmd";
p.StartInfo.Arguments = @"net user >> C:\temp\test.txt";
p.Start();
p.WaitForExit();
p.Dispose();
0785784
2016/03/17(木) 20:34:46.64ID:AwXKLuqn下記のコードで実行できました
p.StartInfo.Arguments = @"/c net user >> C:\temp\test.txt";
/cがなんで必要なのか理解できていませんが
お騒がせしました
0786デフォルトの名無しさん
2016/03/17(木) 20:42:09.26ID:3RlNVkhM0787デフォルトの名無しさん
2016/03/17(木) 22:51:47.04ID:Esqi9kfr0788デフォルトの名無しさん
2016/03/18(金) 10:27:43.93ID:EtGFR5kG嫌、初心者だろ
2chの機能も文化も知らなかったら普通にそうなるだろ。と言うか俺も最初javaスレでそうだったけど
0789デフォルトの名無しさん
2016/03/18(金) 11:45:57.38ID:wtkaVUei釣りだよ
その証拠に回答があっても出てこないだろ
0790デフォルトの名無しさん
2016/03/18(金) 18:00:17.70ID:7CN4SEqZ「降順にソートする「Array.Reverse」は、昇順にソートされた配列でないとうまく並び替わらない。」
というページを見つけました。
MSDNによればList<T>.Reverse メソッドは「全体の要素の順序を反転させます。」とのことなので
.Sortによる昇順ソートの後の.Reverseは結果として降順になるとしても降順ソートをしているわけではないのでは?と思うのですが
それこそが降順ソートであるかのように記述しているページが他にも目につきます。
まだラムダ式を理解しておらず自分で試せないのですが
本当の降順ソートは.Sortでラムダ式による条件付けによって可能、という考え方で正しいでしょうか?
0791デフォルトの名無しさん
2016/03/18(金) 18:07:02.12ID:xC+m2h2rReverseはひっくり返すだけ
0792デフォルトの名無しさん
2016/03/18(金) 18:09:55.93ID:7CN4SEqZちょっと手ごわいですがデリゲートやラムダ式を避けずに本気で勉強します。
0793デフォルトの名無しさん
2016/03/18(金) 18:35:33.07ID:8wtm22vK全然手強くないから安心してよい。
0794デフォルトの名無しさん
2016/03/19(土) 15:09:22.08ID:pjwNQ5ho実際の所C#で作ったWindowsFormアプリとかって不具合でるの?
Frameworkのバージョンがあってれば基本的に問題なく動くと考えていいのかね
APIとかいじってるアプリだとトラブルになるんかな
0795デフォルトの名無しさん
2016/03/19(土) 15:23:59.03ID:oERruzZR基本的に問題なく動くよ。
APIいじってる一部のアプリがトラブったりするのはC#に限らないけど、そんなにない印象。
0796デフォルトの名無しさん
2016/03/19(土) 15:24:39.92ID:kSF9iKJu0797デフォルトの名無しさん
2016/03/19(土) 16:00:18.84ID:pjwNQ5ho標準フォント変わったってことは、メイリオとか使ってる場合レイアウトが崩れちゃうのかな・・・
0798デフォルトの名無しさん
2016/03/20(日) 05:30:27.33ID:BKY+bqXr0799デフォルトの名無しさん
2016/03/20(日) 07:16:06.49ID:TtjNwfG2デバッグが必要になるような処理があるのが間違い
0800デフォルトの名無しさん
2016/03/20(日) 07:43:15.71ID:P5LbtOo8デバッグでLINQ内のブレークポイントで実行が止まらないという話なら
それはコードがLINQ部分の結果を参照するようになってないからかも
LINQのコードがあっても、
それはそこに IEnumerabole な何かを返すメソッドっぽいものが作られるだけで
その結果を要求しなければ実行されないから
(LINQを書くだけでそれが実行されると思っていた人談)
0801デフォルトの名無しさん
2016/03/20(日) 07:49:55.23ID:P5LbtOo8それにどうして2chは自分の投稿を消せないのかしら
あたしはもっと勉強しないとね!
あんたたちもがんばるのよ!
0802デフォルトの名無しさん
2016/03/20(日) 18:07:11.14ID:BKY+bqXrレスありがとうございました。LINQ勉強中です。
var list = new List<string>();
があって、中身が
"line0"
"line1"
"line2"
"line3"
"line4"
"line5"
"line6"
...
の場合に、3つごとに区切る為に、
"line0"
"line1"
"line2"
"---"
"line3"
"line4"
"line5"
"---"
"line6"
...
のように行を追加したいのですが、LINQか何かで一行で出来ますか?
0803デフォルトの名無しさん
2016/03/20(日) 18:15:16.99ID:ErMiG78dとあるbyte[]があって、jpgだったりxlsxだったりtxtだったりするんですが
一度HDDに書き込んでProcess.Start("hoge.txt")ってのはできたんですけど
これをメモリ上から拡張子に関連付けられたソフトで開くことはできますか
0804デフォルトの名無しさん
2016/03/20(日) 18:18:06.03ID:TtjNwfG2SelectManyとFizzBuzz方式だな
0805デフォルトの名無しさん
2016/03/20(日) 18:19:38.85ID:9URbr6kI0806デフォルトの名無しさん
2016/03/20(日) 18:36:45.53ID:3N1O8Tp2まっとうな方法じゃできない
普通に書き出すのが一番
0807803
2016/03/20(日) 19:06:04.87ID:ErMiG78dできないですか・・
ありがとうございます
実はこのデータRDBに格納したBLOBデータなんですが
テキストやエクセル程度なら一時フィアルに書き出してもいいけど
数GBの動画となるとちょっとしんどいですね
これをやろうとするとストリーミング再生のようなことになるんでしょうか
できればRDBにパスを書いて動画ファイルは別の場所に保存するというような方法ではなく
BLOBから直接再生したいんですが通常はどのような手法が取られるんでしょうか
0808デフォルトの名無しさん
2016/03/20(日) 19:27:27.14ID:bOQIaBhIローカルでHTTPサーバーを立ち上げて動画のストリームを返すようにしたら?
あとは適当な動画プレイヤーでlocalhostのURLを開けば再生できるはず
0809803
2016/03/20(日) 20:10:27.52ID:ErMiG78d試しにメタファイル作って実行したら普通の動画ファイルなら再生できました
ここからはRDBの話になると思うのでちょっと自分で調べてみます
ありがとうございました
0810デフォルトの名無しさん
2016/03/20(日) 20:20:19.16ID:iVk0Iind自分のソフトの中で再生すればいけるよ
wpfのmediaelementなんか使えばいい
0811デフォルトの名無しさん
2016/03/20(日) 21:23:49.23ID:bUgPXm32Ix使えば可
list.Buffer(3).Select(v => v.Concat("---")).SelectMany(v => v)
勉強中ならyield使ったオレオレメソッド作った方がいいかも
0812デフォルトの名無しさん
2016/03/20(日) 22:28:04.42ID:TtjNwfG2list.SelectMany((v, i) => (0 < i && i % 3 == 0) ? new[] { “―“, v } : new[] { v })
0813デフォルトの名無しさん
2016/03/20(日) 22:43:04.62ID:FNKfjbupLinqPad使うと良い
0814デフォルトの名無しさん
2016/03/20(日) 23:23:21.52ID:BKY+bqXr君ら、抜群に頭いいな。
どうやったらこんなのを書けるようになるんだ?
0815デフォルトの名無しさん
2016/03/20(日) 23:25:28.08ID:whFkoaF4コードの中でピースサインを出してやがるぜ
0816デフォルトの名無しさん
2016/03/20(日) 23:44:53.73ID:wXobkPts0817デフォルトの名無しさん
2016/03/20(日) 23:47:33.47ID:jb5oaDyo(^_^)v
0818デフォルトの名無しさん
2016/03/21(月) 10:19:55.65ID:6JHA5k3eVS2015でもイケる
0819デフォルトの名無しさん
2016/03/21(月) 13:29:12.66ID:4cS+3k42File.ReadAllLines()
で読む場合、何度も繰り返し読み込んでも二回目以降は
メモリにキャッシュされているのでしょうか?
だから毎回HDDから読み込むことはないですか?
なおファイルの中身は変更ありません。
0820デフォルトの名無しさん
2016/03/21(月) 13:39:29.77ID:b4wXoPlv0821デフォルトの名無しさん
2016/03/21(月) 13:45:02.98ID:hsUtGejtされるだろうが.Netの機能では無いよ
0822デフォルトの名無しさん
2016/03/21(月) 17:41:43.09ID:4cS+3k42どっちでしょうか?
実際にやってみると、キャッシュされているような感じなのですが。
MSDMかどこかにそのあたりの挙動について解説したものがありましたら教えて下さい。
0823デフォルトの名無しさん
2016/03/21(月) 18:01:28.64ID:M4s+f/Sic#ではなく、OSの機能。
普通にファイルから読み込んだら、OSのキャッシュに格納される。
キャッシュの中にデータが残ってる限りはHDDからのロードは発生しない。
0824デフォルトの名無しさん
2016/03/21(月) 18:02:05.19ID:6JHA5k3e0825デフォルトの名無しさん
2016/03/21(月) 18:06:38.66ID:b4wXoPlv0826デフォルトの名無しさん
2016/03/21(月) 18:08:29.68ID:Q2tTgw28クリーンなコードを書ける中級者になったらパフォーマンスチューニングを教える
0827デフォルトの名無しさん
2016/03/21(月) 18:15:22.35ID:Hn4IbzUF10メガくらいならメモリに保持しておけばいい
最近のパソコンなら余裕でしょ
0828デフォルトの名無しさん
2016/03/21(月) 18:25:22.84ID:/mDd90vyサーバーとかだと普通に重要なチューニングだから知っておくべき
0829デフォルトの名無しさん
2016/03/21(月) 18:45:04.87ID:h9VOC2Oy0830デフォルトの名無しさん
2016/03/21(月) 18:49:33.46ID:obXy8T3zADODBのRecordsetだと、UPDATE文を使用しなくても
SELECT文を投げた結果に対して行のFieldごとに代入を行い、
Update()を行うことで選択行の更新が可能でしたが、
ADO.NETでも選択した行の値を書き換えるようなことはできますでしょうか?
0831デフォルトの名無しさん
2016/03/21(月) 18:58:22.75ID:4cS+3k42>かな。
されない場合もあると言う事ですか?
>>825>>826
初心者とは言っていませんが。
>>828
知っているなら正解を教えて下さい。
0832デフォルトの名無しさん
2016/03/21(月) 19:03:47.72ID:4Jtkcok3レガシADOほど柔軟で適当でフリーダムな作りじゃないよ
0833デフォルトの名無しさん
2016/03/21(月) 19:09:38.83ID:M4s+f/Siこのスレッドのタイトルを読み返してみたら。
初心者じゃないなら、スレチになるんですが。
0834デフォルトの名無しさん
2016/03/21(月) 19:13:16.85ID:6JHA5k3eその意味で使った訳では無いが、OSがキャッシュする前提な作りにするべきではない。
0835デフォルトの名無しさん
2016/03/21(月) 19:30:24.45ID:b4wXoPlvサーバーのチューニングするときに覚えりゃいいだろ
サーバーのチューニングが必要になる人生とは限らないんだから
0836デフォルトの名無しさん
2016/03/22(火) 01:20:39.82ID:g/fJ83XLC#と.NETについてならMSDNに書いてないことは保証されてない
キャッシュするかどうかは書かれてないと思ったが
もっと正確に知りたければReferenceSourceで見ればよい
OSレベルならキャッシュをすることはある。もちろん、無限にキャッシュできるわけがないのでキャッシュされないことがあるのは明らか
0837デフォルトの名無しさん
2016/03/22(火) 09:08:00.77ID:JYZJ7vRG0838デフォルトの名無しさん
2016/03/22(火) 09:57:25.53ID:gfEFmwP9ばらつきがあり1ファイル1〜50MBくらいになってしまいます
自分のみが使うアプリなんですがさすがに分割したほうがいいと思うのですが
どうやって分割させたらいいでしょうか?
0839デフォルトの名無しさん
2016/03/22(火) 19:30:42.44ID:ql/QukOv分割ダウンロードしたいってなら分かるけど
0840デフォルトの名無しさん
2016/03/22(火) 20:09:50.32ID:d7VxBLgh本人待ちですね
0841838
2016/03/22(火) 23:31:57.31ID:gfEFmwP90842デフォルトの名無しさん
2016/03/23(水) 08:21:36.20ID:MyZZ6VQi50MB程度は瞬殺だと思うが?
0843デフォルトの名無しさん
2016/03/23(水) 10:56:52.16ID:cttIRKe80844デフォルトの名無しさん
2016/03/23(水) 11:07:42.99ID:aZQz0QX+0845デフォルトの名無しさん
2016/03/23(水) 12:14:05.58ID:VzK80P8k50MBのhtmlって見たことないな
どこからダウンロードしてるの?
0846デフォルトの名無しさん
2016/03/23(水) 12:30:33.14ID:7LX6EcRj0847デフォルトの名無しさん
2016/03/23(水) 13:16:33.31ID:h1SS+4Lg0848デフォルトの名無しさん
2016/03/23(水) 13:38:55.83ID:cttIRKe80849デフォルトの名無しさん
2016/03/23(水) 17:38:49.37ID:lC/5Is6nインデントとか考えたら結局最初から読まないとダメなんじゃないのか
まあ俺なら整形は整形だけするプログラム作って、表示は別プログラムでやるけど
0850デフォルトの名無しさん
2016/03/23(水) 19:50:48.64ID:vn5ES+njNotePad ですら数十MB のファイルが開けると言うのに、今どきどんだけショボいエディタ使ってるんだよ w
0851デフォルトの名無しさん
2016/03/23(水) 19:54:23.25ID:h1SS+4Lgメモ帳とさくら
0852デフォルトの名無しさん
2016/03/23(水) 20:06:21.29ID:vn5ES+njWindows 95 で使ってるのか? w
0853デフォルトの名無しさん
2016/03/23(水) 20:15:46.08ID:h1SS+4LgWindows95って何?10が最高だろw95って未来人かよwww
今10使っているよ
0854デフォルトの名無しさん
2016/03/23(水) 20:17:35.36ID:h1SS+4Lg95とかマジであったの?バージョン番号下がったのかよ
0855デフォルトの名無しさん
2016/03/23(水) 20:19:14.19ID:ZnRlRvR00856デフォルトの名無しさん
2016/03/23(水) 20:20:37.22ID:h1SS+4Lg0857デフォルトの名無しさん
2016/03/23(水) 20:22:21.51ID:h1SS+4Lgは?
0858デフォルトの名無しさん
2016/03/23(水) 20:26:05.49ID:JT2FURwc0859デフォルトの名無しさん
2016/03/23(水) 20:27:46.30ID:EbFHSE4c0860デフォルトの名無しさん
2016/03/23(水) 20:33:29.48ID:Xg+FpMWq真っ黒なのですがどうすればいいでしょうか?
0861デフォルトの名無しさん
2016/03/23(水) 22:34:09.70ID:h1SS+4Lgそりゃそーだろ
掛け算してみろよ。100000000も点があるんだぞ
1PXRGBAで4byteだから400000000byte=400000KB=400MB
メモリは足りたとしても、処理能力足りる訳ねーじゃん
0862デフォルトの名無しさん
2016/03/24(木) 01:16:04.08ID:QGSSWnLXおもしろくないよ
0863デフォルトの名無しさん
2016/03/24(木) 03:06:05.36ID:JYtPWttvWindows 98
Windows 9まで入力したら候補(サジェスチョン)がでてきてイヤだから
Windows 9は、なくなったという説が有力(?)
Windows
ten ate nine.
というジョーク(?)もあった
0864デフォルトの名無しさん
2016/03/24(木) 03:06:59.24ID:JYtPWttvSeven ate nine.
0865デフォルトの名無しさん
2016/03/24(木) 06:48:03.50ID:8ovFShck結局50MBのhtmlって何なんだよ
0866デフォルトの名無しさん
2016/03/24(木) 07:01:37.97ID:S8D7nx7D何ピクセルまで大丈夫なものなんでしょう?
環境次第なんでしょうか・・・
0867デフォルトの名無しさん
2016/03/24(木) 08:36:31.04ID:DrdY7S0T0868デフォルトの名無しさん
2016/03/24(木) 09:28:50.06ID:6exViKif0869デフォルトの名無しさん
2016/03/24(木) 09:33:29.86ID:RWWxbY4p理由すら示さずに
他人にタダで調べさせようとするのだろう
0870デフォルトの名無しさん
2016/03/24(木) 09:53:42.37ID:Rki2qjgrチンカスが俺様の役に立てるんだから光栄に思いなさいって
タダで?
わざわざ君らを使ってやっているのだから、むしろ君らが金を払うべきだ
0871838
2016/03/24(木) 10:51:06.06ID:ua9fhlEiレス遅れてすいません
いくつかのページに分かれているんですが、検索しにくいので
ダウンロードした後整形し、一つのファイルにまとめようと思ったんです
0872デフォルトの名無しさん
2016/03/24(木) 11:50:20.48ID:UVpZ5bmk・一つにまとめた
・大きくなったから分割したい
ちょっと何言ってるか分からないです
0873デフォルトの名無しさん
2016/03/24(木) 12:06:59.02ID:ZIvggI2u検索したいデータだけ抽出したDBを作って元ファイルに紐つけする
妙な横着はしない
0874デフォルトの名無しさん
2016/03/24(木) 15:48:35.50ID:iWtUKQ1R10000*10000で24bitのBitmap作ってみたけど、普通に読み込めたぞ
0875デフォルトの名無しさん
2016/03/24(木) 19:19:48.06ID:1Pk/6FTZtesseract-ocrのv3.02を使い始めて詰まっているので質問させてください。
ゲーム画像なので、関係ない部分を認識してしまう
日本語と英語を混在させた文章を取得する方法
画像から文字を学習させ、学習ファイルを作る方法
この3点を調べてみたのですが、思うようなサイトに行き着くことが出来ませんでした。
詳しい方が居たら教えて下さい
0876デフォルトの名無しさん
2016/03/24(木) 19:29:22.44ID:fDFqHgVh文字なんぞ学習せんでもテンプレートマッチングで探せるだろ
0877デフォルトの名無しさん
2016/03/24(木) 19:31:11.45ID:YnxOCpos本格的にやりたいなら画像認識やOCRを勉強しろや。
画像を行に切り分け、さらに文字に分けて、文字のイメージに対して
パターンマッチを行うという段取りになる。
文字が固定ピッチでなければ、文字幅も推定しないといけないから難易度が上がる。
0878デフォルトの名無しさん
2016/03/24(木) 20:17:24.93ID:7GAAjqXq将棋の棋譜でーたべーす新着棋譜という所からいつも手作業で棋譜をダウンロード(コピー)しています。
http://kifdatabase.no-ip.org/shogi/index.php?lan=jp&page=registerdfile
所が、日によっては数十局の棋譜がアップされていて(これ自体は嬉しいのですが)、なんとかもっと手間を省けないか?と思いました。
で、検索してみると以下のc#のソースを見つけました。
using System;
using System.IO;
using System.Net;
using System.Text;
public class WebClientGet2 {
static void Main() {
WebClient wc = new WebClient();
Stream st = wc.OpenRead("http://www.google.co.jp/");
Encoding enc = Encoding.GetEncoding("Shift_JIS");
StreamReader sr = new StreamReader(st, enc);
string html = sr.ReadToEnd();
sr.Close();
st.Close();
Console.WriteLine(html);
}
}
これはコマンドプロンプトからちゃんと動作するのですが、url部分を個々の
http://kifdatabase.no-ip.org/shogi/index.php?cmd=kif&cmds=displaytxt&kid=86523
とすると、index.phpに引数があるせい?かエラーになります。
何かヒントだけで構いませんのでどうご教授お願いいたします。
0879デフォルトの名無しさん
2016/03/24(木) 20:23:35.78ID:mu7KO5mX0880デフォルトの名無しさん
2016/03/24(木) 20:53:17.46ID:7GAAjqXqありがとうございます!できました!
でもcmd画面では文字化けしてるw
しかし、頑張ります\(^o^)/
0881デフォルトの名無しさん
2016/03/24(木) 21:50:55.49ID:iMhXoYci0882デフォルトの名無しさん
2016/03/24(木) 22:10:45.93ID:7GAAjqXq>>881様
本当にありがとうございます。
今日仕事休みだったんで一日検索してあーだこーだとやってました。
悩まずに最初から2chの天才達に聞いてたら良かったよ〜〜
0883デフォルトの名無しさん
2016/03/24(木) 22:17:08.40ID:7GAAjqXq0884デフォルトの名無しさん
2016/03/25(金) 01:28:01.02ID:pyz7rRkq右クリックしたときの座標から、そこにあるListViewItemを取得しようと考えています。
Point pnt = //(RightTappedイベントのe.GetPositionから取得)
foreach ( ListViewItem item in listView0.Items )
{
Rect r = LayoutInformation.GetLayoutSlot(item);
if ( r.Contains(pnt) )
{
int index = listView0.Items.IndexOf(item);
//略
}
}
としたのですが、ListViewがスクロールされていないときは正しいindexが取得できても、
スクロールするとその分だけずれてindexが取得されてしまうのですが、
絶対的な位置としてindexを取得するにはどうすればよいのでしょうか?
0885デフォルトの名無しさん
2016/03/25(金) 01:59:18.82ID:pyz7rRkqListViewのRightTappedじゃなくて、ListViewItemのほうのRightTappedで
senderからIndexOfを使ったらちゃんとIndexが取得できました。
0886デフォルトの名無しさん
2016/03/25(金) 05:56:46.84ID:3LVwdA0O0887デフォルトの名無しさん
2016/03/25(金) 08:54:49.36ID:gXWNloXYTimeZoneInfoで大体事足りない?
0888デフォルトの名無しさん
2016/03/26(土) 04:08:54.42ID:cJ2I9PUcいけそうです。ありがとう!
0889デフォルトの名無しさん
2016/03/26(土) 20:37:23.25ID:2ol6CGldprocess.ErrorDataReceived、process.OutputDataReceivedが非UIスレッドから呼び出されているらしく
「このオブジェクトは別のスレッドに所有されているため、呼び出しスレッドはこのオブジェクトにアクセスできません。」という例外が発生してしまいました
Dispatcher.Invoke(() => {
this.LogText.Text = $"{b.Data}\n+{this.LogText.Text}";
});
と書き直したら動いたのですが、asyncを使ってもDispatcherが必要な場所は残っているのでしょうか
async void get(String tsPath) {
Process process = new Process();
process.StartInfo.FileName = hogeExe;
process.StartInfo.UseShellExecute = false;
process.StartInfo.Arguments = hogeArg;
process.StartInfo.RedirectStandardError = true;
process.StartInfo.RedirectStandardOutput = true;
process.Start();
process.ErrorDataReceived += (a, b) => {
this.LogText.Text = $"{b.Data}\n+{this.LogText.Text}";
};
process.OutputDataReceived += (a, b) => {
this.LogText.Text = $"{b.Data}\n+{this.LogText.Text}";
};
process.BeginOutputReadLine();
process.BeginErrorReadLine();
while (true) {
await Task.Delay(100);
if (process.HasExited) {
break;
}
}
}
0890デフォルトの名無しさん
2016/03/26(土) 20:51:52.28ID:3yyPK4PSawaitしておけばTaskの完了待ちの後の処理を手続き的に書けるってだけだから
Taskとは関係ないBegin.../...DataReceivedはasyncとも無関係
0891デフォルトの名無しさん
2016/03/26(土) 22:13:22.71ID:JTPZx14B>$"{b.Data}\n+{this.LogText.Text}";
が気になった。
こんな書き方あるんだ
0892デフォルトの名無しさん
2016/03/26(土) 22:55:52.41ID:2ol6CGld全然別なのか・・ありがとうございます
また別の質問なのですが、Invokeをしたつもりが
「このオブジェクトは別のスレッドに〜」と同じ例外が発生してしまいました
process.ErrorDataReceived += (a, b) => {
Inline inline = new Run(b.Data.Trim());
inline.Foreground = new SolidColorBrush(Colors.Red);
this.Dispatcher.Invoke(() => {
Paragraph paragraph = new Paragraph();
paragraph.Inlines.Add(inline); // ここで例外発生
paragraph.Margin = new Thickness(0, 0, 0, 0);
this.rTextBox.Document.Blocks.Add(paragraph);
});
};
ところが、System.Windows.Documents.RunのインスタンスをInvokeの中で作成すると例外が発生しません。
process.ErrorDataReceived += (a, b) => {
this.Dispatcher.Invoke(() => {
Inline inline = new Run(b.Data.Trim());//この二行をInvokeの中に移動
inline.Foreground = new SolidColorBrush(Colors.Red);
Paragraph paragraph = new Paragraph();
〜略
System.Windows.Documents.Run型をUIスレッドの中で作成しないといけないっぽいのですが
こういう情報はどこで判断すればいいのでしょうか。エラーが出るまで気がつかないのでつらい
0893デフォルトの名無しさん
2016/03/26(土) 23:33:39.35ID:49/EBncaいやWPFのほぼ全てのオブジェクトはそれを作成したスレッド以外から触れないよ
個別に判断することではなく、基本的に常にInvokeが必要
https://msdn.microsoft.com/ja-jp/library/system.windows.threading.dispatcherobject(v=vs.110).aspx
0894デフォルトの名無しさん
2016/03/27(日) 01:12:26.83ID:SCgfhgdVなるほど、892で言う所のthis.rTextBox.Document.Blocks.Addの瞬間だけUIスレッドならいいって事でもないんですね
ありがとうございます
0895デフォルトの名無しさん
2016/03/27(日) 01:39:47.92ID:SHcx2AsGテンプレートマッチをopencvでやってみてるけど、
解像度によって画像の大きさ変わるからうまくいかないみたい
面白そうだから引き続きいろいろやってみようと思うけど、
opencvでテンプレート画像と比較画像のスケールや角度が違うときって
どうすればいいんだろう?
0896デフォルトの名無しさん
2016/03/27(日) 18:25:52.27ID:+OxcJi2S動作安定性としてはどんなもんでしょうかね
不具合やバージョンアップの更新をしやすくするのにUSB上において業務時間外にUSBを送ってもらって更新できたら
なんて考えているんですが
0897デフォルトの名無しさん
2016/03/27(日) 18:39:48.78ID:QEGUX1RVexeの一つや二つ起動したところで不安定になんぞならんだろ
なるなら粗悪メディア使ってんだろ
0898デフォルトの名無しさん
2016/03/27(日) 18:40:05.05ID:AY0lVF3m業務アプリなら、不具合対応するために不具合要因増やすとか本末転倒にも程があるだろと
0899デフォルトの名無しさん
2016/03/27(日) 18:45:26.75ID:hmC+p4e8ClickOnceでいいじゃん
0900デフォルトの名無しさん
2016/03/27(日) 18:49:16.21ID:WvnNChXc0901デフォルトの名無しさん
2016/03/27(日) 18:50:01.14ID:MdJCnp0YしかしUSBはどこも取り扱い厳しいから逆にめんどくさい気がするな
0902デフォルトの名無しさん
2016/03/27(日) 18:53:23.89ID:rK0WYN/a繋がっていないのならUSBメモリ郵送とかありだとは思う
0903デフォルトの名無しさん
2016/03/28(月) 04:49:32.83ID:/fTNoARJ0904デフォルトの名無しさん
2016/03/28(月) 09:55:36.50ID:ygmp/osz0905デフォルトの名無しさん
2016/03/28(月) 10:01:25.72ID:fnS4lEb6幼稚園でも通ってろ
0906デフォルトの名無しさん
2016/03/28(月) 10:02:17.35ID:fnS4lEb60907デフォルトの名無しさん
2016/03/28(月) 10:19:00.95ID:ygmp/osz0908デフォルトの名無しさん
2016/03/28(月) 10:22:42.32ID:2+pvgNzaUSBだと実行中に抜かれたりしてトラブルの種が増える可能性が
安定性ということならそれに起因した不安定さは出ないでしょ
0909デフォルトの名無しさん
2016/03/28(月) 10:47:42.90ID:6qm5OXnT非同期処理中の他のクラスから、Form1クラスのcheckbox1のcheckedプロパティを見たい場合
ってどういうふうに実装するのがいいんですか?
http://ideone.com/eNa7qy
今はこんな風に書いているんですが、これが普通なんでしょうか?
0910デフォルトの名無しさん
2016/03/28(月) 11:39:11.67ID:lVsmAcUx中断ボタンがあれば、中断ボタンの押下に伴ってキャンセルを発行するでしょうから
0911デフォルトの名無しさん
2016/03/28(月) 11:40:31.48ID:lVsmAcUxキャンセルを発行するでしょうから、それと同じフローが使えるように設計します
0912デフォルトの名無しさん
2016/03/28(月) 11:55:48.36ID:KS9P8GMVまぁあえてその方法でやるなら、checkbox1にアクセスする部分をデリゲートとして
Form1から与えてやるかな。
AnotherClassがForm1の実装に依存するのは避けたい。
0913デフォルトの名無しさん
2016/03/28(月) 12:47:54.90ID:6qm5OXnT>>910-911
どういう風に通知するんでしょうか?
http://ideone.com/eNa7qy
書き換えましたがこんな感じですか?
非同期処理中、キャンセル発行はしたいんですがどうやればいいのかわからなくて・・・
>>912
最初のやり方だとプロパティを何個も書かないといけないので
スマートなやり方はないかと模索していてなるべく冗長性を無くして且つ
変更があっても修正を最小限にしようと考えたらこんなコードになっただけです
この方法でやりたいわけではないです
0914デフォルトの名無しさん
2016/03/29(火) 20:00:43.93ID:0lvLpsJp連番の棋譜を一つのテキストファイルに保存するのが目標でしたが、
なんとか希望通りのプログラムができました。
エンコードの変換とか、改行文字の混在とか、ブロック内の変数はローカル変数だとか、
思わぬところでいろいろ悩みましたが、勉強になりました。
回答下さった方々、どうもありがとうございました。
0915デフォルトの名無しさん
2016/03/30(水) 22:07:43.36ID:Qpr27ZjLC#で監視アプリを作って認識有無のログを残そうと思ってます。
USB機器のハードウェアIDを指定して認識している(デバイスマネージャー上に表示されてる)
かどうかをどうやって取得すればいいのかが検討つかず困っています。
どなたかヒント頂けないでしょうか?
Windowsの標準コマンドラインツールで確認できればそっちの方がより簡単にできそうですが、
ググってもなかなかいい情報にヒットしないです。
0916デフォルトの名無しさん
2016/03/30(水) 22:41:47.00ID:hXsOH1FB0917デフォルトの名無しさん
2016/03/30(水) 22:44:22.98ID:vU4fdoft0918913
2016/03/30(水) 23:53:29.57ID:HiEW2Vw00919デフォルトの名無しさん
2016/03/31(木) 00:38:57.12ID:qmtiSjJGSystem.ServiceProcessのServiceController.GetDevices()でデバイス一覧が配列で取れる
DisplayNameあたりで目的のデバイスを特定してStatusを確認する
0920デフォルトの名無しさん
2016/03/31(木) 01:26:14.14ID:U/jPHVt7メーカー名とか型番とかその他諸々を取得するのには
SetupDiEnumDeviceInfoとかSetupDiGetDeviceRegistryPropertyを使う
reinterpret castを多用することになるのでC#だと面倒だったよ
C++も兼用するのがおすすめ
0921デフォルトの名無しさん
2016/03/31(木) 02:22:10.78ID:IBAanxlLServiceController.GetDevices()はデバイス ドライバーの列挙だから違うんじゃない。
0922>>915
2016/03/31(木) 22:27:49.93ID:rN3sqB5bいろいろ提案していただいた内容を検索した時に、
devcon.exeでデバイスの状態を拾えるということがわかり、
そちらでうまく動作することを確認しました。
0923デフォルトの名無しさん
2016/04/01(金) 06:33:41.09ID:PU9mDoTr0924デフォルトの名無しさん
2016/04/02(土) 11:05:18.08ID:XLNgYD7p// POST 実施
StringBuilder bld = new StringBuilder();
bld.Append(postMessage);
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(requestUri);
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded; charset=UTF-8";
request.ContentLength = bld.Length;
using (var writer = new StreamWriter(await request.GetRequestStreamAsync(), Encoding.UTF8))
{
await writer.WriteAsync(bld.ToString());
} // <-ここを通過するときに例外
例外を確認すると、
「System.Net.WebException: 要求は中止されました: 要求が取り消されました ---> System.IO.IOException: すべてのバイトが書き込まれるまでストリームを閉じることはできません。」
と表紙されているので、非同期での書き込みに当たって、書き込み後に完了を待たずに閉じているため、とは
推測できているのですが、上記の書き方(await writer.WriteAsync()、await writer.WriteAsync())では、待ってくれないのでしょうか?
また、本来はどのように書くのが良いのでしょうか?
0925デフォルトの名無しさん
2016/04/02(土) 12:17:53.86ID:4w3IMT/e0926デフォルトの名無しさん
2016/04/02(土) 12:36:25.02ID:qn4Qbb7/0927デフォルトの名無しさん
2016/04/02(土) 12:39:29.64ID:qFlCuIW1言語仕様上はいけるだろ
でも実装されてないかも知れない
0928デフォルトの名無しさん
2016/04/02(土) 12:41:57.83ID:Qox/OFtGusingでもいいはずだけどそのコードを含んでるメソッド自体がasyncでないとダメ
0929913
2016/04/02(土) 14:23:40.41ID:kecLueQQ0930デフォルトの名無しさん
2016/04/02(土) 14:41:03.59ID:Zebn1E4e何を訊きたいのか、焦点がぼやけてるからじゃない?
キャンセルしたいなら、AnotherClassのフィールドにフラグを用意しておいて、
DoWorkの中でそのフラグをチェックすればいいよ。
単純だけど悪かないでしょ。
0931デフォルトの名無しさん
2016/04/03(日) 19:27:05.34ID:IQvchWal異なるスレッドからのフォーム処理にはInvokeを介すといいよ
0932デフォルトの名無しさん
2016/04/04(月) 01:04:21.89ID:FhdBY7IF久しぶりに聞いたな
0933デフォルトの名無しさん
2016/04/04(月) 09:31:21.94ID:784WR3n+おすすめ書籍とかサイトがあれば知りたいです。
0934デフォルトの名無しさん
2016/04/04(月) 09:36:28.68ID:JBBxdS8b次のVisual Studioに統合されて無償提供されるので、それまで待ってからのほうが
良いのでは。
0935デフォルトの名無しさん
2016/04/04(月) 13:11:54.70ID:H3nMOzrh0936デフォルトの名無しさん
2016/04/04(月) 13:14:12.19ID:/zxPAX6+次の?もうフリーでしょ
0937デフォルトの名無しさん
2016/04/04(月) 15:03:19.73ID:vSnInZMj0938913
2016/04/04(月) 23:13:58.69ID:NYVvhLfTレス遅くなってすいません
リファクタリング的なことをやっているんですが、現在クラス間の依存が強くて設計を見直しています
今はこうなっていてhttp://ideone.com/JNRIBt
修正してhttp://ideone.com/eNa7qyな感じにしたんですが
Invokeの呼び出しは上記のようにするしかないんですか?
0939デフォルトの名無しさん
2016/04/05(火) 00:00:18.54ID:mDmXAcnHその状態でC#の言語仕様の差分だけを追う情報ってドコ見ればいいでしょう?
0940デフォルトの名無しさん
2016/04/05(火) 00:08:41.38ID:mkt28m6nUpdate2の関係かな?一応コンソール使えばインストールできるみたいで実害はないようだが
0941デフォルトの名無しさん
2016/04/05(火) 01:59:26.41ID:1f1z5N/y文字列の2次元配列に1次配列を一度に入れることってできないのでしょうか?
string[ , ] aaa = new string[10,10];
string[] bbb = {"A","B","C","D","E","F","G","H","I","J"};
aaaの1行目(aaa[0,0]から[0,9])にbbbの文字10個を一度に代入したいのですが
for文などを使って1つずつ入れるしか無いのでしょうか?
できれば、1次配列に1次配列を代入するのと同じ漢字にしたいのですが
0942デフォルトの名無しさん
2016/04/05(火) 02:40:14.69ID:TIoT0Lhjhttps://social.msdn.microsoft.com/Forums/ja-JP/927791a3-1e0c-4092-a280-b1a22fcaa436/nuget-
これ?
>>941
二次元配列だと基本的に無理
配列の配列 string[][] は?
0943デフォルトの名無しさん
2016/04/05(火) 03:21:12.53ID:1f1z5N/yやっぱりむりなんですね
今のところ、forでループ処理して入れてますが、数がおおくなると
途中でスリープ処理でも入れないとエラーでそう・・・
配列の配列っていうのは、ジャグ配列?のことですよね
ちょっと勉強してそれも試してみます、ありがとうございました。
0944デフォルトの名無しさん
2016/04/05(火) 03:55:38.18ID:TIoT0Lhj全く意味が分からない
0945デフォルトの名無しさん
2016/04/05(火) 06:12:16.60ID:NJC2/a+U処理の抜け落ちとか気にしてるんだろうね。
>>943
そんな心配いらん。
0946デフォルトの名無しさん
2016/04/05(火) 08:48:24.49ID:ZKWkWwlM0947デフォルトの名無しさん
2016/04/05(火) 08:49:57.16ID:QnxublUV0948デフォルトの名無しさん
2016/04/05(火) 09:16:11.85ID:2gQR6HMxそーゆうもんなの?
0949デフォルトの名無しさん
2016/04/05(火) 10:24:59.70ID:F8KWDDTe髪の毛と同じだよ
0950デフォルトの名無しさん
2016/04/05(火) 11:04:21.59ID:1XHDBZBdいくつかのサイトを巡って、データベースダイアグラムにテーブルを表示させるところまでは行ったのですが、
テーブル間のリレーションがなされてない状態になっていました。
(もとのDBからなっていない?)
データベースダイアグラムからリレーションの設定が出来ると思っていたのですが、その手段が分かりません。
どのような手順でリレーションを設定すれば良いのでしょか?
0951デフォルトの名無しさん
2016/04/05(火) 11:57:34.13ID:aw2Xx+nHこれじゃないかな
https://msdn.microsoft.com/ja-jp/data/jj713299
0952デフォルトの名無しさん
2016/04/05(火) 12:29:14.70ID:2gQR6HMx読めねーよw
0953デフォルトの名無しさん
2016/04/05(火) 12:42:43.36ID:LO5FfC68適正ないからやめとけ
0954デフォルトの名無しさん
2016/04/05(火) 13:16:58.78ID:mkt28m6nありがとう助かりました
0955デフォルトの名無しさん
2016/04/05(火) 13:36:17.89ID:2gQR6HMxはぁ?英語読めないから適性ないって、どんだけー
0956デフォルトの名無しさん
2016/04/05(火) 13:49:56.05ID:2GAdYW/60957デフォルトの名無しさん
2016/04/05(火) 14:24:23.40ID:F8KWDDTeだったら、SQLiteをGuiでいじれるフリーソフツを使えばいいじゃないか。
Accessみたいにな。
0958デフォルトの名無しさん
2016/04/05(火) 16:06:43.53ID:mkt28m6nsqlite使うならado.net直接書いたほうが良い
0959デフォルトの名無しさん
2016/04/05(火) 17:51:25.11ID:QnxublUV0960デフォルトの名無しさん
2016/04/05(火) 18:01:00.36ID:ppnKHRiK0961デフォルトの名無しさん
2016/04/05(火) 21:15:29.15ID:LO5FfC68お前優しいな
0962デフォルトの名無しさん
2016/04/05(火) 23:00:08.97ID:MjjeTxTxキーワードとサンプルコードだけ拾えば十分
0963デフォルトの名無しさん
2016/04/05(火) 23:53:40.37ID:p/7kx4ly0964デフォルトの名無しさん
2016/04/06(水) 00:18:54.78ID:O67tyKAA読めない時点でお察し
0965デフォルトの名無しさん
2016/04/06(水) 08:18:51.17ID:y1UF9DzI読めない段階でそいつの行動のすべてが無駄。存在自体も。
0966デフォルトの名無しさん
2016/04/06(水) 17:31:45.07ID:iOXwiMsPHDDの中を一杯にしたいんですが、めちゃくちゃ書き込みが遅いです
ソースはこれなんですけど、どうやったらもっと早く書き込むことができますか?
http://ideone.com/TmtHdI
0967デフォルトの名無しさん
2016/04/06(水) 18:12:38.24ID:aVcyhcq8RAMディスクを使ってみたらどうだろう?
フリーのやつもあるし容量も自由自在だ
0968デフォルトの名無しさん
2016/04/06(水) 18:42:14.74ID:C8NNHPSW0969デフォルトの名無しさん
2016/04/06(水) 18:47:05.00ID:VMMJJZfg別の適当なテンポラリファイル作る
using (var fs = new FileStream("temp.tmp", FileMode.Create)) {
fs.SetLength(HDDの残りからちょっと少なくした値);
}
一瞬で何百GBのファイルでも作れる
0970デフォルトの名無しさん
2016/04/06(水) 19:21:58.39ID:2iLtJTEN0971デフォルトの名無しさん
2016/04/06(水) 19:57:35.49ID:qohl0JPcfsutil じゃダメなん?
http://www.atmarkit.co.jp/ait/spv/0209/28/news002.html
0972デフォルトの名無しさん
2016/04/06(水) 22:52:57.91ID:dZLJKVedやってみればよろし
0973デフォルトの名無しさん
2016/04/07(木) 00:10:34.72ID:HUDXTSTdボタンが押される→押されたボタンを判断→押されたボタンのテキストで条件分岐して処理
みたいなことをしたいんだけど、どうすればいいんでしょうか?
0974デフォルトの名無しさん
2016/04/07(木) 00:18:47.02ID:C8VOMaBsやってみて、できないからきいとるんです!
0975デフォルトの名無しさん
2016/04/07(木) 00:20:08.56ID:C8VOMaBs共通イベントでフォーム呼び出し時にコンストラクタにテキスト渡せば
0976デフォルトの名無しさん
2016/04/07(木) 00:57:04.17ID:HUDXTSTdありがとう、できたわ
0977デフォルトの名無しさん
2016/04/07(木) 01:07:08.92ID:ea+ftv7O自分で実装すると、floatやdoubleよりもかなり遅くなりますか?
0978デフォルトの名無しさん
2016/04/07(木) 01:38:45.06ID:x7qKwayU0979デフォルトの名無しさん
2016/04/07(木) 02:06:51.84ID:ea+ftv7O0980デフォルトの名無しさん
2016/04/07(木) 02:15:36.30ID:qhI2bqCdアセンブラとか使うべきな環境じゃない?
0981デフォルトの名無しさん
2016/04/07(木) 02:19:50.02ID:MFeNVwlK0982デフォルトの名無しさん
2016/04/07(木) 06:02:35.12ID:C8VOMaBsデシマル一択
0983デフォルトの名無しさん
2016/04/07(木) 08:13:38.68ID:tKPXKh3z遅くなるとか よく初心者がこういう事口にする奴いるけれどさ
そもそも、おまえそんなレベルのアプリケーション作れないだろ?そして作れる奴は
自分でなんとかできるww
0984デフォルトの名無しさん
2016/04/07(木) 09:57:59.66ID:GrKexH5a0985デフォルトの名無しさん
2016/04/07(木) 10:04:16.82ID:tKPXKh3zもう春はおしまいで、梅雨に入るんだろう
0986デフォルトの名無しさん
2016/04/07(木) 10:14:14.73ID:WuhhdB+c0987デフォルトの名無しさん
2016/04/07(木) 10:21:12.79ID:Gx3Tacp4あるなら速攻引っ越す
0988デフォルトの名無しさん
2016/04/07(木) 10:26:00.40ID:NYvIcmpK常春の街、エクアドルのキトなどどうですか?
赤道直下ながら高地にあるため年中春です
http://www2m.biglobe.ne.jp/ZenTech/world/kion/Ecuador/Quito.htm
0989デフォルトの名無しさん
2016/04/07(木) 10:54:50.74ID:KQXqoRw30990デフォルトの名無しさん
2016/04/07(木) 10:59:27.52ID:tKPXKh3zイチゴ栽培で生活できそうだな。
0991デフォルトの名無しさん
2016/04/07(木) 13:13:44.64ID:14QRXbFJデータセンターの中おすすめ
0992デフォルトの名無しさん
2016/04/07(木) 13:41:36.99ID:rDHOIKsL0993デフォルトの名無しさん
2016/04/07(木) 19:48:16.75ID:ZHSN5lwT日本人はバカみたいにガンガンエアコン使うから暑過ぎるんだよ
クソッタレジャップ全滅しろ
0994966
2016/04/07(木) 22:50:28.47ID:m8p2yxBO>>969案でやってみたんですが、ディスクの空き容量3KBで
base.WriteByte()でIOException例外が発生します
35行目なんですがなぜなんでしょうか?
http://ideone.com/bH1dNN
0995デフォルトの名無しさん
2016/04/07(木) 23:35:24.09ID:qhI2bqCd0996デフォルトの名無しさん
2016/04/07(木) 23:51:23.09ID:qhI2bqCdふらっと C#,C♯,C#(初心者用) Part120 [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1460040653/
0997デフォルトの名無しさん
2016/04/08(金) 00:40:49.23ID:+GCiuXQC乙
0998デフォルトの名無しさん
2016/04/08(金) 01:34:39.19ID:mOlgqJFI0999デフォルトの名無しさん
2016/04/08(金) 01:35:45.69ID:mOlgqJFI1000デフォルトの名無しさん
2016/04/08(金) 01:36:35.67ID:mOlgqJFI1000なら俺は天才プログラマーになるために生まれ変わる
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
life time: 68日 0時間 44分 15秒
10021002
Over 1000Thread運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 2ちゃんねる専用ブラウザからの広告除去
★ 2ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
http://premium.2ch.net/
http://pink-chan-store.myshopify.com/
レス数が1000を超えています。これ以上書き込みはできません。