18/06/28 05:25:02.37 mpKH796a0.net
>>331
レスどうもです!下のようにして上手くいきました
こうなってくるとm1に対する方法はたまたま問題が起きないだけで
m2やm3の方法のほうが望ましいように思えてきましたがそういう認識であってますか?
==
using System.Runtime.CompilerServices;
class B<T> { public void M() { } }
class C1 : B<int> { }
class C2 : B<string> { }
class C3 : B<int> { }
class Program
{
static void Main(string[] args)
{
var m1 = typeof(C1).GetMethod("M").MethodHandle;
var m2 = typeof(C2).GetMethod("M").MethodHandle;
var m3 = typeof(C3).GetMethod("M").MethodHandle;
RuntimeHelpers.PrepareMethod(m1); // 問題なし
RuntimeHelpers.PrepareMethod(m2, new[] { typeof(string).TypeHandle }); // 問題なし
RuntimeHelpers.PrepareMethod(m3, new[] { typeof(int).TypeHandle }); // 問題なし
}
}
==
361:331
18/06/28 07:24:39.78 TtGcC5rD0.net
>>346
(確固たるソースに基づく訳じゃないので推測だけど)値型か、参照型かじゃない?
参照型の場合は TypeHandleを指定する必要がある、ってこと。
362:デフォルトの名無しさん
18/06/28 07:34:23.33 wMDqdzUG0.net
>>341
よく解らんけどdllってアプリごとにメモリに個別に展開されて初期化されるからソースコード上で同じ変数名にアクセスしても実態は違うので共有できないのは当たり前なきがする
363:デフォルトの名無しさん
18/06/28 08:01:29.47 M7FH9WysM.net
Cとかって共有されなかったっけ?よく覚えてないけど。
364:デフォルトの名無しさん
18/06/28 08:16:48.89 h/Ekqdxpa.net
されるわけないだろ
何のためにプロセスがあると思ってるんだ
365:デフォルトの名無しさん
18/06/28 09:27:13.22 9GisGdyJ0.net
ないって言ってんのにな
死ぬまで悪あがきしてればいいよ
366:デフォルトの名無しさん
18/06/28 10:06:45.02 uTPw2MsS0.net
何がしたいのか知らんけど、Win2k時代にシリアル通信のロガー作ったことある。あんときは、DLLをフックしてCreateFile,ReadFile,WriteFileのデータをトレースしたが、ハッキリ言ってやめたほうが良い。
367:デフォルトの名無しさん
18/06/28 11:08:48.44 mI3gmfcxp.net
ロガーだけならどこぞの口でforkすりゃいいだけだろ。
通信内容を振り分ける仕組みだと思ってたから無理って話してんだよな。
368:デフォルトの名無しさん
18/06/28 11:17:35.66 uTPw2MsS0.net
親がシリアル掴んで、名前付きパイプで子に振り分けるかなぁ。
369:デフォルトの名無しさん
18/06/28 12:52:45.79 q5PWc0B3M.net
>>332, >>342, >>353
受信データによって
って書いてるから何らかのプロトコル決めてて、アドレスとかポート番号とかの振分け用の情報あるんだろ
LANケーブルは1本でも複数のプロセスで共有してるのと同じ
ここまで書けばよほど頭の悪い奴でなければわかると思うが>>329が言うようなことは実現可能
URLリンク(nobikko-nobinobi.hatenablog.com)
ただC#だけでできるかどうかは知らん
370:デフォルトの名無しさん
18/06/28 12:53:45.63 q5PWc0B3M.net
>>349-351
無知自慢乙
371:デフォルトの名無しさん
18/06/28 13:12:07.43 wMDqdzUG0.net
372:同じDLLのstatic変数がそれを使ってることなるプロセス間で同じメモリの場所を参照するかってことじゃないの?
373:デフォルトの名無しさん
18/06/28 13:48:50.61 f040o02ua.net
>>356
残念だけどそれはプロセス間の共有メモリの話であってシリアルポート共有じゃないよ
シリアルポートは排他でしか開けないので他の人が書いてるようにシリアルポートをサービスで開いておくしかない
それがどのような形をとるかはいろいろある
374:デフォルトの名無しさん
18/06/28 15:13:33.45 5RaMOuHjM.net
通信量など条件にもよるけど、
シリアル受信プログラムは、データの種類によって接頭語+日時名のファイルを作る。
各アプリはファイル監視して自分用のを実行する。
とかユルイ連携にするのも手かと。同時開発しやすいしテストやトラブル対処も楽。
375:デフォルトの名無しさん
18/06/28 15:19:28.79 poFZ3+du0.net
ASP.NET CoreにはJavaの@Transactionalのような仕組みはないのですか?
DispatchProxyを使ってトランザクション管理を自前実装してますがより一般的な手段があるなら乗り換えたいです
376:デフォルトの名無しさん
18/06/28 15:21:33.85 pHy9VzUja.net
今時232C使ってるようなデバイスでそんな振り分けが必要なデータなんか送ってくる可能性は低いと思いうけどねw
I2Cとか485をエミューレートしてるとかなら知らんけど
そんなデバイス聞いたことないけどさ
アプリ作るのも、ブロードキャストして要らないデータはアプリ側で捨てる方が簡単で
保守性も高いでしょう
377:デフォルトの名無しさん
18/06/28 16:53:51.04 uTPw2MsS0.net
どーせ、RS485/LAN変換器とか絡んでるんじゃね
378:デフォルトの名無しさん
18/06/28 17:08:19.49 mI3gmfcxp.net
普通のシリアル通信にコンフリクト回避のネゴエーショ等の機能は存在しないんだが、どうするつもりなんだろうな。
RS422規格の通信にするにしても、ドライバーが対応してないと難しいよな。ハードフロー制御なドライバーにして後はハードに頑張ってもらうのかな?
379:デフォルトの名無しさん
18/06/28 17:10:29.45 mI3gmfcxp.net
あ、先に書かれてたか。
380:デフォルトの名無しさん
18/06/28 17:49:10.63 Hec9+XaU0.net
LANはシリアル通信ではないのだが・・・
381:デフォルトの名無しさん
18/06/28 18:13:18.29 q5PWc0B3M.net
>>358
>>329は受信によってイベントを発生させるとか書いてるからサービスでないといろいろ面倒だが、単にポートの読み書きを共有するだけならサービスなんていらんよ
382:デフォルトの名無しさん
18/06/28 18:17:20.09 q5PWc0B3M.net
>>361
まーた、俺の環境ではそんなデータはあり得ない(キリッ
ってか
いちいちマウント取りに来なくていいよ
383:デフォルトの名無しさん
18/06/28 18:25:00.98 hgy03eod0.net
また必死なのが沸いてるなァ
384:デフォルトの名無しさん
18/06/28 19:07:13.57 mpKH796a0.net
>>347
ありがとうございます
いろいろ試してみたところ、書いてもらった通りメソッドを宣言したオブジェクトのジェネリック型引数が
全部値型ならPrepareMethodの第2引数は要らないみたいです
でも値型と参照型が混在する場合は参照型のハンドルだけ渡せばいいというわけではなくて
値型のものも含めて渡す必要があるみたいなので、
やっぱり基本的にメソッドを宣言したオブジェクトがジェネリック型引数を持つなら
第2引数は必要と考えたほうが安全な気がします
385:デフォルトの名無しさん
18/06/28 19:15:51.58 UR04nmTq0.net
君たちマニアックすぎよ!
初心者用だぞ!
386:デフォルトの名無しさん
18/06/28 19:19:04.65 u+1Q3Zjpa.net
>>367
こういう馬鹿みるちいつも思うけど、それやってるのはお前なんだけど...
馬鹿にも程があるなほんと
387:デフォルトの名無しさん
18/06/28 19:24:04.13 q5PWc0B3M.net
>>371
>>368
388:デフォルトの名無しさん
18/06/28 19:29:53.64 u+1Q3Zjpa.net
>>372
これやるのも2chの馬鹿の特徴だよね
これ見るといつも思うが、こういう馬鹿には自分自身を見る自意識がないのかね。
お前
389:自身がやってることは何なんだw それ以前に必死だったら何なのかね。意味が分からん まるで「お前ウンコした!!!」って騒いでる中学生だけど、ガチでそのあたりで精神年齢止まってる可哀想なお方なんだろうけどね
390:デフォルトの名無しさん
18/06/28 19:35:28.68 OkcoTao20.net
>>373
>>1読め
391:デフォルトの名無しさん
18/06/28 19:36:30.54 u+1Q3Zjpa.net
232C使うようなデバイスでアドレスだのポート番号だの、振り分けが必要なケースなんかレアだろう、
(質問者もそんなこと言ってない)ってのはごく普通の感想だと思うけど、異論があるならできれば
具体例上げて反論すればいい。
マウントがどうとか中学生じみたことしか言えない馬鹿は黙ってろって
いい歳こいて恥知らずかよ
392:デフォルトの名無しさん
18/06/28 19:37:46.81 u+1Q3Zjpa.net
>>374
いう相手を間違えてるよ馬鹿
こういう馬鹿も2ch名物だな
393:デフォルトの名無しさん
18/06/28 19:41:07.48 OkcoTao20.net
>C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください
読めないのは誰なのか
394:デフォルトの名無しさん
18/06/28 19:44:26.95 5xE/3ALJ0.net
slip も知らない奴にほざかれてもな
あと産業用ならRS-485はまだまだ現役
URLリンク(www.fujiele.co.jp)
395:デフォルトの名無しさん
18/06/28 19:46:09.46 wDYBzoR70.net
結局、物理的な線は一本なんだろ?
なんで他アプリ全員に配るんだ?
396:デフォルトの名無しさん
18/06/28 20:21:27.00 u+1Q3Zjpa.net
>>377
お前自身も読めてない。いってるそばから「俺だけ特別」クンか
そもそもなぜ喧嘩を売った側でなく売られた側を非難するのか
馬鹿だろお前。
397:デフォルトの名無しさん
18/06/28 20:25:36.86 u+1Q3Zjpa.net
>>379
それは愚問。
ただ、昨日から言ってるように、現実的に考えれば質問者がやりたいことは
>>344みたいな感じである可能性が一番高いと思う。
もちろん、仮想的な複数の通信チャンネルを実現したい可能性も否定はできない
398:デフォルトの名無しさん
18/06/28 20:38:08.78 9GisGdyJ0.net
「自分自身」と「馬鹿」って来たら例外を握り潰す君だから
そいつこのスレに12年いるぜ
399:デフォルトの名無しさん
18/06/28 20:40:32.24 9GisGdyJ0.net
年いくつだろ
Hagexを刺した統失くらいはあるのかなw
400:デフォルトの名無しさん
18/06/28 20:44:45.44 9GisGdyJ0.net
あとは「口調」「中学生」「精神年齢」は定番ワード
401:デフォルトの名無しさん
18/06/28 20:47:01.29 u+1Q3Zjpa.net
>>382
こいつもいつも思うけど、これで自分をおかしいと思わないんだから幸せでいいよねw
前から誰のこと言ってるのか知らんけど、この意味不明な粘着質、普通にストーカーと同じメンタルだ
402:デフォルトの名無しさん
18/06/28 20:53:26.04 u+1Q3Zjpa.net
そもそも匿名掲示板で誰かを「特定」して付きまとってやろう、って動機が理解不能だけど、
普通の人間だったらそんな動機を持つ俺って異常なんじゃないかと悩むと思うんだけど...
いや悩まなくても、多少知恵がある人間なら、それって(2chにはよくいる)負けを認めるだけの
精神的強さを持たない弱者の「精神勝利法」なんじゃないか、とか思うと思うんだけど
403:デフォルトの名無しさん
18/06/28 21:27:08.49 wMDqdzUG0.net
必死だな。
404:312
18/06/28 22:49:06.80 RNZwZaAN0.net
遅レスですがobjectをdynamicに変えて値を取る事が出来ました
こんな便利な型があるんですね
ありがとうございました
405:デフォルトの名無しさん
18/06/29 07:02:58.46 41EVR+sW0.net
動機ねえ、スレが荒れそうだからかな
俺に反応して貰って、俺が反応を無視すれば、とりあえず収まるんだよ
そう、いつものことだ
406:デフォルトの名無しさん
18/06/29 07:26:58.04 mdiAhzMH0.net
>>375
232cは物理層の規格や。今だってモデムやTNC繋げる人もいるさ。
407:デフォルトの名無しさん
18/06/29 08:53:11.26 HPFHtU9c0.net
>>329
答え出てると思うけど
プロセスは3つにする
1つのプロセスはシリアル通信のサービスを提供
他の2つはクライアントとしてシリアル通信の要求をだす
要求はQueueで排他する等で安全策取る
プロセス間通信は適当に(ipc使えば簡単かな)
408:デフォルトの名無しさん
18/06/29 08:55:21.96 HPFHtU9c0.net
>>391
あ、、、要求じゃなくてサーバーが自走して受信のイベントをクライアントに出すのか
でもそれも可能だからね
409:デフォルトの名無しさん
18/06/29 09:17:28.48 VFzCkUQ4r.net
おお、コンプリティッドタスク!!!
使ってみよう
ありがとうございました
410:デフォルトの名無しさん
18/06/29 10:32:36.67 eG0vtZS/M.net
ipcは死んだ技術なのかと思ってたけどつかってる人いるんだね
デバッグ環境ではうまくいくけど実環境でこけることが多いから最近は使ってなかった
411:デフォルトの名無しさん
18/06/29 10:33:59.19 1XSLHtbi0.net
electronでもつかうことね
412:デフォルトの名無しさん
18/06/29 12:38:26.74 8d6UIl5Q0.net
配列内の文字列がtargetStrに含まれてるかどうかを調べるコードなのですが
いまどき風な書き方ってありますか?
var words = new string[] { "ああ", "いい" };
foreach (var word in words)
{
if (targetStr.IndexOf(word) != -1)
{
// hit
}
}
413:デフォルトの名無しさん
18/06/29 12:45:50.64 iCnCbkLdd.net
>>396
Contains
414:デフォルトの名無しさん
18/06/29 13:54:50.63 6eaCpSu00.net
>>396
targetStrの中に"ああ"や"いい"が含まれている判定はIndexOfでいいんじゃね?
ループつかわないでLINQのAnyメソッドにしておくとか
415:デフォルトの名無しさん
18/06/29 13:59:23.95 6eaCpSu00.net
あ、すまん。おらの見ないでよかと。>>397見てなかったorz
416:デフォルトの名無しさん
18/06/29 16:12:15.55 tWLgdBQo0.net
まぁ、words.Any(word => targetStr.Contains(word)) ですっきり書こう、が今時?なんかなぁ?
417:デフォルトの名無しさん
18/06/29 16:54:35.36 Z9lwbPEL0.net
>>400
それ、words.Any(targetStr.Contains) でいけるよ
仮引数いらん
418:デフォルトの名無しさん
18/06/29 17:33:42.32 +TbsbPax0.net
>>400-401
URLリンク(qiita.com)
このページでは
.Where( string.IsNullOrWhiteSpace );
よりも
.Where( x => string.IsNullOrWhiteSpace( x ) );
を推奨してるけどいまいちよく分からないから詳しい議論を聞いてみたい
419:デフォルトの名無しさん
18/06/29 17:56:22.21 n04C+v3iM.net
>>402
お前は何回Where呼ぶつもりやねんと
Whereの引数に渡すデリゲートのnewがネックになるほどタイトなループでWhere呼ぶなら、明らかにその設計自体が問題
どうでもいい机上の空論だから全く気にする必要はない
通常は、そんなことよりもラムダが間に一枚入ることによるメソッド呼び出しのオーバーヘッド増加のほうが問題になる
420:デフォルトの名無しさん
18/06/29 18:01:54.20 NMkrO0hpd.net
仮引数を省略してるというより渡してるものが違うだろ。
たとえフレームワークの関数でも、関数自体は俺も渡したくはないな。
xとか付けるやつは意識してないだろうが、引数名も有意義だし。
そもそもこれぐらいならインライン展開されるだろうし。
421:デフォルトの名無しさん
18/06/29 18:06:39.91 Z9lwbPEL0.net
関数を第一級オブジェクトとして取り回したくないならLinqなんぞ使わず
422:素直にループした方がいいよ
423:デフォルトの名無しさん
18/06/29 18:31:03.18 fLw6tHLKM.net
最近はクエリスタイルも悪くないかなって思えてきた
単純に記号が減って読みやすいし
ループで書いたらネストするようなクエリを書きやすい
Effective C#でもサンプルコードにクエリ形式を使ってるね
424:デフォルトの名無しさん
18/06/29 19:20:37.69 ldv2G5QsM.net
>>404
関数型の世界では関数をそのまま渡すほうが好まれるよ
その方がより宣言的だからな
ラムダはダサい
425:デフォルトの名無しさん
18/06/29 19:30:19.44 NMkrO0hpd.net
一級オブジェクトとして関数渡してんじゃん?ラムダでも。Funcがdelegateなのが気に食わんのかな。
ダサいってのは主観的な気がする。
426:デフォルトの名無しさん
18/06/29 19:40:00.41 Z9lwbPEL0.net
あれ、主張がわからんくなってきた
関数を引数にするのはいいけど、その場合必ずラムダで無名関数作ってから渡したいって話なのか
427:デフォルトの名無しさん
18/06/29 19:42:32.14 HOtQS3nQa.net
>>408
Haskellとかやってみたらわかるぞ
関数型ワールドでは徹底的にプレースホルダを省くのがクールと見做される
理由は知らん
428:396
18/06/29 20:03:36.51 8d6UIl5Q0.net
皆様ありがとうございます!
高度過ぎて理解できてませんがContainsとLINQ any調べてやってみますm(_ _)m
429:デフォルトの名無しさん
18/06/29 20:08:45.96 MGdViK9A0.net
>>410
そこら辺は言語毎の宗教だろ
他言語を持ち出して比較するのはフェアじゃない
430:デフォルトの名無しさん
18/06/29 20:19:05.54 4EyMIKKY0.net
宗教というか、純粋関数型言語とマルチパラダイム言語で記法を比べられてもな
431:デフォルトの名無しさん
18/06/29 20:32:19.73 Z9lwbPEL0.net
>>410
ポイントフリースタイルにこだわりすぎるのはHaskell界隈でも嫌われてるから
あんま変な誤解を植え付けんでくれ
仮引数があった方がわかりやすいならつければいい
ただ今回のContainsに関してはそれでわかりやすくなる要素が見当たらないので何とも
まぁどっちでも普通に読めるから、どっちでもいいよもう
432:デフォルトの名無しさん
18/06/30 13:03:37.19 stDx+Xo5a.net
デリゲートとラムダ式は別物
メソッドにラムダ式を渡してると思って実際は変換されたデリゲートを渡してる場合もある
メソッドのシグネチャーを見てラムダ式をわたしてるのかデリゲートを渡してるのか意識すべき
433:デフォルトの名無しさん
18/06/30 13:20:07.97 wYh1ox1V0.net
やっぱりラムダ式とかデリゲートとか難しい…
>>415
メソッドに渡すのは常にデリゲートだと思ってました
ラムダ式を渡す場合とデリゲートを渡す場合、それぞれの例を教えてもらえませんか?
434:デフォルトの名無しさん
18/06/30 13:26:42.98 stDx+Xo5a.net
>>416
ちょっと書いてたことはあいまいで間違っていたが詳しく知りたいなら
c# ラムダ式 式木でググる
435:デフォルトの名無しさん
18/06/30 13:47:21.51 +7yWvOiaM.net
>>415
お前は何を言ってるんだ
ラムダ式は文法要素上はメソッドの一種
メソッドだからデリゲートに暗黙的にキャストされる
436:デフォルトの名無しさん
18/06/30 13:51:28.53 1b356axK0.net
ラムダ式を渡してるって、その日本語自体がおかしい事に気づくべき。
437:デフォルトの名無しさん
18/06/30 13:52:29.78 wYh1ox1V0.net
>>417
勉強になります
>>415 の真意は↓の中で4行目だけはコンパイルできないから気をつけましょうということですか?
Func<string, bool> a = s => string.IsNullOrEmpty(s);
Func<string, bool> b = string.IsNullOrEmpty;
Expression<Func<string, bool>> c = s => string.IsNullOrEmpty(s);
Expression<Func<string, bool>> d = string.IsNullOrEmpty;
このあたりのことがとてもあやふやなので解釈が間違っていたらぜひ教えてほしいです
438:デフォルトの名無しさん
18/06/30 15:08:20.00 d8PLC79S0.net
そんなのいいから早く完成させろよ
439:デフォルトの名無しさん
18/06/30 15:12:03.88 /Bfo044u0.net
ところで
words.Any(targetStr.Contains) とか
Func<string, bool> b = string.IsNullOrEmpty; とか
これいつからできるようになってたの?
ラムダ式導入時からできてた?
440:デフォルトの名無しさん
18/06/30 15:18:18.92 +7yWvOiaM.net
>>422
C#2.0からだからラムダより前
今では誰も使ってない匿名メソッドと一緒に入った
匿名メソッドもラムダもメソッドなので、メソッドからデリゲートへの暗黙変換がないと
匿名メソッドもラムダもデリゲートをいちいち明示的にnewしないといけなくなる
441:デフォルトの名無しさん
18/06/30 15:23:28.91 EEKpc4BGa.net
>>422
ラムダ式は関係ないよw
C#2.0からデリゲートのインスタンスを明示的にnewしなくてもよくなった
URLリンク(ufcpp.net)
words.Any(targetStr.Contains) ;
は
words.Any(new Func<string, bool(targetStr.Contains));
の省略記法
442:デフォルトの名無しさん
18/06/30 17:23:22.11 VzcFRgA/0.net
オマエラ、
今夜ぐらいは仕事の事を忘れて肉でも食いにいけよ
443:デフォルトの名無しさん
18/07/02 09:33:02.24 6nQmCY/K0.net
あぁそうか、そういえばそのままなデリゲートだったね
すっかり忘れてたww
444:デフォルトの名無しさん
18/07/02 21:21:17.36 btMzwCPv0.net
直撮りで申し訳ないんですが
youとenemy のHP表示→それぞれ1~9の値を引くの処理をどちらかのhpが0になるまで続けるように組んだつもりなんですが、whileより上の部分と下の部分しか反映されませんでした
どうしたら上手く処理出来るでしょうか
URLリンク(i.imgur.com)
445:デフォルトの名無しさん
18/07/02 21:25:37.50 Y9X1m4Hz0.net
>>427
>= 0
446:デフォルトの名無しさん
18/07/02 21:30:15.05 btMzwCPv0.net
>>428
なるほど、確かにこれじゃあ条件が「hpが0以下の時」になっちゃってますね 助かりましたありがとうございます!
447:デフォルトの名無しさん
18/07/02 21:36:19.75 aT7of7CF0.net
わろた
448:デフォルトの名無しさん
18/07/02 21:36:50.28 aT7of7CF0.net
微笑ましさで、ね。
449:デフォルトの名無しさん
18/07/02 21:40:16.96 gdUYHRxe0.net
>>428
=いらないんじゃないか
>>427
while (you > 0&& enemy > 0){
もしくは
while (true) {
(処理)
if (you<=0||enemy<=0) break;
}
450:デフォルトの名無しさん
18/07/02 21:43:42.29 btMzwCPv0.net
>>432
両方hpが無くならないと終わらなかったので後者を使わせて貰いました
参考になります!
451:デフォルトの名無しさん
18/07/03 19:38:57.82 uKdaL+TvM.net
スクレイピングで、xpathや属性から要素を特定取得できると思いますが、逆に属性を取得することって、できるのでしょうか?
@class=取りたい属性←この値です
452:デフォルトの名無しさん
18/07/03 19:53:05.05 obHlRFH50.net
パーサーなに使ってるか知らんけど
xpath指定で値とれるなら属性指定すればとれるでしょう
453:デフォルトの名無しさん
18/07/03 19:56:50.40 BhHhKgjH0.net
ロケーションステップの末端に
/@取りたい属性
をつければ取れるだろう
あまりこのスレとは関係ないけど
454:デフォルトの名無しさん
18/07/03 20:15:00.81 3h3fF2lx0.net
>>435
>>436
その属性を取りたいんですよ。
455:デフォルトの名無しさん
18/07/03 20:40:16.29 BhHhKgjH0.net
だからぁ
/@class
だっつうの
456:デフォルトの名無しさん
18/07/03 20:43:41.32 BhHhKgjH0.net
見直すと436の説明が悪かった
457:デフォルトの名無しさん
18/07/03 21:57:38.45 c8nUoQXQM.net
属性 "名"がほしいのか
属性 "値"が欲しいのかがわからないよな
458:デフォルトの名無しさん
18/07/04 00:07:29.57 OxUMeZjO0.net
要素の属性を全部取得する
URLリンク(hokaccha.hatenablog.com)
要素の属性を全部取得したいんだけど、 jQuery ではできないっぽい。
DOMの element.attributes を使えばいける
459:デフォルトの名無しさん
18/07/04 01:32:51.59 QI
460:UWNU3h0.net
461:デフォルトの名無しさん
18/07/04 01:43:11.66 QIUWNU3h0.net
id="→sample←"
webページ上の値じゃなくて、→←で囲ったsampleという結果がほしいんです。
462:デフォルトの名無しさん
18/07/04 04:05:11.91 /r54tfMO0.net
>>345 と >>434は同じ人か?
seleniumの話なら
webDriver.Url = @"URLリンク(www.seleniumhq.org)
IWebElement element = webDriver.FindElement(By.Id("promo"));
element.FindElement(By.XPath("a")).GetAttribute("id");
463:デフォルトの名無しさん
18/07/04 05:51:54.18 QIUWNU3h0.net
>>444
ありがとうございます。試してみます。
464:デフォルトの名無しさん
18/07/04 07:03:48.24 nlc5wO39d.net
C♯勉強したんだけどネットに参考になるサイトないですか?
VBAはこれで勉強してネットで使いながらそこそこは出来るようにはなりました。何かを作りながら取り敢えず基礎的仕組みを理解出来ればと思ってます。
URLリンク(for-guests.com)
465:デフォルトの名無しさん
18/07/04 07:55:26.39 zwHbS25H0.net
>>446
↓とりあえずはここかな
URLリンク(dobon.net)
466:デフォルトの名無しさん
18/07/04 08:50:06.90 oGtdQ8QA0.net
いやいや未確認飛行だろう
467:デフォルトの名無しさん
18/07/04 09:30:12.33 rFQM1K2RM.net
>>444
無事に目的を果たせました!
感謝です。
468:デフォルトの名無しさん
18/07/04 15:02:10.32 x3V5psFC0.net
PC上からC#で制御できる汎用IO製品って安いのないんかな?
Raspberry PiについてるGPIOみたいなのが欲しいんだけど
469:デフォルトの名無しさん
18/07/04 15:06:52.68 ZJ2LKM3Q0.net
デバドラの認証コストだけでも結構なお金がかかるからなぁ
470:デフォルトの名無しさん
18/07/04 15:11:38.24 BdK+b5Vga.net
Arduinoがいいよ
471:デフォルトの名無しさん
18/07/04 16:48:56.19 n4h9hTEh0.net
超面白い
URLリンク(goo.gl)
472:デフォルトの名無しさん
18/07/04 17:14:18.28 Ub7D34vBa.net
>>450
あんまり安くもないがこんなのとか
URLリンク(akizukidenshi.com)
このICの本来の用途はGPIOじゃないが、GPIOとしても使えたはず。
でも8本 + αしかないし使い方に癖があった気がする。
473:デフォルトの名無しさん
18/07/04 19:26:55.57 x1yYTdeNp.net
むしろラズパイやらArduinoとシリアル通信させてそちらのgpioに何か繋ぐ方が、安心安全いざショートしちゃったとかのアクシデントの時にも安く済むよ。
474:デフォルトの名無しさん
18/07/04 19:51:54.95 F41Mlataa.net
>>454
それシリアル
USBパラレル変換モジュールの方では?
475:デフォルトの名無しさん
18/07/04 20:05:13.89 acN7B5+I0.net
Attiny85のV-USBで遊んでるarduino互換
完成品にDigisparkってのがあるけど尼とかで数百円
URLリンク(www.amazon.co.jp)
476:デフォルトの名無しさん
18/07/04 20:23:47.96 Ub7D34vBa.net
>>456
だから
>このICの本来の用途はGPIOじゃないが、GPIOとしても使えたはず。
って前置きしてるでしょ。
確認してみたけど、ちょっと変則的だけど一応使えるよやっぱり
パラレルの方(FT245)のICもGPIOとして使えるが(こっちも本来はそういう用途じゃない。ちなみにこっちは使用経験あり)
こっちの方がちょっとだけ高価でGPIOとして使えるピン数も少ない
URLリンク(akizukidenshi.com)
477:デフォルトの名無しさん
18/07/04 21:43:30.53 rQfJfUyF0.net
>>454
取説見るとデジタルI/Oは5本みたいだが。
478:デフォルトの名無しさん
18/07/04 21:46:57.76 gFgZc5FG0.net
AWK
479:デフォルトの名無しさん
18/07/04 22:01:51.27 Ub7D34vBa.net
>>459
スレ違いだけど、このドキュメントのP3に書いてある特殊機能があるんよ
URLリンク(www.ftdichip.com)
最低8本は使える
残りのプラスアルファーがどういう風に使えるかは、たぶんドライバーのAPI
アプリケーションノートに書いてあると思うが、さすがに面倒だから読んでない
480:デフォルトの名無しさん
18/07/04 23:48:29.40 acN7B5+I0.net
FTDIのはドライバ必須だし
HIDとかで繋がるやつ揃えた方が楽だよ
481:デフォルトの名無しさん
18/07/04 23:51:36.78 acN7B5+I0.net
HIDというか標準クラスね
例えばArduino Leonardo相当であれば何にでも化けられる
482:デフォルトの名無しさん
18/07/05 09:53:48.98 4AVSF7Vxp.net
HIDって、出力ディバイスにも使えたっけ?
483:デフォルトの名無しさん
18/07/05 11:12:32.85 zf6L08GCa.net
digisparkというのを使ってたけどHIDデバイスに見えて入出力OK
昔は300円以下で送料無料で中国から買えたんだけど値上がりしちゃった
484:デフォルトの名無しさん
18/07/05 15:50:31.35 P71/Py9I0.net
C♯でMySQLを操作したいのですが楽に扱えるライブラリはありますか?
EntityFrameworkを使いたいのですがイマイチ接続できないので
一応昔にSQL書いて操作するパターンも作ったことありますが出来ればせっかくなのでやり取り楽な風にできればと思ってます
485:デフォルトの名無しさん
18/07/05 16:03:16.41 I27lRIcu0.net
LinqConnect
486:デフォルトの名無しさん
18/07/05 18:53:29.35 /h700nZmM.net
Dapper
487:デフォルトの名無しさん
18/07/05 20:00:51.78 P71/Py9I0.net
ありがとうございます
Dapperの存在忘れてましたこちら使い方少し調べてみます
LinqConnectも調べましたが環境整えるところからなので余裕ができたらこちらも調べてみます
488:デフォルトの名無しさん
18/07/05 20:12:43.80 LKNZKA8z0.net
>>464
昔からあるUSB-IOもHIDだよ
489:デフォルトの名無しさん
18/07/06 14:19:45.98 v98PP3uI0.net
教えてください
Power1とPower2はxのn乗を求める関数だそうなのですが
なぜPower2がxのn乗になるのかさっぱり分かりません
しかもPower2の方がPower1よりも効率がいいらしいです
よろしくお願いします
double Power1(double x, uint n)
{
double power = 1;
while (n > 0)
{
power = power * x;
n = n - 1;
}
return power;
}
double Power2(double x, uint n)
{
double power = 1;
while (n > 0)
{
if (n % 2 == 1) power = power * x;
x = x * x;
n = n / 2;
}
return power;
}
490:デフォルトの名無しさん
18/07/06 14:26:00.38 CcG3LQ040.net
double power = 1.0;
の方が効率がいいぞ
491:デフォルトの名無しさん
18/07/06 15:02:32.12 W35a98bMa.net
>>471
高校数学やん
x^(a +b) = x^a + x^b
x^(a * b) = (x^a)^b
492:デフォルトの名無しさん
18/07/06 15:02:47.67 M3cpa2kAa.net
>>471
これでわかるか?
x^n = {
nが2で割り切れるとき x^(n/2) * x^(n/2)
割り切れないとき x^((n-1)/2) * x^((n-1)/2)
}
493:474
18/07/06 15:03:33.89 M3cpa2kAa.net
すまん訂正
割り切れないとき、はこれにxを掛けてくれ
494:デフォルトの名無しさん
18/07/06 15:04:04.87 W35a98bMa.net
>>473
ん゛?
× x^(a +b) = x^a + x^b
〇 x^(a +b) = x^a * x^b
495:デフォルトの名無しさん
18/07/06 15:31:31.99 v98PP3uI0.net
>>472
ありがとうございます
定数だけの四則演算やキャストはコンパイルの時点で行われるから
効率に影響は無いと習ったのですがこの場合は違うのですね
キャストがコンパイル時と実行時のどちらで行われるかを判断する
簡単な方法があれば教えてほしいです
>>473 >>476 ありがとうございます 指数法則が関係あるのですね これをヒントにもう一度考えてみます >>474-475 ありがとうございます 教えてもらったことをヒントに再帰を使ってxのn乗を作ってみたのですが この関数はあってますか? でも、やっぱりなぜPower2がxのn乗になるのかよく分かりませんでした double Power3(double x, uint n) { if (n == 0) return 1; else if (n % 2 == 0) return Power3(x, n / 2) * Power3(x, n / 2); else return Power3(x, (n - 1) / 2) * Power3(x, (n - 1) / 2) * x; }
497:デフォルトの名無しさん
18/07/06 15:54:12.85 W35a98bMa.net
>>477
こうじゃない?
いい加減に書いたから間違ってたらごめん
double Power(double x, uint n)
{
if (x == 0) return 0;
if (n == 0) return 1;
if (n == 1) return x;
return n % 2 == 0 ? Power(x * x, n / 2) : Power(x * x, n / 2) * x;
}
要するに、
x^(a + 1) = x^a * x
x^(2 * a) = (x * x)^a
498:デフォルトの名無しさん
18/07/06 16:10:07.44 v98PP3uI0.net
>>478
ありがとうございます
そのPowerを再帰を使わずに書くと>>471のPower2になるということですか?
なんだか分かりそうな気がしてきたのでその方向でもう一度考えてみます!
499:デフォルトの名無しさん
18/07/06 16:12:36.64 W35a98bMa.net
あー直接関係ないけど、0の0乗って1でいいんだな
500:デフォルトの名無しさん
18/07/06 17:25:12.79 v98PP3uI0.net
お陰様で>>471について理解できたと思います
どうもありがとうございました!
>>480
言われてみると、>>471のPower1やPower2では0の0乗が1になりますが
>>478のPowerだと0の0乗が0になりますね
調べてみたらWikipediaに「0の0乗」というページがあって
確かに0の0乗を1と考えることが多いと書いてありましたが
それ以外の考え方もあるみたいです
501:デフォルトの名無しさん
18/07/06 17:29:05.92 Utskd+YBa.net
0乗が1以外になる考え方なんてあるんだ
単位元の1に何も掛けないんだから常に1だと思ってた
502:デフォルトの名無しさん
18/07/06 22:25:57.54 cMQzyLwk0.net
高速冪乗法でググれって感じだ
503:デフォルトの名無しさん
18/07/07 00:10:19.78 PwTdVeWu0.net
>>471の件ではどうもありがとうございました
もう一つ質問させてください
以下のPopulation1とPopulation2は同じ結果になるそうです
Population1は>>471のPower2によく似てるので
これは指数計算の変形だと思うのですが、
Population2でも同じ結果になるのが理解できません
何度もすみませんがよろしくお願いします
uint Population1(uint n)
{
uint population = 0;
while (n > 0)
{
if (n % 2 == 1) population = population + 1;
n = n / 2;
}
return population;
}
uint Population2(uint n)
{
uint population = 0;
while (n > 0)
{
population = population + 1;
n = n & n - 1;
}
return population;
}
504:デフォルトの名無しさん
18/07/07 00:10:35.11 PwTdVeWu0.net
>>482
確かにWikipediaによれば
半群Sが単位元1をもつならSの元aの0乗は1になるので
Sが零元0ももつなら0の0乗は1になるそうです・・・なんのこっちゃw
>>483
ありがとうございます
Power2はちゃんとした名前のついたアルゴリズムだったんですね
この分だとPopulation2にも名前がついてそうですが
それらしい情報を見つけることができなかったので
もしご存知だったら教えてもらえると嬉しいです
505:デフォルトの名無しさん
18/07/07 00:33:06.38 cboIXbsqa.net
>>484
面白いねw
要は1が立ってるビットの数を数えてるわけだと思うけど、
Population2の方は
>n = n & n - 1;
これやると1が立ってる最下位ビットが消えるんだなw
名前は知らないごめんね
506:デフォルトの名無しさん
18/07/07 00:57:48.65 PwTdVeWu0.net
>>486
ありがとうございます
ビット演算については分かってるつもりだったのに全然でした・・・
ヒントを貰って下のようなプログラムを試してみたら
確かに最下位ビットが順に消えていって感動です
uint n = 4649;
while (n > 0)
{
Console.WriteLine(Convert.ToString(n, 2));
n = n & n - 1;
}
【実行結果】
1001000101001
1001000101000
1001000100000
1001000000000
1000000000000
でも結局n = n & n - 1;で最下位ビットが消える理由が
理解できていないのでもう少し考えてきます
507:デフォルトの名無しさん
18/07/07 01:08:23.64 cboIXbsqa.net
>>487
デクリメントした時、
(1) ボローが発生しなくなる
508:桁(つまり、最下位の1の桁)はデクリメントの前は1、後は0 (2) その下位の桁はデクリメントの前は0、後は1 (3) 上位の桁の値は変わらない なんだから、前後の値の論理積は必ず最下位の1まで0になる
509:デフォルトの名無しさん
18/07/07 01:35:58.15 PwTdVeWu0.net
>>488
とてもわかり易い説明ありがとうございます!お陰様で理解できました
実はこの説明を読むまでn & n - 1は(n & n) - 1という意味だと思ってて、
それならn - 1と同じじゃないのかと思いながらも
トンチンカンなことを言ってしまうのが怖くて黙ってたのですが、
こんなことなら変なプライドは捨ててさっさと疑問をぶつければよかったです
この問題を考えていて、少しビット演算に慣れてきた気がします
使い道があるかどうかは分かりませんが、
n = n & ~(n - 1);だと逆に最下位ビット以外を消すことができるんですね
とにかく、どうもありがとうございました
510:デフォルトの名無しさん
18/07/07 01:57:17.51 PwTdVeWu0.net
今更ですがPopulationってビットの人口ってことだったんですね・・・
Wikipediaにもページがバッチリありました
URLリンク(en.wikipedia.org)
511:デフォルトの名無しさん
18/07/07 07:04:40.39 jG1Ln0tj0.net
すいません
Pawar はx^nですか
512:デフォルトの名無しさん
18/07/07 18:20:25.33 xch9dzoq0.net
C#で予め用意されているクラス(Mathなど)のソースコードを見ることは可能ですか?
勉強がてら、どんな風に書かれているのか見てみたいのですが・・・
513:デフォルトの名無しさん
18/07/07 18:25:45.35 30ihGmDyM.net
>>492
ここにある
ちなみにMathは大部分が直接CLRに組み込まれていてC++で実装されているからあまり参考にはならんぞ
URLリンク(github.com)
514:デフォルトの名無しさん
18/07/07 18:28:37.54 cyf+ZGJha.net
そっち?
515:デフォルトの名無しさん
18/07/07 18:35:29.39 nZLHvKy0a.net
さすがに今更 Reference Sources は時代遅れだろ
Coreの方がコンパクトに纏まっててわかりやすいし、コピペしても捕まらないし
516:デフォルトの名無しさん
18/07/07 21:12:55.79 gKVOSzfp0.net
他人の書いたライブラリとか使おうと思っても仕様書もどう読めばいいかあまりわからなくて
いつも他人様の書いたコード見てやっとなんとなく使い方理解できてるんですが
サラサラかける人はどういう見かたしてるんですか?サンプル見てメソッド見ればもうわかるのですか?
517:デフォルトの名無しさん
18/07/07 21:24:10.82 Sa3mysoT0.net
>>496
ソースのメソッド見て中身理解するのは仕様書読むよりも難しくないか
メジャーなライブラリなら例を書いているサンプルがネット上にいっぱいあるし
そうでなくてもある程度自分で試しながら理解したらいいと思うが
518:デフォルトの名無しさん
18/07/07 21:27:00.32 30ihGmDyM.net
>>496
サンプル見ればだいたい分かるよ
お前も新しいフリーソフトとかWebサービスとか使うときマニュアル見なくてもだいたい分かるだろ?
それでお前の母ちゃんや友人に何で分かるのか聞かれて何て答える?
それと同じことで、経験を積むとパターンやライブラリの作者の考えが読めるようになってくる
519:デフォルトの名無しさん
18/07/07 22:41:26.27 E0dVopgVM.net
簡単だよ
こういう処理がしたいならメソッドにこういう文字列が含まれてるはずだよな
インテリセンスカチャカチャほらみろ有ったぞ
次は引数をドキュメントコメントで調べて入力
コンパイルエラー消えたよしこれでオッケー
ビルドして起動したら…はい動いたおわり
だいたいこんな感じ
今はライブラリも開発環境も優秀すぎて楽だよほんと
520:デフォルトの名無しさん
18/07/07 22:50:08.17 paMTBjoR0.net
右クリックして定義見ればよくね?
521:デフォルトの名無しさん
18/07/07 23:30:31.81 iY8uTCL40.net
LINQ使った最近のデザパタ紹介しているサイトや書籍ってある?
どこもなんか古いコードで
522:デフォルトの名無しさん
18/07/07 23:40:48.02 Xo0ZcSzF0.net
>>501
誰も使ってネーからって気づけw
523:デフォルトの名無しさん
18/07/08 00:27:29.44 7kODHcAp0.net
>>501
linqの古いコードって、例えばどんなん?ラムダ使ってない奴のことかな?
524:デフォルトの名無しさん
18/07/08 00:45:39.18 ijnRC5hf0.net
>>503
日本語
525:デフォルトの名無しさん
18/07/08 02:13:34.73 8SSmHvWN0.net
性懲りもなくよう相手にするなあこのクサレ脳みそども
526:デフォルトの名無しさん
18/07/08 11:15:40.05 YcDPlOAza.net
他のスレでデザパタと略す奴は例外なくクソって言う風潮があるから
その略称は使わないほうがいいw
527:デフォルトの名無しさん
18/07/09 15:36:56.63 Uwu2BFrsM.net
LinqというかDBアクセス系のパターンの事ならリポジトリパターンやイベントソーシング・CQRSあたりかな
MSの黒本 C#実践開発手法 はどうだろう
あとRxも押さえとけば
528:デフォルトの名無しさん
18/07/09 23:28:49.95 8W0J0prF0.net
名前付きパイプでプロセス間通信するとき、できるだけ遅延を小さくするためにすべきこと、したほうがいいことがありますか?
529:デフォルトの名無しさん
18/07/10 03:23:37.00 LdlDw2V90.net
ポータブルなASP.NET実行環境はありますか?
勝手にソフトインストール出来ない環境で使いたい為、Tomcatのように、設定ファイルで設定してexe起動するだけのタイプを探しています。
530:デフォルトの名無しさん
18/07/10 03:44:47.11 wzF2q8B9a.net
>>509
.NET CoreとASP.NET Core
SCDでデプロイして内蔵サーバーのKestelで動かす
CoreはMVC系なので509が知っているASP.NETとは別物かもしれないが
531:デフォルトの名無しさん
18/07/10 07:07:05.03 1Wfv3KWad.net
formが3つがあってそれぞれ仮にa,b,cとして、a,b,cの中にコンボボックスがいくつかあってaのコンボボックスの一つにエクセルをdbで読み取って?コンボボックスに値を入れました。
以降もコンボボックスに入れてくんですけど、違いがブック名とシート名でコードをまとめたい時はどこにどのように書けばいいですか?
今はform aのloadに一つ書いてます。
532:デフォルトの名無しさん
18/07/10 08:43:35.96 wzF2q8B9a.net
class Configurations { 各コンボボックスに入れるべき値をそれぞれプロパティとして定義 }
interface IConfigurationsSource { Configurations GetConfigurations(); }
class ExcelConfigurationsSource : IConfigurationsSource {
private readonly string book;
private readonly string sheet;
public ConfigurationsSource(string book, string sheet) { this.book = book; this.sheet = sheet; }
public Configurations GetConfigurations() { return Excelシートから読み取ってConfigurationsに詰めて返す(book, sheet); }
}
こういうのを作って使い回す
533:デフォルトの名無しさん
18/07/10 10:08:29.34 DQNNzOip0.net
クラスを継承して機能を共通化するのとインターフェースで共通化するのと何が違いますか?
534:デフォルトの名無しさん
18/07/10 10:27:34.35 u496riIwM.net
いろいろなレベルでの回答があるが
インターフェースはMIX可能
継承の濫用は保守困難になりがち
インターフェース意識した方が設計的にスマートな事が多い
c#8で事情は大きく変わるが
535:デフォルトの名無しさん
18/07/10 13:38:42.06 vEF725PNp.net
クラス継承は切り離せないが、インターフェースなら切り離せる。
536:デフォルトの名無しさん
18/07/10 15:17:35.18 ptn/0Y0d0.net
>>493
即レス
537:感謝です 勉強になります ありがとうございました
538:デフォルトの名無しさん
18/07/10 15:18:53.33 6gd4tcDd0.net
え、8ってどうなるん・・・
539:デフォルトの名無しさん
18/07/10 15:59:38.63 lFSMnKMw0.net
そらもうアレよ
540:デフォルトの名無しさん
18/07/10 17:43:22.36 pIJZecgId.net
おジャ魔女どれみc#
541:デフォルトの名無しさん
18/07/10 19:00:19.81 1Wfv3KWad.net
>>512
レベルが高過ぎてさっぱりです。
これはクラス追加してクラスに書く感じですかね?
クラス=VBのモジュールって感じでいいんですかね?
542:デフォルトの名無しさん
18/07/10 19:04:58.17 WX+x+qIF0.net
>>514
> c#8で事情は大きく変わるが
C#8ではnull非許容が標準になるという噂は聞いたことがあるのですが、
この話は検索してみてもなんのことを仰っているのか分かりませんでした
とても興味があるので、ぜひ詳しく教えていただけないでしょうか
543:デフォルトの名無しさん
18/07/10 21:19:40.32 vJrIcc2p0.net
>>521
インターフェースのデフォルト実装が導入されることかな。
.NET ランタイムにも手が入るそうな。
544:デフォルトの名無しさん
18/07/10 21:45:00.39 WX+x+qIF0.net
>>522
レスありがとうございます!
ただこれだけを聞くとC#8でインターフェースの価値が更に上がるように思うのですが、
>>514さんはインターフェースの価値を説かれた上で
「c#8で事情は大きく変わる」と仰っていているので、他の機能に拡充が図られるなどで
インターフェースの価値が相対的に下がると仰っしゃりたいように感じました
実際にはそういうわけではないのでしょうか?
いずれにしても、インターフェースのデフォルト実装は便利そうで楽しみです
あと、それほどいろいろと手を入れるなら、
IList<T>が共変なIReadOnlyList<out T>と反変なIWriteOnlyList<in T>を
継承するようにするとか、そういう変更もあると嬉しいな~と素人ながら思ってみたりw
545:デフォルトの名無しさん
18/07/10 22:52:33.99 uwEab9SB0.net
めっちゃ詳しいw
546:デフォルトの名無しさん
18/07/10 23:47:58.27 vJrIcc2p0.net
>>523
IWritableListとIReadableListみたいな名前ならともかく、
それじゃわざわざOnlyって強調した単語使ってる意味がなくなるから悪手だろ
547:デフォルトの名無しさん
18/07/11 00:12:23.28 08+HRZoYa.net
>>525
既にList<>はIReadOnlyList<>を実装してるんだから今更だろ。
IList<>がIReadOnlyList<>を継承できない理由は、インターフェイスメンバの明示的実装を壊すから
IList<>に宣言されてたメンバのうちIReadOnlyList<>と被るものを全部削除したとしたら、IList<>のメンバを明示的実装している既存のクラスが全滅する
548:デフォルトの名無しさん
18/07/11 00:40:08.40 OI/RESej0.net
誤解を与えてすまん
c#8でインターフェースのデフォルト実装がサポートされるので価値は高まるという認識でok
null不許容も含めて大きく変わるねえ
549:デフォルトの名無しさん
18/07/11 00:50:36.62 OI/RESej0.net
null非許容を乱暴に説明すると
参照型の変数にnullが入らないのがデフォになる。よって多くのシナリオでnull落ちになるケースが激減する。基本的にプログラミングが楽になる。
変数にnull許可する場合には明示的に宣言が必要になる。
既存のソースに対しては破壊的変更になるからコンパイルオプションとかになるんじゃないかな。
550:デフォルトの名無しさん
18/07/11 01:02:22.00 veaNU89qM.net
OOP的にも綺麗でテーブルが正規化されてればnull非許容は受け入れられるかもね
業務システムではあまり役に立たなそうだ
551:デフォルトの名無しさん
18/07/11 01:04:51.55 zbj7oPBja.net
552:>よって多くのシナリオでnull落ちになるケースが激減する。基本的にプログラミングが楽になる。 岩永氏の例の記事にもそう書いてあるが、何度考えてもこれは逆だと思うなw いわゆる「例外を握りつぶす」筋悪コードと同じ弊害をもたらすだけだろう
553:デフォルトの名無しさん
18/07/11 01:08:15.17 veaNU89qM.net
凄まじい列数でほとんどがnullのテーブル
あれをなんとかしないとアプリケーションからnullを排除することは難しい
インフラの問題だからホスト言語のちょっとした改善でどうにかなるものじゃない
554:デフォルトの名無しさん
18/07/11 01:22:37.10 OI/RESej0.net
最近の言語がそういう流れだからだろうね
DB絡みに外部結合やORM、既存ライブラリやサービスがある以上、null考慮は回避できないだろうから使い分けになるだろうね
nullまみれのテーブルも いまだにみかけるし
新規コードでサクサク組んでいくには便利やと思う
555:デフォルトの名無しさん
18/07/11 01:24:04.27 mrqtDgK70.net
>>525
レスありがとうございます
確かに、ReadOnlyという言葉がIReadOnlyList<>を継承するものにかかっていると考えると
IList<>がIReadOnlyList<>を継承するのは妙な感じですね
ただ現実として、>>526でも指摘していただいているようにList<>はIReadOnlyList<>を
実装していますので、ReadOnlyという言葉はあくまでIReadOnlyList<>自身にかかっていると
とらえてしまってもいいのかなと考えています
その現状の言葉遣いが間違っているのだから直すべきだというご主張なら、
実現可能性は私には難しくて分かりませんが、とても興味深いご意見だと思います
>>526
レスありがとうございます
書いていただいた文章を読むと、インターフェースは継承元のインターフェースと
同じ名前のメソッドを持てない、もしくはインターフェースの明示的実装に悪影響があると
考えていらっしゃるように見受けられたのですが、この部分がよく理解できなかったので
申し訳ないのですが詳しくご説明していただけるとありがたいです
>>527-528
レスありがとうございます
私の方こそ、変な深読みをしてしまい失礼しました
私は初学者なので機能の増強は単純に楽しみなのですが、
既存のソースを多くお持ちの方にとっては大幅な変更はいいことばかりでもないのですね
>>528-531
興味深いお話をどうもありがとうございます
自分からnull非許容の話を出しておいて恥ずかしいのですが、
実はこれが具体的にどういうものなのかほとんど理解できていないのです
var a = new string[1]; は許されるのか?とか、許されるならそれは
var a = new string[1] { string.Empty }; と同じ意味なのか?とか、
もしそれが正しいなら、クラス毎に Empty 的なものを用意しないといけないのか?とか
疑問は膨らむばかりです
556:デフォルトの名無しさん
18/07/11 01:52:22.43 OI/RESej0.net
シンプルなコードで良い疑問やなあ
実際導入されたら混乱しそう…
右辺のArrayがnullを許さないからコンパイラに怒られそう
初期値入れたらいけそう
もし仮にstringの規定値がemptyになる仕様になれば初期化無しでもコンパイルとおるかも
c#7系以前と同じ挙動にするなら
var a = new string[1]?;
という記述になるはず
List系使うから配列を生で使う機会は減ったけどね
557:デフォルトの名無しさん
18/07/11 01:53:31.50 OI/RESej0.net
恐ろしい子!
558:デフォルトの名無しさん
18/07/11 04:05:50.95 xb7b/JPY0.net
C#の話じゃないかもしれませんが、
LAN上の他のPCと通信するにはTCPorUDPしかないですかね?
ポート開けようとすると管理者のパスワード要求されるので
そういうのに影響されない方法があれば教えてください
サーバー上にファイル作って共有しようかとも思ったのですが
ロックとか速度とかちょっと使いにくいので
559:デフォルトの名無しさん
18/07/11 07:45:57.48 08+HRZoYa.net
インターネットに出れるんならAWSでSQSかKi
560:nesisでも使えば
561:デフォルトの名無しさん
18/07/11 08:15:13.05 RuBHX//DM.net
>>536
RAWなら好きなもの送れるでしょ
562:デフォルトの名無しさん
18/07/11 08:54:54.59 NAmdOA29M.net
ネットワークプログラミングの定石学びたいっす
563:デフォルトの名無しさん
18/07/11 09:14:18.75 RuBHX//DM.net
レイヤー無視なら
Multi-object Multi-lingual Document Intermediary の仕様書でも
564:デフォルトの名無しさん
18/07/11 09:42:14.12 DD+vdWYvp.net
>>536
TCPやUDPじゃないと関所を通れないからなぁ
565:デフォルトの名無しさん
18/07/11 10:03:35.37 /J4Azv5gd.net
ポート開けたくないな、名前付きパイプのRemotingは?
sambaのポートが開いてりゃ疎通できた気がする。
566:デフォルトの名無しさん
18/07/11 10:03:54.68 /J4Azv5gd.net
ないな→ないなら
567:デフォルトの名無しさん
18/07/11 12:51:43.31 vn5tWIshM.net
>>536
> ポート開けようとすると管理者のパスワード要求されるので
要するになんか管理者に知られずき通信したいんだろ
悪事に加担する気はない
568:デフォルトの名無しさん
18/07/11 12:56:39.30 fg0dx/vD0.net
アホか
くだらないことを書き込む前に少しは推敲しろ
569:デフォルトの名無しさん
18/07/11 13:59:27.90 cb0VPk/Kd.net
>>544
aho
570:デフォルトの名無しさん
18/07/11 16:51:29.67 xb7b/JPY0.net
ありがとうございます
まずは名前付きパイプを調べてみます
571:デフォルトの名無しさん
18/07/11 16:58:41.62 DD+vdWYvp.net
バイブにたかしとかりょうとか名前付けて愛用してんのかなぁ…
572:デフォルトの名無しさん
18/07/11 17:39:37.83 kzvuO0/N0.net
>>534
レスありがとうございます
>右辺のArrayがnullを許さないからコンパイラに怒られそう
>初期値入れたらいけそう
確かにそんな気がしますね
でもそうなると大きな配列とは相性が悪そう・・・
>もし仮にstringの規定値がemptyになる仕様になれば初期化無しでもコンパイルとおるかも
それが一番わかりやすそうですね
ただ、stringはともかくStringBuilderの規定値とかどうすればいいのかさっぱり見当がつきません
>c#7系以前と同じ挙動にするなら
>var a = new string[1]?;
>という記述になるはず
?の位置は[1]の前ですか?
まあ書き方はともかく、もしvar a = new StringBuilder[100];とすると
自動的に100個のStringBuilderのインスタンスが作られるなら、
そのような動作を望まなければ配列の要素の型はnull許容にしたほうが良さそうですね
そうすると、例えばジェネリック型を使うときにはstringのような型とStringBuilderのような型の
区別をつけたくなることもありそうですし、ジェネリック型制約に新しく
where T : immutable(intやstringは許すけどStringBuilderは許さない)が
追加されたり・・・とか妄想してみましたw
573:デフォルトの名無しさん
18/07/11 17:57:29.81 g/mYMck9M.net
プログラム素人で恐縮ですが、for文のスコープの中に変数を宣言するとメモリの無駄使いになるでしょうか?
for(;;) int hoge =1;
のような書き方です
for文に入る前に宣言した方が作法的に良いのであればそうしたいと思い
574:デフォルトの名無しさん
18/07/11 18:16:12.97 I//Y0R5O0.net
コンパイラが最適化するのじゃないか?
初心者は、そんな事を考えずに、なるべく狭いスコープで宣言した方が良い。
処理に、10秒以上掛かるのなら、その時に考えても良いけど
「Effective 何々」などの本を読むと、書いてあるかも知れないけど
575:デフォルトの名無しさん
18/07/11 18:20:39.15 L0DC21nsM.net
>>550
C系の言語では基本的に一箇所で宣言された変数はメソッド全体で一つしか作られない
C#の場合はクロージャが絡んだりすると変わってくるけど、基本的にはそういう思想で設計されてる
気にせず必要最小限のスコープで宣言せよ
576:デフォルトの名無しさん
18/07/11 18:31:22.94 vn5tWIshM.net
>>545-546
そんなレスしかできないからお前は🙅なんだよ w
577:デフォルトの名無しさん
18/07/11 18:40:26.95 sApF7MBC0.net
>>550
IL見ればあなたの悩みは全て解
578:決しますよ
579:デフォルトの名無しさん
18/07/11 20:26:56.12 DD+vdWYvp.net
あーでも>>550みたいな書き方すると突っ返されるメーカーあるよな。
無駄な作業させてるって自覚無いんだろうかなぁ
580:デフォルトの名無しさん
18/07/11 20:31:34.49 L0DC21nsM.net
>>550みたいな書き方してるコードってたいてい他の部分もクッソ汚いから、とりあえず突き返すのはわりと賢明なやり方
581:デフォルトの名無しさん
18/07/11 20:35:01.60 DD+vdWYvp.net
スコープ毎にスタック操作なんかしないし、汚くてもオプティマイズされたら面影も無いし、イジメでしか無い罠
582:デフォルトの名無しさん
18/07/11 20:39:44.95 sCxl2UHN0.net
>>549
このレスからにじみ出る頭のよさ
583:デフォルトの名無しさん
18/07/12 00:31:45.14 07VYm5500.net
var すら毛嫌いされちゃうとこなのでコードレビューなんかやったらストレスで禿げるわ
584:デフォルトの名無しさん
18/07/12 01:31:48.84 Mt10qC0c0.net
それぞれのコーディング規約に従えばいいんじゃないですか
585:デフォルトの名無しさん
18/07/12 02:20:50.58 uvVknaw70.net
>>555
さすがに>>550のコードは例としてはあれだが
C#でforの中でしか使わん変数をforの外で定義しろと?
どんなメーカーだよ。つかメーカーってなんのメーカーだよ
586:デフォルトの名無しさん
18/07/12 05:53:25.42 ddTdn7l60.net
C#8のデフォルトインターフェースメソッドって、
インターフェースでほぼコーディングを終わらせてしまうことも可能、
って解釈で良いのかな。
587:デフォルトの名無しさん
18/07/12 06:34:40.79 0C7UQQhF0.net
クエリとlinqとlinqToXmlの違いがなにかよくわからないです
これらはなんですか
クエリはfromやselectとか思ってたのですが
"from a ~ select a"も "XXXXXX.Select(~)" の両方ともクエリ?
linqの中にクエリがある感じですか?
用語の違いを知りたいです
588:デフォルトの名無しさん
18/07/12 06:53:16.73 TSQ/qQegM.net
>>561
C組込上がりが閑職で社内システムを任されるとありそう
関数の先頭で宣言しろ宣言
589:デフォルトの名無しさん
18/07/12 07:09:00.83 8dshyEbGd.net
>>563
メソッド式とクエリ式でググれ
590:デフォルトの名無しさん
18/07/12 07:38:41.95 VF8Jnm1rH.net
NumericUpDownで、ホイール下回転で値をUpさせる方法ないですか?
591:デフォルトの名無しさん
18/07/12 08:08:47.97 CB78gZS5M.net
>>562
ライブラリ実装者が破壊的変更の影響を最小化
細かいパフォーマンスを最適化
するためのものなので乱用しないで
拡張やダイヤモンド継承による名前の重複など問題はまだ残ってる
592:デフォルトの名無しさん
18/07/12 09:04:57.23 FtAr8eR70.net
>>553
管理者のパスワードって、単なるスーパーユーザーのパスワードのことだろきっと
593:デフォルトの名無しさん
18/07/12 12:49:07.46 96DaRN210.net
だったらなんなんだよ
594:デフォルトの名無しさん
18/07/12 15:12:12.67 iIGcGb6Z0.net
久しぶりにまたC#勉強してみようかと思ってるんだけど
最近の動向ってどうなの?雑誌でもあまり見かけなくなったけど
595:デフォルトの名無しさん
18/07/12 15:52:53.09 Yg7MNvpld.net
さあ、プログラミングの雑誌読んでる奴は最近少ないでしょ
プログラミング情報は基本ネットだからな
596:デフォルトの名無しさん
18/07/12 16:16:23.83 S+gZjDN60.net
>>570
マイクロソフトはAndroidのアプリC#で作る環境起こしたり結構力入れてる
597:デフォルトの名無しさん
18/07/12 16:37:53.91 iIGcGb6Z0.net
>>572
へえ~そうなんだ
金のにおいプンプンするね
598:デフォルトの名無しさん
18/07/12 16:40:31.97 iIGcGb6Z0.net
そういえばWindowsフォンとかいうのもあったね
599:デフォルトの名無しさん
18/07/12 16:45:06.48 Mt10qC0c0.net
>>572
600:iOSもな
601:デフォルトの名無しさん
18/07/12 17:23:36.80 S4vKnl6/d.net
雑誌とか書籍とか、本屋の棚を見てると勢力図が判るね。
Python強い。
602:デフォルトの名無しさん
18/07/12 17:25:15.60 PtJZmudoM.net
MVC使ってるんですが、アルゴリズムをSQLに書くのは邪道でしょうか?
Modelを用意している時点でC♯でアルゴリズムを書くのが正攻法なのかなという気がして
でもクエリにある程度書いた方がパフォーマンスは良さそうで悩んでいます
603:デフォルトの名無しさん
18/07/12 19:07:16.04 MbhSnhO70.net
>>566
NumericUpDownの派生コントロールを作ってOnMouseWheelを書き換える
方法 : 既存の Windows フォーム コントロールから継承する
URLリンク(docs.microsoft.com)
コード例
public class NumericUpDownEX : NumericUpDown
{
protected override void OnMouseWheel(MouseEventArgs e)
{
if (null == e) return;
decimal m = this.Value;
int a = e.Delta > 0 ? -1 : 1;
m += a * this.Increment;
m = m > this.Maximum ? this.Maximum : m;
m = m < this.Minimum ? this.Minimum : m;
this.Value = m;
}
}
604:デフォルトの名無しさん
18/07/12 19:39:16.71 5nesTxgP0.net
どうでもいいことだけどEventArgsがnullで渡ってくるケースってあるの?
605:デフォルトの名無しさん
18/07/12 20:09:54.21 yTzbc7hIM.net
>>577
邪道です
ビジネスロジックがSQLを侵食すると保守性が下がりスパゲティクエリが量産されます
結果的にパフォーマンスも劣悪なものとなるでしょう
606:デフォルトの名無しさん
18/07/12 21:06:22.46 uvVknaw70.net
そのSQLはどこに書かれているのだね
607:デフォルトの名無しさん
18/07/13 06:58:05.36 DDbEgWasM.net
SQLはクエリ管理クラスでC♯で管理してます
ストアドで書かれてたらC♯がどうこういう話では無いですね
つかストアドは世間様の開発では一般的なのでしょうか
改修に弱そうなイメージがありシステム構成の検討任されたら自分なら選択しなさそうですけど
608:デフォルトの名無しさん
18/07/13 08:21:33.93 KJTjy0eMM.net
ビジネスロジックをストアドに集めるってのは
見たことあるなぁ。
既存言語はFEP構築だけに使う。
どちらかに徹底してりゃ良いんじゃね。鼻ホジ
609:デフォルトの名無しさん
18/07/13 12:34:59.94 p9f6lddDD.net
>>583
システムのリプレイスとデータベースのリプレイスのどちらが多いかだよな
後者でストアド依存は死ねると思う
610:デフォルトの名無しさん
18/07/13 14:43:56.67 0KYXvOut0.net
DBのバージョンアップじゃなくてリプレイスで
システムをリプレイスしない案件なんてほぼ考えられん
611:デフォルトの名無しさん
18/07/13 15:22:59.85 r56MKyepM.net
可能な限り全部SQLでいいよ
多くの場合SQLの方が圧倒的に簡潔だしテストも容易だし
ストアドは管理が面倒だし見通しも悪いからソースに書きたいが
612:デフォルトの名無しさん
18/07/13 16:31:35.87 JMEmIQPoM.net
SQLに書いてもいいけどシステムが死ぬまで面倒を見て、他のメンテナーに迷惑をかけないでくださいね
613:デフォルトの名無しさん
18/07/14 14:54:07.96 pS7j55swr.net
データベースにSQLite使ってるんだけど、データ量が増えたらSELECTがクッソ重くて無反応になる
無料でもっとまともなDBってないかな?
614:デフォルトの名無しさん
18/07/14 14:57:09.03 8JxBJ14s0.net
そもそもインデックスとか
ちゃんと使ってるのかね
615:デフォルトの名無しさん
18/07/14 15:00:44.83 pS7j55swr.net
616:もちろん
617:デフォルトの名無しさん
18/07/14 15:02:50.58 LIsDU/xsM.net
PostgreSQLだな
618:デフォルトの名無しさん
18/07/14 15:06:32.58 EtwCAyCb0.net
C#から使うならSQLServerでしょ
619:デフォルトの名無しさん
18/07/14 15:26:32.37 pS7j55swr.net
どちらも無料なの?
620:デフォルトの名無しさん
18/07/14 15:40:56.72 jYJ6FXN8a.net
>>579
nullで渡すと
621:デフォルトの名無しさん
18/07/14 15:44:26.58 3U2LRmJo0.net
標準ライブラリのことでは?
622:デフォルトの名無しさん
18/07/14 16:03:24.84 DkLuqI8LM.net
プライベートの開発ではpostgresql一択
623:デフォルトの名無しさん
18/07/14 16:12:40.69 XotIEGF50.net
>>588
データ量がどのくらい増えたとかテーブルのスキーマ構成とかSELECT文みてみないとなんとも言えんな
DBMS変えたら劇的に変わるもんでもないし
624:デフォルトの名無しさん
18/07/14 16:56:06.37 pS7j55swr.net
>>596
売るアプリだから無料のがよい
>>597
すまんすまん
indexの順番変えたらかなり改善した
複合indexを先に設定して、その後単一index作ってた
これを入れ替えた感じ
625:デフォルトの名無しさん
18/07/14 16:57:19.10 pGWO+29la.net
無料ならSQLServerはかなり制限がある
PostgreSQLは完全に無料で、性能・機能とも圧倒的に上
SQL ServerはWin上でGUIでお手軽に運用できるしMS製品で完結するのでドカタには愛されてる
626:デフォルトの名無しさん
18/07/14 16:59:28.09 3U2LRmJo0.net
俺はデータをカテゴリに分けてそれぞれに専用のテーブルを用意して振り分けて高速化したことある
627:デフォルトの名無しさん
18/07/14 17:06:29.29 zT+O/n6K0.net
PostgreとMySQL比べるとどんな感じ?
628:デフォルトの名無しさん
18/07/14 17:06:52.80 bK14KKak0.net
>>599
かなりって例えば?
ストアドも使えるしDBサイズも10GBまで使えるし基本問題ないっしょ。サイズ超えそうになったらバックアップDBとしてアーカイブすりゃいいしね。C#ならSQLServerがいいよ
629:デフォルトの名無しさん
18/07/14 17:09:02.22 zT+O/n6K0.net
俺もSQLServer使ってたけど10GB制限がキツイし全てのレコードを読めないと不都合だから別のDB探してたけどMySQL使おうかと思ってたところだった
630:デフォルトの名無しさん
18/07/14 17:18:11.14 DkLuqI8LM.net
MySQLは共通テーブル式が使えなくて捨てた
631:デフォルトの名無しさん
18/07/14 17:25:20.01 FtH+pgzSM.net
>>601
最近はPostgreSQLも盛り上がってるね
PostgreSQLは機能が非常に豊富で極めて柔軟、非定形データだろうが地理空間情報だろうが何でも扱える
ライセンスもMySQL(GPL)より緩い
632:デフォルトの名無しさん
18/07/14 17:25:32.60 pS7j55swr.net
>>599
まじか
postgreに変えようかな
>>602
10GBならかなり余裕あるね
ならSQLServerも良いかなあ
MySQLはWebアプリではよく使ってるけど
そもそもわかってないことがあるんだけど、SQLってSQLサーバーで動いてるわけじゃん?
SQLite以外はWinFormアプリで作ったアプリだけで動かないの?
SQLアプリみたいなのが生成されるの?
633:デフォルトの名無しさん
18/07/14 17:27:38.30 3U2LRmJo0.net
マシンにDBサーバーをたてるんだろ
634:デフォルトの名無しさん
18/07/14 17:30:16.00 zT+O/n6K0.net
>>604-605
なるほどありがとう
それならせっかくだしそっちにしてみようかな
SQLServerはEntityFramework簡単に使えたけどもPostgreSQLもライブラリとか使いやすいのかな?
MySQLは接続文字列がおかしいのかテーブル指定がおかしいのかイマイチ上手く動かせなかった
635:デフォルトの名無しさん
18/07/14 19:18:56.84 VO5okbkP0.net
ASP.NET Core MVCはオワコンになって今後はASP.NET Core Razorが主流になっていく感じですか?
636:デフォルトの名無しさん
18/07/14 19:54:51.34 GmLXhPvN0.net
>>609
お前なんか勘違いしてんぞ
637:デフォルトの名無しさん
18/07/15 10:06:31.58 vbOfg8AFM.net
今は各言語ごとにフルスタックのフレームワークがある�
638:ッど無駄に見える どれか一個がセンターにあって後は各言語対応のAPI提供というパターンにならないのか
639:デフォルトの名無しさん
18/07/15 10:20:38.72 aio6qM3qa.net
少なくとも.NETはASP.NET Coreが統一フレームワーク
640:デフォルトの名無しさん
18/07/15 10:33:05.77 X2092vNg0.net
まさに.NETのことだね
641:デフォルトの名無しさん
18/07/15 10:46:24.73 CFAGuM1zM.net
各言語ごとにフルスタックフレームあるけど
シェア3位のdjangoすら5%以下らしい
それ以下のASP.Net coreの存在意義がかなり薄いと思うけどないといけないものなのか
642:デフォルトの名無しさん
18/07/15 10:54:00.74 7Enq42ndr.net
現実
URLリンク(hotframeworks.com)
643:デフォルトの名無しさん
18/07/15 10:55:19.57 7Enq42ndr.net
Coreは存在すらしていないっぽいな
644:デフォルトの名無しさん
18/07/15 10:59:15.18 upsCSZLnM.net
検索でClassic ASP.NET/MVC/Coreは区別がつかないから混ざってるんだろ
645:デフォルトの名無しさん
18/07/15 11:08:09.00 p0LeSK9sd.net
Coreじゃなくても.NETなら多言語対応だし
646:デフォルトの名無しさん
18/07/15 12:32:26.47 mrrFOD8id.net
>>616
StackOverflowのデータ見てみろよ
647:デフォルトの名無しさん
18/07/15 12:53:44.01 7Enq42ndr.net
なんかSQLiteがおっせーって書いた者だけど、他のサーバー型SQLよりぶっ飛びで速いんだな
このまま使い続けるか
648:デフォルトの名無しさん
18/07/15 14:17:55.92 LJ5Na9vP0.net
>>620
速度求めるならメモリ使えば?
DBのinoutは別スレッドでコントロール
649:デフォルトの名無しさん
18/07/15 19:34:53.12 Bovqh3Um0.net
使ったことないからよく知らんけどローカルファイルへのアクセスだからレイテンシが小さいとか?
650:デフォルトの名無しさん
18/07/15 20:22:37.76 5Xgvchi7M.net
javaに比べると圧倒的に仕事が少ないC#ですがjavaの有償化で仕事は増えるでしょうか
651:デフォルトの名無しさん
18/07/15 20:38:51.55 BpM21w6AM.net
レガシーJavaをすぐさまC#に移植するってのは現実的じゃない
レガシーの面倒を見るためにとりあえず金を払ってライセンスを買うしかない
ライセンス買ったならじゃあいいかとなってJavaを引き続き使っていくことになる
652:デフォルトの名無しさん
18/07/15 20:54:44.00 31mTAsFB0.net
Java厨ザマアw
653:デフォルトの名無しさん
18/07/15 20:57:17.95 OJzI1T4t0.net
でもC#は無料なの?
いいえ、有償です
654:デフォルトの名無しさん
18/07/15 20:59:55.51 WCfEKFtx0.net
大人しくオラクルのケツ舐めて1CPUあたり25ドル払っとけって
655:デフォルトの名無しさん
18/07/15 21:00:24.79 31mTAsFB0.net
2ドルだろ
656:デフォルトの名無しさん
18/07/16 01:40:16.05 0WZqyTt50.net
application/jsonを使ったRPCの実装方法でスタンダードなやり方ってありますか?
ぐぐってもREST APIの実装方法ばっかり出てくるんですが…
657:デフォルトの名無しさん
18/07/16 03:10:13.20 yOmS9IaY0.net
>>629
.netならWCFかWEB API
REST APIは主流だが
規模的に保守が辛くなるなら
gRPC gatewayも良いと思う
658:デフォルトの名無しさん
18/07/16 03:53:04.58 M+rWa9nq0.net
>>609
MVCのVの部分がRazorエンジンになっただけやで。
659:デフォルトの名無しさん
18/07/16 10:04:00.08 R/aUtilHr.net
>>621
アプリ起動時とかにSQLからメモリテーブルにコピーして、追加更新削除があれば別スレッドでinoutする感じ?
660:デフォルトの名無しさん
18/07/16 15:04:39.14 f5ww7Pxw0.net
プログラミング初心者なんですが、Randomオブジェクトの扱われ方がよく分かりません
なぜ別にクラスを作らなくてもインスタンスを生成出来るのでしょうか
661:デフォルトの名無しさん
18/07/16 15:14:56.71 Tg2I8Krt0.net
>>633
「なぜ class Random { ... } とクラスを定義しなくても new Random() と書けるのか?」
という質問なら、「Random クラスは最初から�
662:闍`されてるから」が答えになると思います 質問の意図が違うなら、「XXXと書くのが正しいと思うが、実際にはYYYと書くのはなぜか?」 というように具体的なコードを交えてもう一度質問してもらえませんか?
663:デフォルトの名無しさん
18/07/16 15:17:03.84 f5ww7Pxw0.net
>>634
それで合ってます 返答どうもです
664:デフォルトの名無しさん
18/07/16 15:18:23.77 MLoWNAtR0.net
usingで指定されて無いと幾ら最初から有っても使えないけどな。
665:デフォルトの名無しさん
18/07/16 15:19:55.32 MLoWNAtR0.net
そう言う意味では、最初からusingでネームスペースが指定されているって言わないと正しくない。
666:デフォルトの名無しさん
18/07/16 15:21:33.95 fVJkfJ21M.net
JSFみたいな使いやすいフレームワークねえかなぁ
C#は言語そのもののセンスは良いけどエコシステムがショボいよな
667:デフォルトの名無しさん
18/07/16 15:50:12.73 jQHectJ10.net
>>636
namespace省略せずに書けば使えるぞ
668:デフォルトの名無しさん
18/07/16 15:55:20.48 N67OeEDm0.net
>>634みたいにも?
669:デフォルトの名無しさん
18/07/16 15:58:33.82 XBIjWYki0.net
>>640
書けないけど「使える」
>>636
> usingで指定されて無いと幾ら最初から有っても使えないけどな。
自分の書き込みぐらい覚えとけ
670:デフォルトの名無しさん
18/07/16 16:00:41.87 CrUViZU+0.net
偶にこういうコード見かけるんだけど、コーディング規約に全部書けとかあるのかな?
using System.IO;
略
System.IO.File.ReadAllBytes(hoge);
671:デフォルトの名無しさん
18/07/16 16:54:46.97 jQHectJ10.net
自分が作っていないクラスを使用するのに必要なのはアセンブリ/COMの参照設定。
(基本的なアセンブリは最初から設定されてる)
usingするかはどうかは別の話。
参照していないのにusingだけ書いてももちろん使えない。
672:デフォルトの名無しさん
18/07/16 17:47:55.17 SOPUXhzxM.net
>>642
そのスコープのFileクラスの定義が重複している場合
曖昧さを解消するために名前空間を全て書く必要がある
普通は標準ライブラリと名前が衝突する事態の方を避けるだろうけど
673:デフォルトの名無しさん
18/07/16 18:31:19.12 zG1+5npqa.net
>>642
そんな不合理な規約はないと信じたいねw
あえてフルネームで書くことを肯定できる(少なくとも否定的に思わない)ケースは
そのソースファイルでその名前空間の要素そ参照するのが1、2か所しかない場合ぐらいかなあ
意見は分かれるかもしれんが、バッティングを避ける目的ならエイリアスを使うのが普通でしょう
using IO = System.IO;
みたいに
674:デフォルトの名無しさん
18/07/16 19:06:40.67 XBIjWYki0.net
>>645
> そのソースファイルでその名前空間の要素そ参照するのが1、2か所しかない場合ぐらいかなあ
それならusingも書かないだろ、バカかよ
675:デフォルトの名無しさん
18/07/16 19:11:38.45 zG1+5npqa.net
何言ってるのか意味わからないねw
676:デフォルトの名無しさん
18/07/16 19:29:52.77 65+uaC9H0.net
その名前空間を使うのがここだけだと思ってフルで書いたが
やっぱり他でも使ったのでusing追加した
元の箇所は直していない
まあ、そんな感じじゃないかと
677:デフォルトの名無しさん
18/07/16 19:56:41.16 Tg2I8Krt0.net
>>634 に不適切なコードを書いたために混乱を招いてしまいました
また、 >>643 で適切な補足をしていただいていますが、
初めからこのような補足が必要ないようにできているだけでも
混乱は避けられたかもしれません。大変失礼しました
678:デフォルトの名無しさん
18/07/16 21:01:32.11 MLoWNAtR0.net
同じ名前のクラスがあるんだよw
だからフルネームで書かないと怒られるんだw
679:デフォルトの名無しさん
18/07/16 21:45:18.03 PnkuF1BZ0.net
>>650
あるあるw
バッティングすると悪夢なのなw
曲線をPathって名前にしてファイルパスもPathって名前にして
usingを呼んじゃってからエラーが出たぜハイ直せってやられると最悪
せめて改名してからusing呼べやクソがって思うんだが
馬鹿な奴に限ってバッティングさせるし作業手順も
680:考えない しかもそれでコミットしてくる
681:デフォルトの名無しさん
18/07/16 22:03:10.98 0I7EzBy0r.net
[]で読み込むDLLの意味がよくわからない
どこで呼んでもいいみたいだけど、あれってどういう仕組みなの?
682:デフォルトの名無しさん
18/07/16 22:12:47.48 Fqt7znsC0.net
ランタイムがLoadLibraryなりで動的にロードしてよろしくやってるだけやで
ネイティブ側を書いたことないとイメージしづらいのかもしらんが
683:デフォルトの名無しさん
18/07/16 22:24:51.27 fVJkfJ21M.net
>>651
バッティングどうこうよりもファイル操作と図形操作を同じファイル内に実装してる時点で最悪だね
誰が悪いかというとそんな設計書を書いたバカが最悪だ
684:デフォルトの名無しさん
18/07/16 22:25:49.96 N67OeEDm0.net
アホかな?
685:デフォルトの名無しさん
18/07/16 22:32:54.10 PnkuF1BZ0.net
>>654
いや、別だよ
でもたまたま引っ張ってきたusingにPathが入っててバッティングしちゃったんだ
.netframeworkにはじめから入ってるPathも入ってかなり手強かったよ
686:デフォルトの名無しさん
18/07/16 22:50:59.26 MLoWNAtR0.net
いやいや、それは例えが悪いだけで、マイクロソフト様ですら同じ名前のクラス名付けてて、たまにどっちだボケって聞いて来るからなぁ
687:デフォルトの名無しさん
18/07/16 23:09:50.26 m2D0dvJF0.net
>>638
JSFときたかwww
具体的に何が足りないと?
688:デフォルトの名無しさん
18/07/16 23:16:42.09 fVJkfJ21M.net
>>658
足りないってほどじゃないんだけどねー
直感的に挙動を理解しやすいJSFと比べてこっちはちょっと推測しにくい感じ
これを変えたいなら多分こうだろってのが閃きにくい
ドキュメントみれば解決するけど見ないでなんとなくで解決したいんだよね
689:デフォルトの名無しさん
18/07/16 23:17:22.95 m2D0dvJF0.net
>>659
具体的に
690:デフォルトの名無しさん
18/07/16 23:23:08.13 tD8bNggya.net
>>657
Managed DirectXは酷かった
嫌がらせレベル
691:デフォルトの名無しさん
18/07/17 04:59:27.29 KftlrzGo0.net
blockingcollectionを使ってキューを作ろうと思ってます
そのキューの中にデータを取り出すのではなく、データがあるかないかを確認したいのだけども
それってどうやって実現できるでしょうか?
692:デフォルトの名無しさん
18/07/17 07:44:52.51 xIcozahsa.net
>>662
できない
BlockingCollection.GetEnumeratorで取得した列挙子は既にコレクションから削除された要素を返す可能性があるから、要素の存在確認には使用できない
それが必要なら普通のQueueをロックして使おう
BlockingCollectionはProducer-Consumerパターンを実装するための特殊なコレクションで、取得と消費は基本的に分離不可能な操作として扱う
693:デフォルトの名無しさん
18/07/17 08:21:55.96 9WzYNMpJ0.net
なぜキューを使わず違うものでキューみたいなものを作るのか?
694:デフォルトの名無しさん
18/07/17 09:13:46.43 JRPSvXt/0.net
【毒素ためる、〝制汗″】 Ban、Ag、 8×4が <乳癌> <鼻炎> <ワキガ> の原因になっている!?
スレリンク(liveplus板)
くさいくさい
695:デフォルトの名無しさん
18/07/17 09:57:15.28 ZMugNBvxM.net
>>662
Count
696:デフォルトの名無しさん
18/07/17 11:05:47.08 we+kZK/d0.net
>>662
Any()はだめ?
697:デフォルトの名無しさん
18/07/17 12:01:54.65 5aCAbGPrH.net
>>633
ランダム、つまり白い悪魔と異名を取ったモビルスーツの事だ
常識なので覚えるように
698:デフォルトの名無しさん
18/07/17 12:04:20.14 5aCAbGPrH.net
>>633
ランダム、つまり疑似乱数を生成するクラスだ
疑似乱数は自前で作るのも簡単だから適当にに作って�
699:ンるのも一興だな
700:デフォルトの名無しさん
18/07/17 12:10:59.29 G5IVIkIla.net
>>667
食べるが側が自分だけじゃないなら>>663の言うととおりだめなんでしょう
その場合もコレクションに出し入れがあったことを検出する簡単な方法があれば
スキャンしている間に出し入れが行われなくなるまでリトライすることで実現できそうだけど、
そういう簡単な方法はないっぽい。
もっとも、仮に実現できたところで排他制御できないなら検査の後の状態は保証できないわけで、
どんだけ意味があるのか疑問ではある
701:デフォルトの名無しさん
18/07/17 17:47:09.52 bja0VNMZd.net
>>663
>>666
>>667
レスくれた方ありがとう
やりたいこととしてはcountとpeekを駆使することでなんとか実現できそうだという結論になりました
キューに対してpeekすると、じゃあ今度はいつ削除するの?とかなりそうだけどもpeekでなんとかします
702:デフォルトの名無しさん
18/07/17 19:12:27.90 TPR76IZRM.net
この本読み込めば中級者って本ないん?
独習C#新版と
実戦で役立つc#プログラミング
あたりですか?
703:デフォルトの名無しさん
18/07/17 19:14:26.70 LTVxWI1Y0.net
BlockingCollectionはコレクションの要素が取れるまでブロックし続けるから、peekとか削除とか考えずに済むから楽なのにな
まあ>>670の通り他と連動してコレクションにとどめておく必要があるんだろうけどさ
704:デフォルトの名無しさん
18/07/17 21:31:50.07 k6KsTxhHM.net
>>672
プログラムは本を読んだから中級者みたいな世界じゃないと思う
年間に1000行程度のアプリを10本ぐらい作って3年ぐらいしたら中級かなって思う
705:デフォルトの名無しさん
18/07/17 21:58:58.79 0bp3oS7H0.net
コピペを繰り返していたら3年やろうが10年やろうが初心者のままだぞ気をつけろ
706:デフォルトの名無しさん
18/07/17 21:59:23.64 JBBJUfmR0.net
いや、今ならVRエロゲ一本作れば中級者
707:デフォルトの名無しさん
18/07/17 22:03:58.19 vVWTH+iBM.net
むやみに書くより良書を読んだほうがいい
読んだ内容を実践して身につける
708:デフォルトの名無しさん
18/07/17 22:10:31.97 JBBJUfmR0.net
俺は~の作り方的な
作り進めていく形式のがオススメ
709:デフォルトの名無しさん
18/07/17 22:19:09.18 8FZ8qVPxM.net
~の作り方的な本は、言語が分かってない段階だと本当に手順を追うだけになってしまって何一つ頭に残らないからお勧めできない
まあ頭使わずに何かやってる気にはなれるから勉強が苦手でどうしてもモチベーションが続かない人にはいいのかもね
710:デフォルトの名無しさん
18/07/17 22:28:45.89 A75xOI8y0.net
おらにも良書おしえい
711:
18/07/17 22:28:56.55 cS4zRgZd0.net
>>674
結構ハードルが高いですね…
712:デフォルトの名無しさん
18/07/17 22:58:06.26 s7VdXjPi0.net
一番いいのは作りたいアプリがあってそれを作る。アプリ作りを通して色々考えることがでてきだろう。最初は一人よがりなプログラムになるかもしれんがそれが第一歩だな。
713:デフォルトの名無しさん
18/07/17 23:18:31.59 JTS2mYBv0.net
>>672
MSの公式ドキュメント
714:デフォルトの名無しさん
18/07/17 23:27:52.79 A75xOI8y0.net
ここまで0冊
715:デフォルトの名無しさん
18/07/17 23:32:23.19 A75xOI8y0.net
>>672
まずは独習でいいと思う
これで基本機能が理解できたら
Linqや非同期、マルチコア専門の教本もあるから気になったら読めばいい
これらは重要だし独習が終わればよく理解できると思う
実践で役立つ~はちょっとわからない
716:デフォルトの名無しさん
18/07/17 23:39:41.63 JKMrilxjd.net
書籍なんて最近手出してないけどeffectiveって無いの?
C+やstlでは結構お
717:世話になったけど
718:デフォルトの名無しさん
18/07/17 23:41:42.83 ofYg0nnt0.net
>>674
10万行の間違いだろ。
719:デフォルトの名無しさん
18/07/17 23:47:31.06 WCI1fetR0.net
>>686
昔からあるぞ。
最近のだと、More Effective C# 6.0/7.0が既に出てて、Effective C# 6.0/7.0ももうすぐ出る予定。
720:
18/07/17 23:52:58.90 cS4zRgZd0.net
>>672
独習C#新版が終わったらレポートよろしくね
721:デフォルトの名無しさん
18/07/18 00:21:32.09 WfV71rrt0.net
dotnet aspnet-codegeneratorってwindowsでしかうごかんの?
722:デフォルトの名無しさん
18/07/18 02:04:04.67 ohWLsVDp0.net
>>688
やっぱあるよね
感覚的にはeffectiveに書いてある内容がとりあえず理解できて実践しだしたら中級者なイメージ
上級者っていうとmvpクラスと同等の知識レベルとかになるのかなぁ
mvpもいろいろあって基準としては曖昧かもしれんが
723:デフォルトの名無しさん
18/07/18 02:09:13.63 ohWLsVDp0.net
1000行なんて時には1日で書く程度のアプリ10本作ったところで…
だからって10万行のアプリなんて、それほんとに10万行必要だったの?プラグイン1個居れたら数万行不要になるんじゃない?って気もする
そもそも行数で語る時点でおかしい訳だけど
プログラム未経験は別として経験者なら一言語の中級者になるのに3年もかけてたら上級者になる頃にはその言語消えてんじゃね?って思う
724:デフォルトの名無しさん
18/07/18 07:35:29.71 604NWUGLd.net
一時的にスリープのように任意のスレッドの処理を停止させて
別スレッドがある処理をしたら停止スレッドが動き始めるような形を作りたいです
waitforsingleobject以外に実現方法ありますか
725:デフォルトの名無しさん
18/07/18 07:37:13.37 gGGdDmmqd.net
>>693
なぜそんなことしたいの?
726:デフォルトの名無しさん
18/07/18 07:40:12.26 604NWUGLd.net
>>694
Aスレッド、Bスレッドがあって
Aスレッドはたまっているリクエストを非同期で投げ続けています
リクエストは一つずつ送らないといけない制約があるため
その応答が来るまでAスレッドを停止させたいです
応答というのがBスレッドの処理です
727:デフォルトの名無しさん
18/07/18 07:51:29.32 gGGdDmmqd.net
>>695
普通にasync/awaitじゃだめなの?
728:デフォルトの名無しさん
18/07/18 09:20:45.30 W2UhJLr+0.net
待機するAスレッドがUIスレッドとかいう状態でもなければ
それこそ関数直接コールでも良さそうなもんだけど
729:デフォルトの名無しさん
18/07/18 10:14:35.95 IWAo5nUlp.net
じゃあセマホ使えよ。
730:デフォルトの名無しさん
18/07/18 12:17:19.01 TKyRL/+ma.net
A案:リクエストのキューを投げる側ではなく受ける側に持たせる
B案:リクエストを投げるメソッドのデリゲートのキューをリクエストを受ける側に持たせる
731:デフォルトの名無しさん
18/07/18 13:53:18.95 imuZ+lX20.net
会社クラスを作りインナークラスで部署クラスを作ったのですが、インナークラスの使い方として間違っていないでしょうか
なんかMS意図と違う使い方をしてる気がしておりまして
732:デフォルトの名無しさん
18/07/18 14:21:30.22 JHZwBCBgM.net
間違いです
733:デフォルトの名無しさん
18/07/18 14:39:45.10 zONoZYnW0.net
IT業界は部署ごと社外に出向させられるとか日常茶飯事ですからね。
734:デフォルトの名無しさん
18/07/18 19:00:56.71 9N0yBnKk0.net
listviewを使って画像をドラッグした位置に挿入できるようなものを作りましたが、サムネイル表示(ViewプロパティをView.LargeIconに設定)だと移動後に一番後ろに来てしまいます
、どうすれば自由に画像を入れ替えれるのでしょうか?
735:デフォルトの名無しさん
18/07/18 19:50:12.60 yFSY1wbO0.net
>>692
>1000行なんて時には1日で書く程度のアプリ10本作ったところで…
これも内容によるけどな
10本作る間に誰に見られても恥ずかしくないコードが
736:書けるようになれば…
737:デフォルトの名無しさん
18/07/18 21:41:28.47 ojmeEx4e0.net
>>704
内容にもよるんだろうけれど、きちんと動くプログラムを10本完成させたっていうのであれば、それなりに評価してよいと思う。
738:デフォルトの名無しさん
18/07/18 21:49:23.42 GTM6kR3M0.net
仕事の山越えたからと社内文章読んでたら我が社のコーディング規約にvarとLINQ禁止とデカデカと書いてあってて笑ったwww
739:デフォルトの名無しさん
18/07/18 21:53:50.99 iepCQJFn0.net
就職ガチャ失敗おめでとうございます
740:デフォルトの名無しさん
18/07/18 22:21:17.43 ptS24Bkdd.net
>>706
LINQ禁止ってラムダ式使ったらだめってこと?
741:デフォルトの名無しさん
18/07/18 22:30:15.87 MKYFu03e0.net
varだめってリテラシーならラムダもダメだろうね
742:デフォルトの名無しさん
18/07/18 22:41:34.30 62X+9Moaa.net
短いコードのアプリでもちゃんと一般人の使用に耐えうるようになってるならいいだろう
機能的には十分でも無秩序にボタンが並んでるアプリは見ててつらい
743:デフォルトの名無しさん
18/07/18 23:09:23.95 /cNHsX3ta.net
コントロールそこそこおいたまともなアプリなら1000行じゃおさまらんやろ
744:デフォルトの名無しさん
18/07/18 23:29:19.34 p8keSf810.net
>>706
C#の公式コーディング規約に真っ向から対立www
745:デフォルトの名無しさん
18/07/18 23:39:58.45 rt2OOdjJ0.net
ラムダ式禁止とかC#使う価値半減だな
746:デフォルトの名無しさん
18/07/18 23:43:15.56 dMzTHkZAM.net
λ縛りはBダッシュ縛りマリオぐらいキツイ
747:デフォルトの名無しさん
18/07/18 23:46:14.58 L7ofGWBt0.net
h
748:デフォルトの名無しさん
18/07/19 00:18:15.44 mgU85F4C0.net
varってスコープが決まってたりよく使うもんだと思ってるんだけど
違うん?
あとコンパイル時に推論されるから実行速度には影響ないって考えていいの?
749:デフォルトの名無しさん
18/07/19 00:29:07.38 iwebbGhU0.net
>>716
明示的に型を示しても実行速度は変わりません
750:デフォルトの名無しさん
18/07/19 00:29:37.74 mgU85F4C0.net
>>717
ありがとうございます
751:デフォルトの名無しさん
18/07/19 00:34:23.22 4jMcHp760.net
var myTable = new Dictionary<string, string>();
myTable.Add("Hokkaido", "Sapporo");
myTable.Add("Iwate", "Morioka");
myTable.Add("Miyagi", "Sendai");
//*1
var b = myTable.ContainsKey("Iwate");
if (b == true)
{
//*2
var s = myTable["Iwate"];
MessageBox.Show(s);
}
Dictionaryから特定の要素を探して、あれば表示するんですが
この*1 *2 をLINQを使って1行にしたいんですが、どうすればいいですか?
752:デフォルトの名無しさん
18/07/19 00:38:57.36 5TJBBc7u0.net
継承について
スーパークラスAに始まり
class B : A
class C : B
class D : C
となった場合、
Dクラス内でAやBのクラスのフィールドやメソッドをを使いたくなった場合には
それぞれをインスタンス化をすれば使えると思いますが、
継承されていない場合はどうすれば良いのですか?
例えば、
スーパークラスX
class Y : X
class Z : Y
とい場合、class Aのメソッドやフィールドを使いたくなったときは、
どうやってクラスAを持ってくるのでしょうか?
継承をしなくても、そのクラスのメソッドやフィールドを持ってくる方法はありますか?
753:デフォルトの名無しさん
18/07/19 00:46:06.47 9fGOJ2HHa.net
コンポジション
ZのフィールドやプロパティにAをもたせるだけ
754:デフォルトの名無しさん
18/07/19 00:56:15.63 OslD0F820.net
>>719
LINQ は集合に対して使うものなので、その例だと必要ない
if (myTable.TryGetValue("Iwate", out var s))
{
MessageBox.Show(s);
}
対象が�
755:。数あるならこう var list = new[] { "Hokkaido", "Iwate", "Tokyo" }; var q = list .Where(x=> myTable.ContainsKey(x)) .Select(x=> myTable[x]); foreach (var s2 in q) { MessageBox.Show(s2); }
756:デフォルトの名無しさん
18/07/19 01:05:12.94 EPnya5cJa.net
>>719
LINQ全く関係ないけど比較的新しいC#ならこう書ける
if (myTable.TryGetValue("Iwate", out var s)) MessageBox.Show(s);
どうしても単一ステートメントにしたいなら
myTable.TryGetValue("Iwate", out var s) ? MessageBox.Show(s) : DialogResult.None; とか
(myTable.TryGetValue("Iwate", out var s) ? (Action<string>)(x => MessageBox.Show(x)) : (Action<string>)(_ => {}))();
とか書けなくはないけど俺ならこんなの書いてきやがったらコードレビューで突き返す
757:デフォルトの名無しさん
18/07/19 07:22:53.40 Y653MTcJd.net
>>696
awaitでは上手く実現できなさそうな構造でした
URLリンク(msdn.microsoft.com)(v=vs.110).aspx
monitorクラスを使って実現できそうだなとなりました
ただこれのシグナルを投げるpulseとpulseallの違いがよくわかりません
pulseは変数で渡したオブジェクトのスレッドを、pulseallは渡すオブジェクトとか関係なくwaitで止まってるすべてのスレッドを動かす?
758:デフォルトの名無しさん
18/07/19 07:52:34.10 pmdFJ8GPd.net
>>724
>awaitでは上手く実現できなさそうな構造
なぜ?
759:デフォルトの名無しさん
18/07/19 07:53:35.73 EPnya5cJa.net
>>724
つまりProducer-Consumerだろ?
まさにBlockingCollectionのユースケース
760:デフォルトの名無しさん
18/07/19 10:16:19.48 cAPUq0O30.net
Aそのものは非同期(バックグラウンド)で動く必要があるとして
そもそもBが非同期で動く必要性がわからん
かならず応答きてから次をよぶんだろ?
761:デフォルトの名無しさん
18/07/19 11:39:51.48 wWZN809Va.net
むしろ一番の疑問は、
>リクエストは一つずつ送らないといけない制約がある
のであれば、キューを持つべきなのはリクエストを送る側ではなく受ける側なんじゃないか、
なぜリクエストを送る側に受ける側の都合に合わせる負担をさせるのか、
ってことだと思うけど、まあ話が曖昧過ぎてよくわからんね。
762:719
18/07/19 12:02:04.85 4jMcHp760.net
>>722
自分のコードだと野暮ったくて古い感じがしたんですが
out var なるものを使ってすっきりさせるんですね
>>723
最近、ラムダ式やLINQを始めたんで↓みたいにメソッドチェーンで繋げたかったんですが
これだとやりすぎなんですねw
>> myTable.TryGetValue("Iwate", out var s) ? MessageBox.Show(s) : DialogResult.None; とか
>> (myTable.TryGetValue("Iwate", out var s) ? (Action<string>)(x => MessageBox.Show(x)) : (Action<string>)(_ => {}))();
>> とか書けなくはないけど俺ならこんなの書いてきやがったらコードレビューで突き返す
ありがとうございました
763:デフォルトの名無しさん
18/07/19 12:23:58.43 apArmWopd.net
見やすくしたり行数減らす為の機能なのに一文に無理やり詰めたら見づらいだろうしな
LINQ使わなくても
;で終わらせた文を一列にずっと書き続けてたらなんだこいつってなるだろうし
764:デフォルトの名無しさん
18/07/19 12:45:19.73 7c8TqsUTM.net
MQ使えよ
765:デフォルトの名無しさん
18/07/19 13:14:15.48 kD3lyTPJr.net
varのメリットってなに?
766:デフォルトの名無しさん
18/07/19 14:01:22.48 goaSBPuMd.net
>>732
定期的にこのスレを荒らすメリットがある。
767:デフォルトの名無しさん
18/07/19 14:35:28.55 3tSlXwR10.net
10年で1スレも消費できないムラダ厨がまた初心者スレで暴れてるのか。
768:デフォルトの名無しさん
18/07/19 15:40:49.42 afTcWGfVp.net
>>728
送る側で待たないと仕事を溜め込んだ受け側が最悪死ぬか無視する様になるぞ。