333:デフォルトの名無しさん
19/01/18 17:56:23.24 3+zdHjT80.net
新人言うても30歳超えの中途ね
コスパ良いんだわ
年食ってると従順でパワハラにも耐える
そう言えば20代新人とか見たことない
存在するのかね
334:デフォルトの名無しさん
19/01/18 18:53:47.09 LKOsIFRz0.net
すまんがIT企業の闇と経験年数詐欺の手法はマ板でやってくれんか?
ム板は数年後のプログラミング教育必修化に向けてフレッシュでさわやかな若者向けの板に改装する予定なんだが
335:デフォルトの名無しさん
19/01/18 19:22:42.59 LUo6T6YMr.net
おまえが改装するの?
336:デフォルトの名無しさん
19/01/18 19:45:43.10 adSAogxL0.net
マ板話をム板でするなハゲ
337:デフォルトの名無しさん
19/01/18 19:57:21.94 zUd1LnnRd.net
>>325
ハゲ・ヅラ板の話をム板でやるなよ
338:デフォルトの名無しさん
19/01/18 20:48:28.34 LKOsIFRz0.net
早いところプログラミング必修化してほしいもんだぜ
会社の愚痴とブラック会社アピールが「プログラミングのお話」だと思ってるオッサン多すぎ
339:デフォルトの名無しさん
19/01/18 21:54:37.77 v/mpstOM0.net
IT業界の非正規形態に未来がなさ過ぎて辛い
いかんいかん 楽しい気持ちでラムダ練習せねば
340:デフォルトの名無しさん
19/01/18 22:02:21.54 BJ9hxZ250.net
↓プログラミングを必修化した結果
URLリンク(pbs.twimg.com)
341:デフォルトの名無しさん
19/01/18 22:16:50.60 v/K+38IX0.net
なんかちがう
342:デフォルトの名無しさん
19/01/18 22:41:31.47 yv7JhRUX0.net
そもそも資格試験は政治家の天下り先がつくってる
いみない
なぜなら資格を作ってるところの役員事態は
知識がないのだから。
343:デフォルトの名無しさん
19/01/18 22:57:58.37 1ZiD/8V00.net
文字列から数字をtmpWとtmpHに抜き出すクラスを作りたいのですがどうしたらいいですか?
演算子記号は+−もある、数字の桁数は不明で小数点もあり、数字が入るときは小文字一字始まり、引数はw or hで抜き出す戻り値を示す。
対象文字
①w900×HH
②WW×h1000
③WW×HH
④w900/h100
結果 引数がwなら左 hなら右
①tmpW=900 tmpH=""
②tmpW="" tmpH=1000
③tmpW="" tmpH=""
④tmpW=900 tmpH=1000
344:デフォルトの名無しさん
19/01/18 23:04:40.52 qic/InUuM.net
数字文字列は尻からスキャンが定石か
345:デフォルトの名無しさん
19/01/18 23:09:53.93 FQpSYkdr0.net
正規表現で抜けば?
346:デフォルトの名無しさん
19/01/18 23:11:37.85 OxZoH0bi0.net
>>317
ありがとうございます。調べてみます
>>318
ありがとうございます。しかし同じくキャンセル出来ませんでした
347:デフォルトの名無しさん
19/01/18 23:58:07.57 JDQsFvp5a.net
フォルダの中に万単位でファイル作ってGetFiles()テストしたことがあったけど
10年以上前のPCでも非同期にしなきゃならんほど遅くなかったと思ったけどなあ
普通に遅い原因はユーザーコードの方にあるんじゃないの
348:デフォルトの名無しさん
19/01/19 00:06:23.94 h3VcH88n0.net
10年前のPCはそこまで性能悪くないだろ
349:デフォルトの名無しさん
19/01/19 00:41:04.18 pEXPsY3Y0.net
>>332
文字列を×/区切りの前後でsplit
それぞれの先頭がwhなら以降を戻り値
350:デフォルトの名無しさん
19/01/19 01:20:56.46 2Tiw7zAQa.net
>>336
誰と話してるの
351:デフォルトの名無しさん
19/01/19 05:18:33.12 M8Q3zGyy0.net
>>332
今ちょうど過疎ってるお題スレにちょうど良さげなのでお題スレにコピペさせてもらおう。
352:デフォルトの名無しさん
19/01/19 07:28:05.47 +IqL7b8U0.net
>>334に一票
353:デフォルトの名無しさん
19/01/19 08:43:09.59 hupcYVyzM.net
>>332
④が難題だな。どうやって実現しようかなぁ
354:デフォルトの名無しさん
19/01/19 08:48:50.91 Oo+kKfbG0.net
indexOfとLowerでイケるんちゃうか?
355:デフォルトの名無しさん
19/01/19 08:49:22.84 Oo+kKfbG0.net
あとsplit
356:デフォルトの名無しさん
19/01/19 14:47:58.46 +IqL7b8U0.net
>>342
確かに w
まあtypoだろうからスルーしてやれよ
357:デフォルトの名無しさん
19/01/19 17:07:22.10 FJgPPckz0.net
脊髄反射で書いたので添削頼む。
public static string[] GetHW(string input)
{
string[] returnval = new string[2];
string[] temp = input.Split('+','-','*','/');
if (temp[0].StartsWith("w", StringComparison.Ordinal))
temp[0] = temp[0].TrimStart('w').Insert(0, "tmpW=");
else if (temp[0].StartsWith("WW", StringComparison.Ordinal))
temp[0] = "tmpW=\" \"";
else
temp[0] = "それ以外の何か";
if (temp[1].StartsWith("h", StringComparison.Ordinal))
temp[1] = temp[1].TrimStart('h').Insert(0, "tmpH=");
else if (temp[1].StartsWith("HH", StringComparison.Ordinal))
temp[1] = "tmpH=\" \"";
else
temp[1] = "それ以外の何か";
return temp;
}
358:デフォルトの名無しさん
19/01/19 17:11:32.02 FJgPPckz0.net
あ、Replaceでよかった。
returnvalも無意味。
359:デフォルトの名無しさん
19/01/19 17:39:42.56 FJgPPckz0.net
1文で
public static string GetHW(string input)
{
return input.Replace("w", "tmpW=",StringComparison.Ordinal)
.Replace("h", "tmpH=", StringComparison.Ordinal)
.Replace("WW", "tmp=\" \"", StringComparison.Ordinal)
.Replace("HH", "tmp=\" \"", StringComparison.Ordinal)
.Replace("+", " ", StringComparison.Ordinal)
.Replace("-", " ", StringComparison.Ordinal)
.Replace("*", " ", StringComparison.Ordinal)
.Replace("/", " ", StringComparison.Ordinal);
}
360:デフォルトの名無しさん
19/01/19 18:47:09.81 jmND9WvPa.net
>>332
質問内容はともかく、プログラマならもうちょっと読み手が推測で補完しなくても
内容を過不足なくきっちり読み取れるような文章を書いた方がいいと思う。
ってういか、率直に言って日本語変だよw
361:デフォルトの名無しさん
19/01/19 18:53:12.69 +IqL7b8U0.net
文章はともかくサンプルデータと結果を書いてるのは褒めてもいいと思うよ
他の質問者もぜひ見習って欲しい
362:デフォルトの名無しさん
19/01/19 19:00:37.08 ov6XiAZ2M.net
競技プログラミングの問題文よりましだろ
363:デフォルトの名無しさん
19/01/19 19:36:35.93 PaRH8QDQF.net
独学手探りで勉強しながら作っていたアプリケーションが一応形になったので
折角だから公開してみようと思っているんですが、
デバッグやライセンス確認など、リリース前に確認する事、の知識が全くないことに気づきました
少額ながら有料公開にしようと考えている為、
最低限これとこれは確認しないと、って物を教えて頂きたいです
364:デフォルトの名無しさん
19/01/19 19:39:05.53 9NMu+pMT0.net
>>352
なんのアプリケーションかも分からないし、答えようがない
365:デフォルトの名無しさん
19/01/19 19:41:36.75 FJgPPckz0.net
有料ってことは、不具合に対する改善要求が来る可能性もあるので、責任の範囲(逃げ道)を明確にしておく。
366:デフォルトの名無しさん
19/01/19 19:42:32.49 XwZdf3VkM.net
>>349
そこは、「あなた、日本語お上手ですね!」で煽らないと
367:デフォルトの名無しさん
19/01/19 19:53:49.36 oPTngqYr0.net
煽ってどうすんだよガイジ
368:デフォルトの名無しさん
19/01/19 20:31:17.01 h4R+weTi0.net
>>313
今の所、普通に使っていて2.2にはならないのか
ありがとう
369:デフォルトの名無しさん
19/01/19 21:00:12.97 jmND9WvPa.net
>>332
まあ、適当に忖度して書いてみた
普段正規表現あんまり使う機会がないんでどっかおかしいかもしれん
URLリンク(ideone.com)
370:デフォルトの名無しさん
19/01/19 21:02:54.87 BW5TF7JUa.net
>>352
ヘタしたら訴訟沙汰になりかねないからやめとけ
まずはベータ版
371:として無料で配るとかして様子を見るべき
372:デフォルトの名無しさん
19/01/19 21:59:06.23 +chQE6yt0.net
>>352
・C#で作ってるならデコンパイルされても大丈夫か確認しておく
・GPL汚染に注意する
373:デフォルトの名無しさん
19/01/20 23:51:42.85 NEqE5pSC0.net
ソフトで商売って労力に見合わないな
キラーソフトでも作れればそれだけで暮らせるんだろうけど
374:デフォルトの名無しさん
19/01/21 00:00:18.20 lx5Y5NZb0.net
ニッチな分野か、あるいは既存ソフトより高性能であれば有料でも売れる可能性はある
375:デフォルトの名無しさん
19/01/21 01:05:58.77 +LWwKYuDa.net
業務アプリなら大したスキル無くてもやってることがビジネスとして正しくてちゃんと営業すれば売れるよ
今時ツール系で稼ぐのはまあ無理
376:
19/01/21 05:02:51.88 BX1YVz9RH.net
>>362
業務にての使用を公認されるためには、有料(シェア)ソフトの方が有利なようですよ、秀丸とか
377:デフォルトの名無しさん
19/01/21 07:23:38.48 EWbXmLTJ0.net
ASPばかりしてたらWinFormの作り方忘れた
つか今だにWinFormの案件あるのかね
小ツールはコンソールアプリで作っちゃうから勝手が思い出せない
378:デフォルトの名無しさん
19/01/21 07:27:48.21 V744VEzgd.net
>>346
>>348
ありがとうございます!調べてやってみます!
379:デフォルトの名無しさん
19/01/21 07:41:57.18 A1e+SXhY0.net
ASPの案件がある方が驚きだわ
380:デフォルトの名無しさん
19/01/21 07:46:49.66 1hBKI8k2D.net
>>367
大手はWindowsServer入れてる率が多い気がする
381:デフォルトの名無しさん
19/01/21 07:54:57.12 BPZ4z+V2d.net
>>368
ASP.NET(かもしくはASP.NET Core)やろってツッコミじゃね?
382:デフォルトの名無しさん
19/01/21 08:07:17.42 pqXwpH4cd.net
ASPはもうASP.NETに移行済んでるものと思ってた
383:デフォルトの名無しさん
19/01/21 08:20:46.33 V744VEzgd.net
>>358
わざわざ有難うございます!
これも書いて勉強してみます!
384:デフォルトの名無しさん
19/01/21 10:03:06.25 HJdNRmJRM.net
開発マシン XP32bitでVS2005で作ったC++のdllを同じくVS2005で作ったC# WinFormアプリでDllImportを使って利用しています。
Win10 64bitで実行するとC++の関数をコールすると
間違ったフォーマットのプログラムを読み込もうとしました。(HRESULTからの例外: 0x8007000B)
となります。
同じ事をwin7 64bitのVS2013で作ったアプリでしても(当然)問題なく動きます。
VS2005で作ったアプリで動かす方法はないでしょうか。
385:デフォルトの名無しさん
19/01/21 10:21:26.36 yj1nRareM.net
プロジェクト設定でany cpu になっている部分をx86にしなされ
386:デフォルトの名無しさん
19/01/21 11:03:04.79 HJdNRmJRM.net
>>373
ありがとうございます!
無事動作しました!
387:デフォルトの名無しさん
19/01/21 12:12:30.14 1DQQx7qk0.net
新規プロジェクトをVBでやりたがるPMにC#をオススメしたいのですが、C#が決定的に優れてる点はあるでしょうか?
VB読みにくいなんて言っても苦しむのはお前だろ関係ないという雰囲気で
388:デフォルトの名無しさん
19/01/21 12:30:08.86 eMR7WidkM.net
ループの評価とコーディング量かな
手持ちプロジェクトをSharpDevelopで変換してみなされ
389:デフォルトの名無しさん
19/01/21 12:44:54.58 9okmCQOjM.net
プログラマの品質
実際にC#使うかVB使うかはどうでもいいが、要員をC#経験者に限定することでリスクは格段に下がる
390:デフォルトの名無しさん
19/01/21 12:55:35.86 qfMy6igJ0.net
ネットに転がってるサンプルコードの量
(ちょっと慣れればすぐに読み替えられ�
391:驍謔、になるってのは秘密)
392:デフォルトの名無しさん
19/01/21 13:14:20.48 dccJtP51d.net
>>377
担当PGは決まってるんだからそんなこと言っても説得力なし
393:デフォルトの名無しさん
19/01/21 13:48:30.91 NM3vIbDMa.net
日本人を説得するのはこれが一番
URLリンク(yellow.ribbon.to)
実際問題.NETの世界ではC#が標準で「みんな」が使ってる。
逆にあえて非標準のVBを使う理由って何なんですかと聞いてやればいい
もう少し合理的な人なら、ラムダ式とか、デリゲートのadd/removeに演算子が使えることとか、
三項演算子とか、null合体演算子とか、代入演算子が右辺の値を返す式であるとか、
プロパティーのいろんな省略記法とか、C#ならいかに簡潔にかけて同じことをVBでやるといかに冗長になるか
具体例を見せてやればいいよ
394:デフォルトの名無しさん
19/01/21 14:10:03.70 NbFzEAOW0.net
>>380
> ラムダ式とか、デリゲートのadd/removeに演算子が使えることとか、
> 三項演算子とか、null合体演算子とか、代入演算子が右辺の値を返す式であるとか、
> プロパティーのいろんな省略記法とか、
単なる印象だけど>>375のところのPMはそう言うのを嫌いそうな気がする
395:デフォルトの名無しさん
19/01/21 16:35:43.35 trZhU3Ina.net
Labelを貼って、そのTextを空白にしたらデザイン画面でクリックできなくなってしまったのですが
どうやって選択状態にしたらいいのでしょうか
396:デフォルトの名無しさん
19/01/21 17:01:29.53 NM3vIbDMa.net
>>382
デザイナで以下のどれかの操作をする
(a) [ctrl] + z
(b) マウスでそのラベルがあったあたりをドラッグ
(c) [ctrl] + [alt] + t
(d) プロパティウィンドウの上部のドロップダウンで選択
397:デフォルトの名無しさん
19/01/21 17:54:05.53 trZhU3Ina.net
>>383
ありがとうございます
C案でやらせていただきました
398:375
19/01/21 18:26:05.83 1DQQx7qk0.net
PM的にはVBのが簡単で人員の確保が容易との理由ですが、イベントリスナにクラスレスで全処理書くベテランエンジニアの意向を汲んでるんだと思います
自分はサンプルの多さとC系で無い記述に不慣れという理由でC#を希望しましたが、ベテランに寄せられるんだろうなと諦めムードです
ちなみにベテランのスマートUIは芸術の域で若輩の自分には追従不可です
コード量も多く見積りが高く出来るとPMからも信頼されています
399:デフォルトの名無しさん
19/01/21 18:37:52.16 PrrgsGFM0.net
今2019年やぞ……。
生産性を上げる技術を入れる気が無い、そのPMにはC#のメリットはメリットに見えないだろうなぁ。
ベテランは古い技術と心中できるけども……
400:デフォルトの名無しさん
19/01/21 19:12:08.60 R3pW/ayE0.net
ループ内で一時変数宣言したらコストが増えるってのを知って
新しいブロック作って変数宣言してみたけどなんか見た目がすっきりしない
ループ内の変数宣言の新機能とかないのかな
401:デフォルトの名無しさん
19/01/21 19:14:47.05 FhYMYDcaa.net
>>386
生産性って言葉は立場や状況によって指してるものが変わるんやで
402:デフォルトの名無しさん
19/01/21 19:26:17.46 tYy/rBPTM.net
ソフトウェア作れると言うとソフト作って売って大儲けできるんじゃないかと
よく言われる
世間はそういう感じで見てる
403:デフォルトの名無しさん
19/01/21 19:27:19.80 0j7Aeluod.net
権力持ってる人がVB推しなら決定でしょ
できることはほぼ同じだし諦めな
404:デフォルトの名無しさん
19/01/21 19:36:49.44 lF845d4L0.net
>>387
コストが増えるってローカル変数が増える事?
初期化するスタックの増加
405:やレジスタに乗りづらくなるとか? さほど気にするもんでも…とりあえずAnyCPUで64bit優先オヌヌヌ
406:デフォルトの名無しさん
19/01/21 19:59:33.83 2/OM9doDa.net
>>386
意識高めても虚しいだけだよ
10年この仕事して啓蒙もしたけどなにも変わらなかった
9割5分の人材はそもそもシステム開発に興味ないから啓蒙しても無駄
転職するか割り切るかどちらかしかない
環境を変えようと思ったら負け
407:デフォルトの名無しさん
19/01/22 05:26:41.64 1xYsQegz0.net
正規表現パズルやってたのか・・・参加したかった
408:デフォルトの名無しさん
19/01/22 12:26:50.15 vFo5wc3/a.net
パズル言うほど難しい問題出てない気が...
どっちかっていうと質問自体の方がハズ(
正規表現便利だけど他人の書いたの読むのキツいよねw
しょっちゅう使ってれば違うのかもしれんが
409:デフォルトの名無しさん
19/01/22 15:21:12.16 pHhZylOrM.net
ややこい正規表現の場合
コメントで想定okパターンくらいは書くようにしてる
410:デフォルトの名無しさん
19/01/22 15:22:14.22 pHhZylOrM.net
あとテストコード入れとく場合も
411:デフォルトの名無しさん
19/01/22 17:14:18.11 4H8Bkb5P0.net
フォームアプリケーションにtrackbarを2つ用意して、
pcに接続されたモノラルマイクの音量(感度?)とパンニングをそれぞれ操作したいんですが
適当な検索ワードがわからずにたどり着けませんでした
できるだけシンプルに、どう書けば可能でしょうか?
412:デフォルトの名無しさん
19/01/22 17:49:02.10 vFo5wc3/a.net
ググったらこんなのが出てきた
読んでないけどなんかすごい面倒くさそう...
URLリンク(web.archive.org)URLリンク(www.terra.dti.ne.jp)
413:デフォルトの名無しさん
19/01/22 18:36:37.95 NN+MTXVc0.net
質問です
ファイルの移動を扱う自作メソッドの結果を扱うクラス(Aとする)を作りました
このクラスに
class A{
...
public static A Output_IsCanceled(string 元のファイル) {
//引数を受けて動作をキャンセルしたことを示す結果を返す。
}
}
のように典型的な結果を出力するメソッドを追加したのですが、
このAを継承したクラスBにこのメソッドもこのメソッドを上書きしたメソッドも実装させたくありません。
なにかスマートな解決方法はあるでしょうか。
私には大人しく別のクラスに移すくらいしか思いつかないのですが。
414:デフォルトの名無しさん
19/01/22 18:49:41.50 P5rqpQdz0.net
>>399
そのメソッドを外したクラスを作ってクラスAとクラスBに継承させる
415:デフォルトの名無しさん
19/01/22 18:49:53.30 lqDMGVH00.net
親作って別々に継承
416:デフォルトの名無しさん
19/01/22 19:00:35.92 NN+MTXVc0.net
なるほど 言われてみれば簡単でしたね
ありがとうございます
417:デフォルトの名無しさん
19/01/22 22:12:29.98 ttdon+q40.net
object型の変数に入れた匿名クラスのプロパティを取得する方法で
詰まっております。
object hoge = new { fuga = 1 };
int a = hoge.fuga ←こういうイメージで取得したかったのですが。。。
ご教授よろしくお願いいたします。
418:デフォルトの名無しさん
19/01/22 22:19:56.81 bu0N7pF20.net
>>403
なんでそんなことしたいの?
419:デフォルトの名無しさん
19/01/22 22:25:46.51 ttdon+q40.net
>>404
Dapperの引数がobject型だったのですが、Dapperに渡す前の
匿名クラスのプロパティの値を元に一つ条件式を作りたかったんです
object型の匿名クラスからどうやって値を取るのか興味もありまして
420:デフォルトの名無しさん
19/01/22 22:26:33.77 qwoCd5dDa.net
ほら宇宙刑事ギャバンの必殺技みたいなあれだよ
421:デフォルトの名無しさん
19/01/22 22:39:23.63 g3EQ5hiYa.net
>>405
無理
渡す先の引数がobject型だからって変数の型をそれに合わせる必要はないだろ
var使えよ
422:デフォルトの名無しさん
19/01/22 22:41:18.57 0fUOX4Xc0.net
>>403
リフレクションを使った力業
var a = ( int )hoge.GetType().GetProperty( "fuga" ).GetValue( hoge );
423:デフォルトの名無しさん
19/01/22 22:45:23.28 UB+BgHs40.net
>>403
int a = ((dynamic)hoge).fuga;
てしたら取れた。なおインテリセンスはきかない。
424:デフォルトの名無しさん
19/01/22 22:47:54.29 N3agGC610.net
>>409
これは全く頭になかったわ
425:デフォルトの名無しさん
19/01/22 23:01:01.54 ttdon+q40.net
>>409
値が取れました。ありがとうございます。
結構トリッキーになるみたいなので
多用は避けた方が無難かと学びました
しかし、Dappreはさらにプロパティ自体も自前で取得するので
手練れの外人は違うなと
426:デフォルトの名無しさん
19/01/22 23:21:33.35 0fUOX4Xc0.net
>>411
Type.GetProperties()でプロパティの一覧が取得出来るよ。
foreach ( var propertyInfo in hoge.GetType().GetProperties() )
{
var value = propertyInfo.GetValue( hoge );
Debug.WriteLine( $"{propertyInfo.Name}={value}" );
}
427:デフォルトの名無しさん
19/01/22 23:32:00.27 ttdon+q40.net
>>412
なるほどそうやるのですね
知らないことが多いので参考になります
428:デフォルトの名無しさん
19/01/23 00:01:29.03 n+ibBTmv0.net
Androidの実機持って無いんだけど、もし、完成したC#のアプリが有った場合、
DownLoad から、実行まではどうすればいい?
.Net のインストールから始まるの?
C#アプリはGooglePly からDLするの? それとも自前のWebサイト?
429:デフォルトの名無しさん
19/01/23 03:41:42.64 g/jeFpr60.net
WPFって、最初のGUIデザインはデザイナで出来ますが、ユーザーの入力に応じてGUIを変化させたい場合
(例えば、テキストボックスに3と入力したらラベルを3つ追加するとかの場合)
xamlではなくC#のソースコードでコントロール追加せざるを得ないのでしょうか?
430:デフォルトの名無しさん
19/01/23 04:35:34.67 OkP0wizv0.net
>>411
匿名クラス使わなきゃいいやん
431:デフォルトの名無しさん
19/01/23 07:17:48.93 bZ1m5CuBM.net
>>415
wpf xaml 条件分岐
でググレ
432:デフォルトの名無しさん
19/01/23 08:30:39.69 YOQQL4jNa.net
>>415
よく考えよう
その例の場合、お前はコントロールを追加したいんじゃなくて表示対象の文字列を増やしたいんだろ?
C#からは「表示対象の文字列を追加する」操作だけをして、コントロールを追加するのはバインディングに任せるのがWPFの思想だ
>>417は間違いで、ググるべきキーワードは DataTemplate
コレクションに文字列を追加するだけで勝手にコントロールが追加されるようになる
433:デフォルトの名無しさん
19/01/23 08:36:51.99 YOQQL4jNa.net
ちなみにWebなら上記のようなまどろっこしいことをしなくてもRazorテンプレートの中に直接forループを記述するだけだ
WPFの難解なバインディングは概念ばかりが先行してユーザーを置き去りにする典型的なMSの失敗作
434:デフォルトの名無しさん
19/01/23 09:43:36.18 qi0lTRAT0.net
上の人はワケワカラン書き方しているが、wpfではListBoxのItemは自由にかけるから、そこにLabelを配置して追加削除をやるってのが定番ね
435:デフォルトの名無しさん
19/01/23 09:47:33.21 NxchbiGLM.net
>>420
間違い
Itemsには文字列のコレクションをバインドする
でItemsTemplateでDataTemplateを適用させてLabelを生成させる
436:デフォルトの名無しさん
19/01/23 11:55:57.45 tAarVqiS0.net
WPF は知らないけど、一般的に、JavaScript の状態管理なら、
Vue.js, Nuxt.js など、状態管理用のフレームワークを使う
437:デフォルトの名無しさん
19/01/23 12:40:46.32 x96ZzLYOr.net
ここは今からjavascriptのスレになりました
438:デフォルトの名無しさん
19/01/23 14:43:06.09 PhLCwjBwd.net
>>422
ウゼーーーー
439:デフォルトの名無しさん
19/01/23 17:42:05.37 yPNynzM60.net
最近、業務システムはデータベースとデータ操作言語が8割でC#はさほど重要じゃないんじゃ。。。
と疑うようになってきました
C#が主役の開発って、ゲームくらいですかね
440:デフォルトの名無しさん
19/01/23 17:50:21.87 qdiHHHQi0.net
>>425
それも統計に嘘がある可能性あり。以下、各社各様、自分に都合の良いことを行っている:
一般人:「Androidのアプリの大部分は Java である」
Unity:「百万種類以上あるゲームアプリの半数が Unity(C#)製である」
Adobe:「Flash製ゲームが、100万種類を超えた。」
日本人:「日本の歴代で一番売れたゲームは、Final Fantasy xx で、700万本(売り上げにして500億円程度)」
外人:「MineCraft というゲームの売り上げが一兆円越えた。」
441:デフォルトの名無しさん
19/01/23 19:31:40.08 qdiHHHQi0.net
誤: 外人:「MineCraft というゲームの売り上げが一兆円越えた。」
正: 外人:「MineCraft というゲームの売り上げ本数が一億本越えた。」
Flash に関しては、「one million games」みたいな言葉を使って、
Adobe が「自慢」していたんだそうだ。
442:デフォルトの名無しさん
19/01/23 20:40:29.23 2LIdCPNFa.net
>>425
ミクロサービス開発するとデータベース殆ど触らなくなる
EF便利
443:デフォルトの名無しさん
19/01/23 21:24:52.01 xzA+L1aD0.net
SQL手書き最高ひゃっはp
444:デフォルトの名無しさん
19/01/23 22:51:20.49 xSBZbPpe0.net
C#のデバッグ画面の診断ツールについて質問です
メモリ使用量のプロファイルはデフォルトで無効だと思うんですが、いつの間にかクリックしてしまって
有効になったまま無効に戻せません
VCの場合はクリックすると元に戻す出来る場所があるのですが
レジストリをいじらないと駄目なんでしょうか?
445:デフォルトの名無しさん
19/01/24 18:07:50.56 +k418LkV0.net
とりあえずVisual Studio Community 2017だと
診断ツールウィンドウの左上の歯車クリックで出るドロップダウンの
メモリ使用量のチェック外したら次のデバッグから消える
つかデフォルト有効じゃなかったっけ オンにした記憶ないし
446:デフォルトの名無しさん
19/01/24 22:08:23.88 nbtsb27b0.net
C#の話じゃないのかもわかんないけど、ちょくちょく出てくる「コンテキスト」ってのが何者なのか未だに理解できん
プログラムの単位で!?処理の中断・継続等を担ってる!?!?とかなんとか説明されてるけど意味がわからん
こいつは一体どういうもんなんじゃい?
447:デフォルトの名無しさん
19/01/24 22:17:59.01 Io4qrCW00.net
>>432
何年もC#使っているけど「コンテキストメニュー」しかわからん
またJavaの話じゃないだろうな
448:デフォルトの名無しさん
19/01/24 22:23:04.95 nbtsb27b0.net
>>433
ASP.NETでもEFでもXamarinでのモバイル開発でも、何しててもコンテキストが出て来まくるじゃない
449:デフォルトの名無しさん
19/01/24 22:34:05.54 KQvEosKo0.net
>>432
「文脈」という意味で、例えば、Graphic の Context の場合なら、
・現在の foreground color
・現在の background color
・現在の font
・「カレント座標」 (MoveTo() などで
450:設定する LintTo() の開始座標) ・現在の Clipping 領域。 ・現在の 原点の位置。 などを記録しているオブジェクトのようなこと。だから、もし、同じ Window に対して 2つの Graphic Context を持てば、それぞれで別々の カレント座標や、foreground color、Clipping Region を持つことが できて、瞬時に切り替えたりできる。これが、Win32 の Device Context に相当する。 --------------------------------------- CPU の Cotext の場合、IA32BIT の場合なら、 汎用レジスタ: EAX, EBX, ECX, EDX, ESI, EDI、EBP 命令ポインタ: EIP スタックポインタ: ESP フラグ: EFALGS セグメントレジスタ: CS, DS, ES, FS, GS 浮動小数点レジスタ: ST0~ST7 などが該当する。この Context を細かく時間を区切って切り替えることで、 MultiTask が実現できる。MultiCore CPU の場合は、それぞれの Core が 別々の Context を同時に持っていることになる。
451:デフォルトの名無しさん
19/01/24 22:36:47.07 /05KE7l40.net
>>435
ただし、JS の canvas の context は、1つの canvas に対しては、1つしか
持つことが出来ないとされており、
var ctx1 = canvas.getContext("2D");
var ctx2 = canvas.getContext("2D");
のようにしても、ctx1 と ctx2 は同じ値が返ってくることになっているらしい。
452:デフォルトの名無しさん
19/01/24 22:38:30.97 /05KE7l40.net
>>435
誤:CPU の Cotext の場合、IA32BIT の場合なら、
正:CPU の Context の場合、IA32 の場合なら、
453:デフォルトの名無しさん
19/01/24 23:11:19.24 nbtsb27b0.net
ふえるわけわかめ
454:デフォルトの名無しさん
19/01/24 23:34:17.52 9ks/14Qta.net
>>432
コンテキストの意味はコンテキストに依存するのでまずはどんなコンテキストで話してるのかはっきりしてくれ
455:デフォルトの名無しさん
19/01/24 23:41:41.55 ykheMFGu0.net
Xamarinって言ってるからAndroidのContextクラスもありそう
456:デフォルトの名無しさん
19/01/25 06:33:11.37 58XK3b4v0.net
>>438
紙に絵を書く場合に、色んな筆に予め色を載せておいて、必要なときにすぐに
目的の筆を選べるようにしておくと便利。その筆が context。
これだけだと単なる「brush」に過ぎないという突っ込みも有り得る。
実際のcontextは筆だけでなく、場所まで覚えてくれていたりする。
457:デフォルトの名無しさん
19/01/25 08:19:04.26 VVNAHEZ90.net
DCの話し?
458:デフォルトの名無しさん
19/01/25 08:57:13.43 58XK3b4v0.net
>>442
まあ、そうなんだけど、プログラミングにおける「context」というのは、
HDC と大体似たようなニュアンスを持ってると思う。
459:デフォルトの名無しさん
19/01/25 09:01:53.98 58XK3b4v0.net
日本語で、「この文脈では」「文脈をわきまえて」というものがあるけど、
直前に直線の描画を終えたばかりの「最後の座標」を覚える、っていうのが
それに近い。最後に使った色を今後も使う、最後に使った座標から、
また、直線を描き始める・・・。
お葬式では暗い顔して暗い服を着る、結婚式では明るい顔する・・・。
悪いニュースは暗い顔で読み、良いニュースは楽しそうに読む・・・。
それが文脈、context。
460:デフォルトの名無しさん
19/01/25 09:13:33.36 58XK3b4v0.net
それはそうと、.Netで書かれてるらしい MasterSeeker.exe と HNXgrep.exe
がWin7で劇遅になった。特に起動。XPではとても快適だったのに。
起動速度が多分、3~5倍くらいになった気がする。
Win32/MFCで書かれたアプリでは経験したことの無い現象だと思う。
461:デフォルトの名無しさん
19/01/25 12:14:00.12 qfUC5qIOa.net
>>432
そんなこと考えても時間の無駄。
contextの意味もcontext依存だから。
その文脈でどういう意味で使われてるか読み取るしかない。
英語ってそういう言葉でしょ?
コンピュータプログラムのcode、暗号のcode、符号のcode、
これらから還元してcodeが何を意味してるのか考えても意味ないのと同じ
462:デフォルトの名無しさん
19/01/25 12:55:33.13 YHYKY/Dsd.net
fixtureもピンとこなかった
463:デフォルトの名無しさん
19/01/25 14:04:22.53 HDgzt9Ph0.net
管理者権限を必要としないで動作するソフトを作成しました、。
仮にバグがあったとして、そのバグを突かれて攻撃された場合に権限昇格等の事態は発生しますか?
464:デフォルトの名無しさん
19/01/25 14:31:21.79 NjeEwFLO0.net
アプリケーション1とアプリケーション2の間でメッセージをやり取りする必要が出てきたので、SendMessageを使ってもう一方のテキストボックスに
メッセージを送り、TextChangedのイベントで受け取りを判断するようにしました。
ところが、アプリケーション1→2は成功するのに、2→1はうまく動作してくれません
(テキストボックスに送られたメッセージは表示されますが、テキストボックスがChangeしたとは判断されていないようです)。
原因がわかる方いらっしゃったら教えてください。
465:デフォルトの名無しさん
19/01/25 16:06:37.52 ihVRaCqt0.net
formにフォーカスしたときにスペースキーを押すとkeydownで拾って処理ということをやってるけど
スペースを押すタイミングでform内のチェックボックスがチェックされたり消したりするけど止めることは出来ますか?
ヒントを教えてください。
466:デフォルトの名無しさん
19/01/25 16:24:22.19 VVNAHEZ90.net
メッセージ捨てている?
467:デフォルトの名無しさん
19/01/25 16:35:10.05 cY+a6SZrM.net
>>448
所詮ローカルアプリだろ?
そんなもんにセキュリティの考慮なんぞ要らん
正当なユーザーに悪意があれば自分のPCの権限制御なんぞどうとでもなるし、
権限のない第三者が悪戯できない程度には今のWindowsのセキュリティは堅固だ
468:デフォルトの名無しさん
19/01/25 19:10:00.05 +fHR2Vfoa.net
>>449
MQ使っちゃいなよ
469:デフォルトの名無しさん
19/01/25 20:12:53.90 GQtzdg+pM.net
>>452
ClickOnce…一般ユーザーがインストール…悪意があったら…
うっ…頭が
470:デフォルトの名無しさん
19/01/25 20:21:06.45 9dAxHT9C0.net
ClickOnceはホリエモンが作ったらしいで
471:デフォルトの名無しさん
19/01/25 21:40:49.02 lgKiVxcFr.net
ホリエモンは天才だからな
472:デフォルトの名無しさん
19/01/25 21:50:17.27 VVNAHEZ90.net
Microsoftで仕事していたの?
473:デフォルトの名無しさん
19/01/25 22:02:24.78 RIyzEPA40.net
>>450
・KeyDown用のコントロールを設定しForm全体でキーを受けるのをやめる
・別のコントロールに常にフォーカスが当たるようにする
具体的にはクリックイベントやForm.Shownのイベントメソッドを全部作ってControl.Select()かControl.Focus()を入れる
・Formからチェックボックスを無くす
下に行くほど下策。他にもあるだろうけど他の人に任せる
474:デフォルトの名無しさん
19/01/25 22:36:20.38 0+JzU8ara.net
>>450
基本的にはそれあなたの仕様そのものがバグってる。
WindowsのUIのお約束に反するようなUIを作ったらあかん。
どうしてもならSetStyleを呼んでCheckBoxが入力フォーカスを持たないようにするのが筋だと思う。
475:デフォルトの名無しさん
19/01/26 09:41:45.11 0YlzP7hG0.net
>>458 >>459
フォーカスを何とかすることを考えます。とても為になりました。ありがとうございました。
476:デフォルトの名無しさん
19/01/28 16:07:38.67 4O8CfcWu0.net
>>449
こういう名前付きパイプとかいうのは使えないの?
URLリンク(docs.microsoft.com)
477:デフォルトの名無しさん
19/01/28 16:43:45.23 ji//xT0NF.net
TCPsocketとか使う
478:デフォルトの名無しさん
19/01/29 18:28:09.44 lSFWGay90.net
質問です
100msとかの短い間隔で繰り返す場合、
Systems.Timers.Timerを使って処理を繰り返すのと
while中にSleepかTask.Delayで間隔をとって繰り返すのとでは
どっちが処理がはやくて負荷が少ないですか?
またそれぞれのメリット・デメリットがあれば教えて欲しいです
479:デフォルトの名無しさん
19/01/29 18:32:52.89 KZd0CVbOa.net
回答待つ間にやってみたらいい
480:L
19/01/29 18:47:23.89 8rAEnTT80.net
>>463
Sleep() 自体はそんなに積極的に使うべきものではない。ただし、
「逐次処理」で書いたほうが書きやすいような場合に使うと便利
な場合がある。例えば、単なる繰り返しではない、以下のように順にコードを
実行していくような場合:
(処理1)
(何かのフラグが変化するか、または単に時間が経つまで待機)
(処理2)
(何かのフラグが変化するか、または単に時間が経つまで待機)
(処理3)
・・・
ここで、処理1、処理2・・・の内容がほとんど同じような場合は、Timer を
使うべきだが全く違うようなものが10個も並ぶような場合だったら、Sleep()
を使うと楽。
SetEvent() などの同期オブジェクトを待つ WaitForSingleObject() などがサポート
されてない環境において、何かのフラグが立つのをポーリングして待たざるを得ない
ような時に、間に何も「はさまない」でループするとCPUがフルパワー状態で回って
しまって電気の無駄使いになるのが、Sleep() を「はさむ」と、Sleep()に指定する
待ち時間がたとえ短時間であっても、Sleep() の中で待ってる間は CPU が HLT 状態
になるので、電力消費を劇的に抑えることが出来る。
WaitForSingleObject() などが存在する環境では、Sleep() は余り使わないで良い。
481:デフォルトの名無しさん
19/01/29 18:47:44.92 aKVTslCz0.net
>>463
役割が全部違う
Sleep
指定時間の間は同じスレッドでのGUI等の入力が停止する
Sleep/Task.Delay
(実行後に)確実に指定した時間が停止する
Timer
指定した間隔で実行される
482:デフォルトの名無しさん
19/01/29 18:59:35.28 8rAEnTT80.net
【参考】
Sleep() の意味は、待つときに、HLT 命令を使うこと。HLT 命令は、特権命令なので
ユーザーランド(一般アプリ)のプロセスでは実行できないため、OSのAPIで実行して
貰うしかない。なお、マルチタスクOSで、HLT 命令を実行すると、他のプロセスに実行が
移ることが多い。
多くのアーキテクチャに置いて、HLT 命令は、「busy wait」で待つよりも、
劇的に電力消費と熱の発生を抑えることが出来る:
URLリンク(en.wikipedia.org)(x86_instruction)
Almost every modern processor instruction set includes an instruction or
sleep mode which halts the processor until more work needs to be done.
In interrupt-driven processors, this instruction halts the CPU until an
external interrupt is received. On most architectures, executing such
an instruction allows the processor to significantly reduce its power
usage and heat output, which is why it is commonly used instead of
busy waiting for sleeping and idling.
483:デフォルトの名無しさん
19/01/29 19:19:24.76 BTNuwc+5a.net
>>463
どっちにしろそんな違いがプログラムのパフォーマンスに影響なんかしないw
そもそも可読性よりパフォーマンスを優先する時代じゃない。
つまりより可読的な方法を選択すべき。
一定間隔で処理を繰り返すなら普通はタイマーを使った方が可読的でしょう、
繰り返し終了後に別の処理を継続させたい、みたいな事情があればあえてループ(つまりSleep)を
選択する場合もあるかもしれない
484:デフォルトの名無しさん
19/01/29 20:17:02.92 lSFWGay90.net
>>465-468
みなさまありがとうございます。
特にSleepの解説は勉強になりました。
パフォーマンスも特に影響無いようで、
一定間隔で処理するのでTimerを利用することにします。
485:デフォルトの名無しさん
19/01/29 21:31:43.87 ftdCQ0WJa.net
this.Close()でアプリを終了させた時、
デバッグモードだとProgram.csの方でエラーが表示されますがこれは気にしなくていいエラーでしょうか?
486:デフォルトの名無しさん
19/01/29 22:05:21.74 JPJ1HyJa0.net
気にしなはれ
487:デフォルトの名無しさん
19/01/30 01:49:16.67 DZ6eQREq0.net
WinFormsのデスクトップアプリでVSyncを待つコードを教えてください
Unityなとのフレームワークやゲームエンジ、DirectXラッパーを
使うことは許されていません
488:デフォルトの名無しさん
19/01/30 04:02:46.09 /8sJMxSkM.net
>>472
無理に100ペリカ
489:デフォルトの名無しさん
19/01/30 07:29:11.42 foE0k69S0.net
>>472
P/Invoke禁止とは言われてないのだな
ではD3DKMTWaitForVerticalBlankEventを使いましょう
名前はD3Dとありますがgdi32にある関数なのでDirectXではないと
糞ルールを決めた上司に主張しましょう
490:デフォルトの名無しさん
19/01/30 08:12:13.35 /B2wAYnE0.net
>>468
可読性という理由でラムダ式の表記禁止して5,6段のネストは許されている俺社
491:デフォルトの名無しさん
19/01/30 08:37:51.08 /+A/bmbGa.net
可読性も人それぞれ
492:デフォルトの名無しさん
19/01/30 08:46:16.74 hYqQd3E1d.net
あるフォルダ(A)内に不定期に作成されるファイルを、ローカルのフォルダ(B)に一定間隔でコピーします(フォルダ内全てではなく、前回からの差分ファイルをコピー)。
今回コピーしたファイルを使って後続処理をしたいのですが、どのようにしたら今回コピーしたファイルだと判別できますか?ファイル名にはタイムスタンプが入っています。
コピー後にA内のファイルを削除などできず、コピーのみ可能です。
493:デフォルトの名無しさん
19/01/30 08:49:12.12 /+A/bmbGa.net
>>477
データベースにヒストリを保存すればよろしいかと
494:デフォルトの名無しさん
19/01/30 09:59:39.11 E37rjQ75a.net
>>477
別のフォルダに "<ファイル名>.trigger" みたいな一時ファイルを作って処理後に消せばいい
495:デフォルトの名無しさん
19/01/30 18:35:51.42 hYqQd3E1d.net
>>477
ありがとうございます。
コピー済みのファイル名をDBに保存しておき、そこにないファイルは新規ファイルとして処理する。
こんな判断になりそうです。
496:デフォルトの名無しさん
19/01/31 15:06:18.62 k6O3ixIF0.net
Unsafe.の質問ってここじゃ不適切だよね
と言ってもここ以外にまともなC#スレはないようだけど
497:デフォルトの名無しさん
19/01/31 16:28:47.69 wgv6NCGX0.net
相談室スレでもいいよ 多分回答者はこのスレと共通だけど
498:デフォルトの名無しさん
19/01/31 17:28:39.66 hO+r/SI90.net
Dictionary 型の自動ってないですか。
とあるキーに対してInsert/Updateするとき、
いちいち ContainKeys してから Add するかしないか、ってのがイケてないと思うのですが
dicHoge["Key"] = "hoge";
ってしたとき、Key がなかったら Add して、あったら値を差し替える、みたいな動きする標準クラスないですか?
499:デフォルトの名無しさん
19/01/31 17:42:31.36 06DUsvP/
500:0.net
501:デフォルトの名無しさん
19/01/31 17:44:45.57 KzsKuKr5M.net
>>483
ConcurrentDictionaryのTryAddとかTryUpdateとか
502:デフォルトの名無しさん
19/01/31 17:46:25.97 +2lIT2P6a.net
>>483
自動って表現が新しいw
確かにそんなメソッドがあってもよさそうだけど、
たぶん分かりやすい命名がしづらい割には単純にRemove後のAddで
実現できちゃうから用意されてないんじゃないかなと想像
503:デフォルトの名無しさん
19/01/31 18:07:55.31 zfSfgMG3d.net
多分無いのかな?
「dictionary 拡張」で調べると拡張コードが出てくるからこの辺りから必要なのコピペして関数増やした方が早いかも
504:デフォルトの名無しさん
19/01/31 18:34:02.36 wmh3wxbj0.net
dicHoge["Key"] = "hoge";
これの何がダメなの?
505:デフォルトの名無しさん
19/01/31 19:16:07.42 Is8hbjin0.net
>>483
> dicHoge["Key"] = "hoge";
> ってしたとき、Key がなかったら Add して、あったら値を差し替える、みたいな動きする標準クラスないですか?
Dictionary<TKey, TValue>はまさにその挙動だが
506:デフォルトの名無しさん
19/01/31 19:16:34.95 nQoHUWUF0.net
何か別の言語と勘違いしてんのかな
C++のmapみたいに存在しないキーにアクセスしたら自動的に初期値が入ればいいなと思ったことはある
var d = new Dictionary<string, int>();
d["a"]++;
こういうのできたら楽
507:デフォルトの名無しさん
19/01/31 21:30:37.03 yHmpMqGVM.net
>>483
var
508:デフォルトの名無しさん
19/01/31 21:46:52.01 2xzbyMOq0.net
hashset
509:デフォルトの名無しさん
19/02/01 00:06:39.55 1o0umz0dp.net
拡張メソッド作ればええんちゃうか
510:デフォルトの名無しさん
19/02/01 00:37:05.77 SfS6VrgI0.net
そーいえば、ちょっと便利な Dictionary を作りたくて、これの完全ラッパーなクラスを作ったことあったな。
いまから考えれば無駄な労力だと思うが。w
511:デフォルトの名無しさん
19/02/01 00:46:34.52 Lo/lI1+50.net
そんでDictionaryのインデクサが要求そのまんまの挙動であることについてはどういう見解なのだ
なんでそんな質問したんだ
気になるだろ
512:デフォルトの名無しさん
19/02/01 01:27:01.49 Melu7CRC0.net
.Addメソッドも存在してるから
初見だと[]=valueがAddOrUpdateだとは思えないのはまぁ分かる
513:デフォルトの名無しさん
19/02/01 03:22:41.97 V0cnsy7O0.net
質問する前にちょこっと作って見ればすぐ分かるのに
514:デフォルトの名無しさん
19/02/01 12:54:05.03 hIHuQnKx0.net
>>474
ありがとうございます
D3DKMTWaitForVerticalBlankEvent に渡す
D3DKMT_WAITFORVERTICALBLANKEVENT の
以下の3つはどのように取得すればよいのでしょうか
D3DKMT_HANDLE hAdapter;
D3DKMT_HANDLE hDevice;
D3DDDI_VIDEO_PRESENT_SOURCE_ID VidPnSourceId;
515:デフォルトの名無しさん
19/02/01 17:55:46.18 mF+gwDus0.net
var dicHoge = new Dictionary<string, string>();
dicHoge["Key"] = "hoge";
って、いきなり出来ちゃうんですか。
ダメと思って試しもしなかったです。
516:デフォルトの名無しさん
19/02/01 18:45:15.00 9eIyz51RM.net
System.Data.DataTable なんて使ったら悶絶しちゃうかもな
517:デフォルトの名無しさん
19/02/01 19:27:14.70 Lo/lI1+50.net
>>498
そのくらい自分でぐぐって調べろ
と突き放そうと思ったけど要望そのまんまのコードが出てきたのでまあええわ
URLリンク(github.com)
素直にIDXGIOutput::WaitForVBlank辺り使った方が良いと思うけどネ
518:デフォルトの名無しさん
19/02/03 12:37:02.16 ZxPovaO5M.net
>>495
俺も最近似たようなもんが欲しくなったときがある
・重複したときに別の処理が必要
・登録した順番が重要
ってときにDictionary自体使わんで
KeyValuePairのListばっかり使うようになった
つーのはログの出力まで出したいときに登録した順に出したいから
ログ出力するもんにはDictionary使わなくなった
519:デフォルトの名無しさん
19/02/03 15:42:40.54 jpAIKS8U0.net
ログ取ってるなら逆にDicで困らんと思うけど
520:デフォルトの名無しさん
19/02/03 15:49:56.24 IKDI2S7C0.net
>>503
入れたときじゃなくて別のタイミングで出したい
順番に保証がないと困る
って場面
521:デフォルトの名無しさん
19/02/03 15:58:01.30 7GVwTPrN0.net
ログ出力する時に並び替えるだけで済むのでは?
522:デフォルトの名無しさん
19/02/03 16:04:15.94 IKDI2S7C0.net
>>505
どうやって?
523:デフォルトの名無しさん
19/02/03 16:18:53.59 LOT7/zBp0.net
つかそれKeyは何なんだよ
それがキー項目である必要あるのか?
524:デフォルトの名無しさん
19/02/03 17:01:46.98 cLU3XamPa.net
>>504
dict[key] = value;
mySpecialLogger.Log($"dictに追加したぞ: {key}, {value}");
----
mySpecialLogger.Flush();
525:デフォルトの名無しさん
19/02/03 17:56:25.94 EhLznF4nM.net
SortedListやSortedDictionaryでいいだろ
526:デフォルトの名無しさん
19/02/03 19:21:16.88 ZOlWRYsg0.net
登録順ならOrderedDictionary
527:デフォルトの名無しさん
19/02/04 11:39:31.27 2YxD3k7B0.net
>>501
できました、ありがとうございました
IDXGIOutput::WaitForVBlankは呼び出すまでがよくわからないし
P/Invokeだけでできるのかもわからないのでやめておきます
528:デフォルトの名無しさん
19/02/04 13:36:44.96 AKeTBC2ia.net
ReadOnly=trueのテキストボックスをクリックしてしまった時に
フォーカス映ってカーソルがチカチカしないようにしたいのですがプロパティ上で設定できないのでしょうか?
529:デフォルトの名無しさん
19/02/04 13:48:21.68 B1LZYLJj0.net
GotFocusのたびにWindowsAPIのHideCaretの呼び出しが必要じゃないかな
530:デフォルトの名無しさん
19/02/04 14:07:22.27 /rUNKcNUa.net
>>512
コピーを想定してそうなってるので、TextBoxを使うならその仕様は買えない方がよいのでは。
コピーなんかできなくてもいいなら素直にLabelを使いましょう。
BorderStyleやBackColorをいじればTextBoxに近い外見にも出来る
531:デフォルトの名無しさん
19/02/04 15:54:30.95 AKeTBC2ia.net
テキストボックスの上に後付けでボタン配置したので、ポインタずれて押しそこなった時にそんな感じになってしまったのです
まあ動作的にはなんの問題もないのではあるけど>>513のイベントハンドラ作ってみます
ありがとうございました
532:デフォルトの名無しさん
19/02/05 08:55:05.54 3J1ruy+d0.net
rar5をオンメモリで解凍、ストリーム取得できるライブラリは無いですか?
533:デフォルトの名無しさん
19/02/05 10:59:50.41 svez8hxC0.net
>>516
sharpcompressでそれっぽいことできてるな
URLリンク(www.nuget.org)
URLリンク(github.com)
534:デフォルトの名無しさん
19/02/05 11:07:59.15 svez8hxC0.net
すまんrar5は未対応みたいなこと言ってるわ
535:デフォルトの名無しさん
19/02/05 11:21:25.96 svez8hxC0.net
ほんならこっち
7z.dllのラッパー
URLリンク(www.nuget.org)
URLリンク(github.com)
536:デフォルトの名無しさん
19/02/05 12:48:55.07 cT2SE72s0.net
web上の画像をダウンロードせずに
高さと幅を取得する方法があれば教えてください
537:デフォルトの名無しさん
19/02/05 13:03:57.50 GPC4C0Pm0.net
電話で聞く
538:デフォルトの名無しさん
19/02/05 13:37:05.03 RjbzZp8x0.net
>>520
先頭だけ取得して解析するくらいが関の山じゃない?
URLリンク(developer.mozilla.org)
539:デフォルトの名無しさん
19/02/05 15:25:13.53 cT2SE72s0.net
>>522
ありがとうございました
540:デフォルトの名無しさん
19/02/05 15:40:50.37 3J1ruy+d0.net
>>519
541: 回答ありがとうございます。 SevenZipExtractorですが、プロジェクトにNugetで取り込んでも正常に認識してくれず使えませんでした。 SharpCompressですが、(まだファイルの一覧だけしか試していませんが)RAR5での圧縮ファイルを扱えました。 SharpCompressは前に使っていたことがあるので(当時はRAR5が使えなかった)、こちらを使おうと思います。
542:デフォルトの名無しさん
19/02/05 17:04:13.00 CPjaAgWSM.net
vs2013なんですけど、バーコードを作るメジャーな方法って何があるでしょうか?無料がいいです。
543:デフォルトの名無しさん
19/02/05 17:23:07.87 jB1piIf60.net
無料ならGPLv3でもええんか
544:デフォルトの名無しさん
19/02/05 17:28:38.13 dQJUt0gZF.net
ライブラリいっぱいあるで
545:デフォルトの名無しさん
19/02/05 18:20:58.39 C5l7MRqld.net
>>525
メジャーなのはZXing
546:デフォルトの名無しさん
19/02/05 21:05:22.94 XsUhL+1b0.net
何かライブラリ無いかなと思ったらまずNuGet見てみる
547:デフォルトの名無しさん
19/02/06 12:34:37.03 ymLQaaTBd.net
C#で書いたコードをVBAから呼び出す際のC#でのやり方を教えてください。
例えば、MessageBoxで「Hello!」と表示するには何をどうすれば出来ますか?
使ってるのはVisualStudio2017です。
548:デフォルトの名無しさん
19/02/06 12:38:03.13 ymLQaaTBd.net
>>530
引数でHelloを持ちかえる方法です。
549:デフォルトの名無しさん
19/02/06 13:05:34.43 pq3DhSMgM.net
日本語でOK!
550:デフォルトの名無しさん
19/02/06 13:11:17.81 /72vyC150.net
>>530
ググレカス
C#で実装したコードをVBAとかVBから使う方法 : 実験ぶろぐ(仮)試供品
URLリンク(needtec.exblog.jp)
551:デフォルトの名無しさん
19/02/06 16:15:23.61 sqv9vum40.net
URLリンク(gist.github.com)
上記サイトのIniFileクラスでBufferExpandingSizeを小さくしてから
GetSectionNamesを呼び出すとループ2回目のGetPrivateProfileString呼び出しのタイミングで
例外も発生せずにプログラムが異常終了してしまうのですが何が問題なんでしょうか?
552:デフォルトの名無しさん
19/02/06 18:20:24.61 ymLQaaTBd.net
>>533
書いてるコードの意味がよくわからないので単純なコードが知りたいんです。
553:デフォルトの名無しさん
19/02/06 18:30:37.80 1DcU3Gnhp.net
コードコピペして自分の使ってるクラスに直せば出来ると思うけど
インターフェース作ってなければクラスから作って置き換えればサンプルコード通りに動くはず
554:デフォルトの名無しさん
19/02/06 18:54:31.06 cXGNS95ra.net
>>535
C# メインルーチンからメッセージボックスを表示
VBA shellを使って↑を起動
555:デフォルトの名無しさん
19/02/06 21:20:24.24 SSakxrcH0.net
>>534
GetPrivateProfileStringの定義がCharSet.Unicode指定してるから
第5引数のnSizeはwchar_tの個数を指すことになる
wchar_tは2バイトだからnSizeに16指定したらlpReturnedStringは32バイトあることになる
でも実際にはその半分の16バイトしか確保してないから
GetPrivateProfileStringが17バイト目以降に書き込もうとしてヒープ破損する
556:デフォルトの名無しさん
19/02/07 10:39:20.42 BTY8+ybz0.net
>>538
文字セットのことがすっかり頭から抜けてました
WinAPIを使うなら真っ先に気を付けないといけない部分なのになあ
・ReAllocCoTaskMemで確保するサイズをlength*2に
557:変更 ・GetPrivateStringのCharSetをAnsiに変更、文字列への変換をPtrToStringAnsiに変更 上記2通りの修正でどちらも正常動作することが確認できました 回答ありがとうございました
558:デフォルトの名無しさん
19/02/07 18:21:29.96 yK9ubdQXd.net
VS2017使用。
ADOを使ってエクセルのシート名を読んだりセルのデータを読み取りたい。
対象エクセルブックは〇〇.xlsのみ
ネットのサンプルコードをコピペして使ってもエラーでさっぱりです。
何かインストールが必要なんですか?それとも参照設定とか必要なんですかね?
なんか雛形のコードでもあればいただけませんか?
559:デフォルトの名無しさん
19/02/07 19:01:48.27 l2uiBAtS0.net
具体的にどのサイトのコードを試したら
どんなエラーメッセージが出たのかを書いてくれ
560:デフォルトの名無しさん
19/02/07 19:28:54.09 yK9ubdQXd.net
URLリンク(qiita.com)
このサイトの下のコードです。
adp.Fill(dt);←ここでエラーです。
return dt;
}
今パソコンから離れたのでエラー内容は忘れましたが何かがないぞみたいな感じでした。
561:デフォルトの名無しさん
19/02/07 20:24:29.71 3NiqE0/P0.net
>>540
URLリンク(csharp.keicode.com)
これじゃあかんの?
562:デフォルトの名無しさん
19/02/07 21:34:46.19 FLUWNW3J0.net
>>543
これも明日試してみます。
でもいろいろとコードの引き出しがあったらいいなって
563:デフォルトの名無しさん
19/02/07 21:37:56.26 FLUWNW3J0.net
>>543
速度はどうなんですか?早いですか?
564:デフォルトの名無しさん
19/02/07 22:02:28.76 O0GaOve00.net
>>545
ウゼェ、やる気がねーなら
エロゲでもやってろ
565:デフォルトの名無しさん
19/02/07 22:23:39.18 iyj2o48P0.net
こんばんはよければ教えてください
c#で社内用のソフトをしこしこ作っているものなのですが、同じ境遇の方ヘルプファイルはどの形式で
作っていますか? chmファイルは今時便利なツールもないので作りにくいのですが、pdfではなんか味気ない
今回新たなソフトを社内でリリースするので悩んでいます。
あ、ちっちゃい会社です。
566:デフォルトの名無しさん
19/02/07 22:28:55.73 CKGjxJfq0.net
もしかしてc#全く関係ない話?
567:デフォルトの名無しさん
19/02/07 22:35:04.98 VZhzokSX0.net
> pdfではなんか味気ない
その謎の価値観を改めればすべて解決です
568:デフォルトの名無しさん
19/02/07 23:39:26.83 Q7Nq6LQdd.net
>>547
sandcastleでchmやHTMLのヘルプを簡単に生成できるよ
569:デフォルトの名無しさん
19/02/07 23:40:23.99 Q7Nq6LQdd.net
>>548
C#のコメントからヘルプを生成する話だよ
570:デフォルトの名無しさん
19/02/07 23:47:55.01 O0GaOve00.net
doxygen的なのって新しいの出た?
571:デフォルトの名無しさん
19/02/08 00:00:34.72 JeOi55qM0.net
sandcastleなつかしい
572:デフォルトの名無しさん
19/02/08 00:09:17.11 yxq5pHtX0.net
>>553
今でもメンテしてる人いるし!
URLリンク(github.com)
573:デフォルトの名無しさん
19/02/08 00:42:26.66 zMW+eOHy0.net
markdownで書いてhtml出力
574:デフォルトの名無しさん
19/02/08 00:59:36.44 wLiZux8Md.net
>>555
ソースコードから生成しないのは非効率でしょ
575:デフォルトの名無しさん
19/02/08 01:02:48.69 kZW3St4e0.net
ソースコードから設計書出すならわかるけど、今回の質問はヘルプファイルでしょ?
576:デフォルトの名無しさん
19/02/08 01:18:59.44 e7pcoQvna.net
社内ならConfluenceみたいなwiki的なサービス使えば?
ファイルで配ると後でメンテに苦労することになるよ
577:デフォルトの名無しさん
19/02/08 01:22:13.31 yxq5pHtX0.net
>>557
C#のスレなんだからヘルプと言えばクラスリファレンスだろ
578:デフォルトの名無しさん
19/02/08 01:45:40.32 NCJ1sppLp.net
ユーザー向けのヘルプファイルだろ
質問した本人出てこないから結論出ないけど
579:デフォルトの名無しさん
19/02/08 06:02:12.24 86VvLP3ma.net
簡単なゲーム作ってみたのだけど仮にこれを配布するとしたら
動作環境は何を基準にして明記したらいいのでしょうか
Windowsの人なら特になにか入れてもらわなくてもだいたい動くってことでしょうか
580:デフォルトの名無しさん
19/02/08 07:19:45.32 en2thcC6M.net
>>555に一票
俺はAsciiDocだけど
581:デフォルトの名無しさん
19/02/08 07:20:35.11 Weq4zX9xd.net
対処にした.netでしょう。
win7はデフォだと3.5
win8がデフォだと4.5
win10はデフォ4.6がはいってる。
win8とwin10は3.5系はデフォでは入ってない。
一般的には、4.5で作っておけばトラブルは少ない。
async awaitも使えるし、入ってることが期待できる。
.net coreは開発者でないと、入れてることは期待できないので、入れてもらう形かね。
一般の非開発者は、.net framework と .net coreの二系統に大きく別れてるとか
知らないので、coreは注意が必要かもねぇ
582:デフォルトの名無しさん
19/02/08 07:33:47.03 JXgoNARF0.net
むしろCoreはランタイムをSelf-containedにできるから実行環境の状況を気にせず済むでしょ
(まだデスクトップアプリの開発環境として整ってるとは言えないけどそれはそれ)
583:デフォルトの名無しさん
19/02/08 07:37:27.34 N+zrhIiBd.net
>>563
4.5はもうサポート切れだからだめやろ
584:デフォルトの名無しさん
19/02/08 14:02:16.37 wLzz2paeM.net
今更新規でFull .NET使うのはお勧めできないな
結局.NET standardはMSが早くも投げ出して崩壊し、今後は.NET Coreに一本化される
既存の.NETアプリは全てレガシーの産廃だ
585:デフォルトの名無しさん
19/02/08 14:09:17.61 N+zrhIiBd.net
>>566
ASP.NET Coreも、3.0からは.NET StandardじゃなくてCore3.0だけをターゲットにするしねw
586:デフォルトの名無しさん
19/02/08 16:42:05.01 DCBa2RJt0.net
指定のdatetimeまで待つ処理はどのように書けばよいでしょうか?
GUIアプリケーションで出来れば待っている間も操作可能
なるべくcpuの負担が軽くなる方法が良いです
よろしくお願い致します。
587:デフォルトの名無しさん
19/02/08 16:47:22.48 xI0+6qTx0.net
>>568
それは、まず、タイマーを起動して、1秒間に一回程度、自前の関数が
呼び出されるようにしておく。そして、その自前の関数で現在の日時を
取得して、条件に合う日時になっているか調べる。そして、条件に合って
いれば、好きな処理をする。そうすればいい。
588:デフォルトの名無しさん
19/02/08 16:58:08.14 hTn4Mfg30.net
>>569
Thread.Sleepの方がいいんじゃね?
589:デフォルトの名無しさん
19/02/08 17:08:32.00 wLzz2paeM.net
>>568
タスクスケジューラ
590:デフォルトの名無しさん
19/02/08 17:20:02.58 xI0+6qTx0.net
>>570
それだと GUI の処理がほぼ完全に止まってしまい、アプリがほとんど操作不能
になるハズ。
591:デフォルトの名無しさん
19/02/08 17:23:59.58 T5iT/olM0.net
>>568
アプリが起動しっぱなしなら指定日時から現在日時を引いて
await Task.Delay()等でタイムアウト待つとか、他は>>571かね
592:デフォルトの名無しさん
19/02/08 17:28:55.52 1w1isakW0.net
do-whileもいいと思う
593:デフォルトの名無しさん
19/02/08 17:33:15.83 hTn4Mfg30.net
>>572
待つロジックをThreadにすればいいだけじゃね?
594:デフォルトの名無しさん
19/02/08 17:48:48.00 xI0+6qTx0.net
マルチ・スレッドというのは、プログラミング経験を沢山積んだ人が使うもので、
非常に原因の特定が難しいバグを引き起こすことがあるので、初心者には
お勧めできない。同期オブジェクトや atomic アクセス、volatile などを
正しく
595:理解してからでないと危険を伴うことがある。 async も独特で複雑なことをやっているので、プログラミング初心者が、何が起きて いるのかを理解するのは難しい。なんとなく動くかもしれないがうかつに使うのは やめたほうがいいと思う。
596:デフォルトの名無しさん
19/02/08 17:50:59.48 xI0+6qTx0.net
async は、↓のような複雑な control flow になる。
それを全部理解してから出ないと危険。
URLリンク(docs.microsoft.com)
URLリンク(docs.microsoft.com)
597:デフォルトの名無しさん
19/02/08 18:11:51.00 JXgoNARF0.net
GUIちゅーてんだから普通にWinforms/WPFのTimer/DispatcherTimerを紹介すりゃええんでないの
数日間待機させたいとかになるとまた話が違ってくるしもうちょい質問の要件をハッキリさせて欲しいけど
598:デフォルトの名無しさん
19/02/08 18:25:10.33 ccTwL3cjM.net
指定日時後の起動はタスクスケジューラに任せた方が良いと思う
GIU側の仕事はスケジューラヘの登録と指定日時にスケジューラが起動したプロセスとの通信
599:デフォルトの名無しさん
19/02/08 18:28:22.25 xI0+6qTx0.net
C#も汚い言語になってきたなー
600:デフォルトの名無しさん
19/02/08 18:32:16.25 xI0+6qTx0.net
なんか、JavaScript そっくりになってきる。JavaScript は汚いのにな・・・。
601:デフォルトの名無しさん
19/02/08 18:49:11.69 5c9t7/Awd.net
汚いとは?
602:デフォルトの名無しさん
19/02/08 18:56:00.90 wLzz2paeM.net
JavaScriptそっくりもクソも、JavaScriptのasync/awaitはC#が発祥だぞ
それをJavaScriptもPythonもKotlinもそっくりそのまま真似した
汚い機能だと感じる君の感覚は否定しないが、好みは別にして非同期プログラミングのデファクトスタンダードであるのは事実だ
603:デフォルトの名無しさん
19/02/08 19:49:11.94 lL88DpXz0.net
割り込んですまない。
SolrNet を使ったことあるヤツがいたら知恵を貸して欲しい。
SolrNet を使ってこんなことをやってみた。
Startup.Init<[適当なモデルクラス]>( [SolrのサーバーURL] );
var solr = ServiceLocator.Current.GetInstance<ISolrOperations< [適当なモデルクラス] >>();
まあごく当たり前の初期処理なのだが、実行すると2行目の Current の中身が null でヌルポエラーになる。
原因がわからなくてしばらく悩んで、GitHub にあるサンプルコードをダウンロードしてきてコピペしても同じだったのだが、
ダウンロードしたソリューションをビルドして実行するとこの部分を問題なく通過する。
またしばらく悩んで、nuget でダウンロードしてくる SolrNet のバージョンに違いがあることに気がついた。
どうやらバージョンが 0.5 以下だと通過し、それ以降のバージョンだとヌルポエラーになるようだ。
最新のは 1.0.1 だったか、このバージョンで上の部分を通過させるに必要な事はなんだろう。心当たりがあったら教えて欲しい。
0.5 の辺りって、その辺りを境に他のパッケージを参照するようになってるぽいのだけど関係があるだろうか。
これを使えってご指定なんだよな。。
604:デフォルトの名無しさん
19/02/08 20:41:31.54 OM4aCJGta.net
>>568
一応これでできるけど、これがベストかどうかは知らん
private static async Task WaitTillAsync(DateTime dt)
{
var now = DateTime.Now;
var span = dt > now ? dt - now : TimeSpan.Zero;
await Task.Delay(span);
}
private async void button1_Click(object sender, EventArgs e)
{
await WaitTillAsync(DateTime.Now.AddSeconds(10));
MessageBox.Show("10秒後にこんにちは");
}
>>566
マジですかw
605:デフォルトの名無しさん
19/02/08 2
606:1:46:41.47 ID:tTA+g4g80.net
607:デフォルトの名無しさん
19/02/08 22:17:53.01 uDI35RTx0.net
>>583
Rustは結局どうなったんだっけ?
608:デフォルトの名無しさん
19/02/08 22:27:25.20 DCBa2RJt0.net
みなさんありがとうございます。
一応自分で書いていたのは>>585さんに近くて設定時刻前ならそのまま、設定時刻を過ぎてたら一日足して現在時刻との差をawait Task.Delayしました。
タイマーの精度はそんなに必要なく1分間隔で大丈夫で、24時間起動で毎日朝8時から夕方17時までプログラムを止めるみたいな感じです。
同じプログラムを大量に起動するので処理はなるべく軽いのが希望で
ループ処理で毎分チェックするようなのは重いイメージがあるのですが大丈夫でしょうか?
また、時計合わせが発生したらズレるというのはどういうことでしょう?
609:デフォルトの名無しさん
19/02/08 22:30:54.02 wLzz2paeM.net
>>588
ポーリングが嫌ならタスクスケジューラを使えばいい
プログラムから簡単に登録できる
610:デフォルトの名無しさん
19/02/08 22:53:24.62 OM4aCJGta.net
>>586
えらい重箱の隅だけどまあそうだねw
private static async Task WaitTillAsync(DateTime dt)
{
await Task.Run
(
() => { while (dt > DateTime.Now) Thread.Sleep(500); }
);
}
611:デフォルトの名無しさん
19/02/08 23:23:03.92 wLzz2paeM.net
>>590
プロセスが落ちることを想定せよ
NTPなんかより遥かに影響を受ける可能性の高い事象である
やり直し
612:デフォルトの名無しさん
19/02/08 23:32:28.45 Waqd0NNdr.net
どのへんでプロセス落ちるの?
613:デフォルトの名無しさん
19/02/08 23:33:09.16 DCBa2RJt0.net
>>590
Thread.Sleepの所Task.Delayにしても大丈夫でしょうか?
614:デフォルトの名無しさん
19/02/08 23:42:34.81 wLzz2paeM.net
>>592
どこでも
質問者は24時間起動って言ってるんだから当然想定すべきだよ
615:デフォルトの名無しさん
19/02/09 00:44:22.99 jhOjUKEBa.net
>>593
もちろんいいと思うけど、
() => { while (dt > DateTime.Now) Thread.Sleep(500); }
が
async () => { while (dt > DateTime.Now) await Task.Delay(500); }
に文字数が増えて、使うTaskも増えて、かといってメリット無いような気が
616:デフォルトの名無しさん
19/02/09 00:46:47.47 3dJvh84X0.net
await, async は、簡単なことを難しくしてしまう。
617:デフォルトの名無しさん
19/02/09 00:52:22.81 8aikkfMy0.net
C#は、もはや、C++やCとは似ても似つかなくなってしまってる。
control flow がめちゃくちゃ複雑で、何をやってるのかわからなくて
生ポインタの1,000倍危険。
618:デフォルトの名無しさん
19/02/09 00:58:38.23 jhOjUKEBa.net
() => { while (dt > DateTime.Now) Task.Delay(500).Wait(); }
の方が素直か。
何かTask.Delay使った方がいい理由ってあるかな
619:デフォルトの名無しさん
19/02/09 01:13:05.43 dvMZ7Shb0.net
PDFファイルからテキストを抽出する方法でオススメはありますか?
調べたところiTextSharpとPDFBoxは見つかりましたが、たまに読めないPDFがあるのが残念です。
620:デフォルトの名無しさん
19/02/09 01:45:47.26 8aikkfMy0.net
C# の async, await を開発したのはこんな人。写真付き:
URLリンク(www.orioninc.com)
621:デフォルトの名無しさん
19/02/09 01:49:31.12 kYloXoqBd.net
>>599
一番確実なのは製品版のAcrobatを使うことではないでしょうか
622:デフォルトの名無しさん
19/02/09 01:49:48.79 U3ljW3xz0.net
>>598
この流れでもう二回書かれてるけどawaitしないとその間メッセージキュー処理できないでしょ
あとTimer使えば済むロジックを自分で書かないの
623:デフォルトの名無しさん
19/02/09 01:55:33.22 dvMZ7Shb0.net
>>601
私の技術力が低いので初心者用スレで質問させていただいたのですが、それを購入したとして初心者でもネットで調べる程度で可能ですか?
上に書いたiTextSharpとPDFBoxは、ネットに転がってたソースを丸パクリでやりました。
624:デフォルトの名無しさん
19/02/09 02:16:09.35 UMSUoHVI0.net
>>595
後者はTask.Run()が不要だから、むしろタイプ量は減るよ。
await Task.Run( () => { while (dt > DateTime.Now) Thread.Sleep(500); } );
と
while ( dt > DateTime.Now ) { await Task.Delay(500 ); }
625:デフォルトの名無しさん
19/02/09 02:39:48.15 U3ljW3xz0.net
ん? Task建ててる部分見てなかった、俺のレスのは忘れて
626:デフォルトの名無しさん
19/02/09 02:40:17.09 UMSUoHVI0.net
後、細かいことを言うと、
Task.Run()でThread.Sleep()だとSleep()してる間もThreadPoolのThreadを1つ占有してしまうが、
Task.Delay()ならその間はThreadPoolのThreadが開放される。
627:デフォルトの名無しさん
19/02/09 02:47:07.48 jhOjUKEBa.net
>>602
スリープするのはUIスレッドじゃないのでそれはありませんよw
これ、ちょっと前にも書いたけど、Timerを使った方が可読的になる場合ももちろんあるし、
そうでない場合もある。
つまり、別に車輪を再発明してるんじゃありません。
質問者がどっちのケースかは分からない
628:デフォルトの名無しさん
19/02/09 02:54:59.91 jhOjUKEBa.net
>>604
ああ、なるほど。
正直非同期メソッドって書きなれてないから目からうろこ
629:デフォルトの名無しさん
19/02/09 03:02:23.38 zy9w8qc80.net
>>603
SDKは自由にダウンロードできるからドキュメント見て自分で判断しておくれ
URLリンク(helpx.adobe.com)
630:デフォルトの名無しさん
19/02/09 07:11:19.34 Bzu1ndzH0.net
待つだけの処理で1スレッド消費しちゃうのは良くないな
かといって単純にAwaitを使っただけのコードだと、どこかでデッドロックが生まれる可能性が増えたり、待てずにメインスレッドが抜けてしまったりする危険が出てくる
ここはコルーチンしか無いでしょ!!コルーチン最高!!!!
631:デフォルトの名無しさん
19/02/09 07:16:35.24 rkd3w/wq0.net
タスクスケジューラにしとけよ
632:デフォルトの名無しさん
19/02/09 07:35:28.00 Bzu1ndzH0.net
タスクスケジューラはC#自体の機能じゃないからな、漢は黙ってコルーチン!!!
633:デフォルトの名無しさん
19/02/09 07:42:48.42 onf/I33CM.net
私、待つわ~何時までも待つわ~
例え対象スレッドが落ちていても~
634:デフォルトの名無しさん
19/02/09 08:32:22.73 6iVlgEPUr.net
>>594
それ非同期関係なくない?
635:デフォルトの名無しさん
19/02/09 08:45:27.49 O6W3Dl2k0.net
>>583
kotlinはそっくりそのままと言えるものではなく
奇怪な何かになってる
636:デフォルトの名無しさん
19/02/09 08:47:26.04 O6W3Dl2k0.net
>>614
次はWindowsが落ちることを想定しよう
637:デフォルトの名無しさん
19/02/09 11:10:00.80 YnD8XTKW0.net
c++はc#の何倍難しいですか?
638:デフォルトの名無しさん
19/02/09 11:13:22.03 onf/I33CM.net
C# → C++/MFC なら大して変わらないかも
639:デフォルトの名無しさん
19/02/09 11:13:26.70 902JN4xl0.net
256バイ
640:デフォルトの名無しさん
19/02/09 11:17:48.96 k8PbCSORM.net
言うほど難しくはない
同じものを作るために3倍程度の工数がかかるだけ
641:デフォルトの名無しさん
19/02/09 11:24:28.88 YnD8XTKW0.net
個人で使うものではない感じですか?
openglを扱うためには裂けては通れないようですが
642:デフォルトの名無しさん
19/02/09 11:31:34.31 k4TwxJVN0.net
>>621
opengl c# でググったらいろいろヒットするが
DllImportがめんどくさいのはわかるが避けて通れない理由があるのか?
C++でやらなきゃって思うのならC++のスレへどうぞ
643:デフォルトの名無しさん
19/02/09 11:35:32.77 YnD8XTKW0.net
ラッパーのほうが情報すくなくて難しそうなので
644:デフォルトの名無しさん
19/02/09 11:39:46.24 U3ljW3xz0.net
>>621,623
> 個人で使うものではない感じですか?
個人で使うのになんら障害はない
> openglを扱うためには裂けては通れないようですが
OpenTKとかあるし別に必須じゃない
> ラッパーのほうが情報すくなくて難しそうなので
じゃあC++で学習すれば?
645:デフォルトの名無しさん
19/02/09 11:41:56.63 O6W3Dl2k0.net
このレベルでOpenCVに手を出して何ができるんだって感じもある
チュートリアルを通してやるのがせいぜいか
646:デフォルトの名無しさん
19/02/09 12:15:17.08 yiDYsHnZ0.net
>>625
OpenCVとOpenGLは別物だよ
647:デフォルトの名無しさん
19/02/09 12:25:47.28 6TG0Gkwea.net
>>617
テンプレートの深みにはまらなければC++のほうが素朴で簡単
648:デフォルトの名無しさん
19/02/09 12:37:08.87 PsW6cRYq0.net
この人3ヶ月前からこういう質問ばっかしてる
一体いつになったら手を動かすんだろう
649:デフォルトの名無しさん
19/02/09 13:27:48.74 Bzu1ndzH0.net
やっぱコルーチンだわ
コルーチン質問がいくらあっても全くロックが起きとらん!スレッドを丸々潰してもいない!最強!!
650:デフォルトの名無しさん
19/02/09 14:30:31.24 8aikkfMy0.net
>>620
そんなかからん。せいぜい 2割り増し程度。
でも、ブラックボックスが少なくて何やってるのか分かりやすいので、
はまりにくいかも。
C#のasync, awaitなんて初心者が理解できるものではない。
651:デフォルトの名無しさん
19/02/09 14:37:30.48 O6W3Dl2k0.net
>>626
ごめん
俺の目が悪かった
652:デフォルトの名無しさん
19/02/09 15:30:22.75 zy9w8qc80.net
C#はクラスライブラリも簡単に逆アセンブルできるからブラックボックスは少ないよな
653:デフォルトの名無しさん
19/02/09 16:47:05.41 dvMZ7Shb0.net
>>609
ありがとうございます。
654:デフォルトの名無しさん
19/02/09 22:52:17.77 5t5ZiBxh0.net
WPF, Windows Form の二種類があったり、Xamarineを使うかどうかが
あったり、C#も複雑極まりないんだね。GDI がセンスがない関数群だったので
嫌われたこと、MFCが汚かったこと、Direct3Dが汚かったこと、COMが
汚かったこと、ActiveX がさらに訳分からなかったこと、の再来を感じる。
「非同期処理」もスレッドをいくつでも起こすタイプや、Poolみたいな
ことをやるタイプ、以外にいくつもあって、さらに最後に async, await
が Synax Suger になっているんだね。なんという複雑さ・・・。
また、スレッドを起こすのに 1MB もメモリが必要・・・・。
なんという無駄使い。
655:デフォルトの名無しさん
19/02/09 22:54:12.95 5t5ZiBxh0.net
結局、.Net Standard が破棄されて、.Net Core だけが残るといううわさを聞いた
けど、やっぱり Xamarine が捨てられていくのかな。買収時点で最初から
予想されたことだけど。
656:デフォルトの名無しさん
19/02/09 22:59:09.93 VPSQr41Ud.net
またC#嫌いのお前か
657:デフォルトの名無しさん
19/02/09 23:07:49.24 HZrCyM150.net
>>634
> 「非同期処理」もスレッドをいくつでも起こすタイプや、Poolみたいな
> ことをやるタイプ、以外にいくつもあって
具体的には?
いくつもあるなら2,3挙げてみてよ
658:デフォルトの名無しさん
19/02/10 00:07:00.86 P1Q5YmOJ0.net
>>637
↓ ここを読んでくれ
URLリンク(www.atmarkit.co.jp)
数え方にもよるが、恐らく6~8種類くらいあると思う。
659:デフォルトの名無しさん
19/02/10 00:09:30.45 P1Q5YmOJ0.net
多分、
1. Thread
2. ThreadPool
3. Event-based
4. Async Programming Model
5. Reactive Extensions
6. Task-based
7. async/await
の 7種類だと思う。もっとあるかも知れないけど。
660:デフォルトの名無しさん
19/02/10 00:09:35.84 XpZrG1uz0.net
APM、EAP、TAPなんかを言ってるのかね? 単に時代の流れじゃないの
レガシーをタスクにする方法もあるし、.NETはネイティブスレッドではなかろう
開始元へ差し戻しが多いからawaitがあるだけで結局Task推奨になってると思うけど
議論が活発なのは結構だが、ぽこぽこ増えていく言語
661:バージョンを見てると不安は抱く
662:デフォルトの名無しさん
19/02/10 00:32:53.23 c9rRoNSM0.net
時代の流れだねぇ。
今ならTaskとasync/awaitだけ覚えておけば事足りる。
Rxも場合によってはあれば便利だけど。
663:デフォルトの名無しさん
19/02/10 00:46:35.13 P1Q5YmOJ0.net
それは言い訳で、見通しが悪かったって事なんだ。
664:デフォルトの名無しさん
19/02/10 00:53:56.42 Mw20IJUM0.net
まあXamarin用済みなのは確か
665:デフォルトの名無しさん
19/02/10 00:58:27.31 AzzfBWDja.net
async/awaitの効率は最近は大幅に改善されつつあるよ
ただし.NET Coreに限る
666:デフォルトの名無しさん
19/02/10 01:03:53.77 P1Q5YmOJ0.net
効率以前に、訳分からん。
設計した人が実は能力が足りないんだって。
667:デフォルトの名無しさん
19/02/10 01:05:47.39 P1Q5YmOJ0.net
アメリカ人はなめ過ぎてる。
独占的地位を利用して。
こんなくそ設計しやがって。
668:デフォルトの名無しさん
19/02/10 01:12:55.80 ys0otiK+0.net
(ワッチョイ 8261-VUEs)
この人、年中非同期処理が理解できないと繰り返し言ってんな
いい加減理解しろよw
669:デフォルトの名無しさん
19/02/10 01:25:57.34 bwecUq1Z0.net
良かったな
訳わからんものが他の言語にも波及したぞ
※非同期プログラミングの次回作にご期待ください
670:デフォルトの名無しさん
19/02/10 01:38:14.50 P1Q5YmOJ0.net
C# は VB と似ており、C++ とは似ても似つかない。
671:デフォルトの名無しさん
19/02/10 01:38:53.56 c9rRoNSM0.net
>>642
17年の歴史があって、技術的トレンドを比較的積極的に取り込んできてる言語に
それを言うのは言いがかりというかお門違いだろうw
672:デフォルトの名無しさん
19/02/10 02:34:19.06 98Upnegk0.net
>>647
そいつにとっては、ぼくの理解できないもの=設計が悪い、だからな。
自分がバカだとは認められないんだろう。
673:デフォルトの名無しさん
19/02/10 02:52:23.04 LkwxzeRxd.net
>>635
破棄される?ソースは?
674:デフォルトの名無しさん
19/02/10 08:46:39.23 uz05qYWIr.net
c#にはあってVBにはないものってないんだよな
.net CoreでもVB採用されてるし
675:デフォルトの名無しさん
19/02/10 08:54:49.60 fHBGeROaM.net
for文の挙動が違うだろ