ふらっと C#,C♯,C#(初心者用) Part149

■ このスレッドは過去ログ倉庫に格納されています
2020/12/16(水) 11:29:35.35ID:TSvQ057dM
!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為)

「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください
>>980を踏んだ人は新スレを建てて下さい。>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。

■前スレ
ふらっと C#,C♯,C#(初心者用) Part148
https://mevius.5ch.net/test/read.cgi/tech/1590578921/
■関連スレ
C#, C♯, C#相談室 Part94
https://mevius.5ch.net/test/read.cgi/tech/1553075856/
■コードを貼る場合は↓を使いましょう。
http://ideone.com/
https://dotnetfiddle.net/

■情報源
https://docs.microsoft.com/ja-jp/dotnet/standard/class-libraries
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/
https://docs.microsoft.com/en-us/dotnet/standard/class-libraries
http://referencesource.microsoft.com/
・Insider.NET > .NET TIPS - @IT
https://www.atmarkit.co.jp/ait/subtop/features/dotnet/dotnettips_index.html
・DOBON.NET .NET Tips
https://dobon.net/vb/dotnet/index.html
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
2021/02/03(水) 17:42:11.05ID:q3Uucr840
>>450
その2つだとpython.exeに渡す引数がquoteされてるかどうかの違い出るからうまく行くほうに合わせたら?

var pass = @"""L:¥AAAAAA¥USN_analyzer¥time_series_analysis26.py""";
System.Diagnostics.Process.Start("python.exe", pass);

ちなみにpassじゃなくてpath
2021/02/03(水) 18:29:48.39ID:dgpbKw5W0
>>450
頭の@は文字列リテラルに付けた時と変数に付けた時は意味が違う
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/tokens/verbatim
2021/02/03(水) 23:04:55.84ID:PTI/2U/t0
>>451
ありがとうございます。
解決しました!

これでようやっとC#とPythonのアプリケーションを統合することができました。
2021/02/04(木) 03:54:16.03ID:8ASdjdRY0
エクセルの表みたいな
一行に複数の列(項目が並んでる 二次元の配列って
ArrayListじゃだめなんだっけ?

独自のプロプロパティをもったクラスつくってそれを列に放り込むんだったっけ?
2021/02/04(木) 07:35:49.07ID:mMDqMLln0
フィールドがプロパティで
レコードが件数になりまつ
って言うと通じるの?

List<myclass> dtcls = new List<myclass>();

的な
myclassのメンバがプロパティで
456デフォルトの名無しさん (ラクッペペ MM3e-mj3q)
垢版 |
2021/02/04(木) 08:09:30.76ID:+vIUF0nDM
通じない
フィールド、プロパティ、メンバ
それぞれに言語上の意味がある
2021/02/04(木) 09:33:50.26ID:5uFosyLe0
書き込めない
2021/02/04(木) 09:37:28.17ID:5uFosyLe0
WebRequestでウェブページを取得しているのですが、POSTに必要なFormDataがうまく取得できません
普通なら対象ページのHTMLを見れば取得できるのですが、対象ページの”実行”ボタンを押した時にjavascriptでPOSTに必要な情報を
生成しているようで、この値を取得できないのです。
何か方法がありましたら教えてください
2021/02/04(木) 09:38:55.99ID:5uFosyLe0
HTMLはこんな感じです
<input type="submit" value="実行" onclick="sid()">
2021/02/04(木) 11:07:52.39ID:NUvwu5Ez0
自分でJavaScript解析できないならSeleniumで
461デフォルトの名無しさん (ワッチョイ a59b-qCTK)
垢版 |
2021/02/04(木) 11:24:29.52ID:ZzRKCYY/0
selenium
2021/02/04(木) 12:51:14.55ID:PDwRodWn0
ブラウザでF12押してネットワークになに流れてるかを見てみたら?
2021/02/04(木) 15:45:09.59ID:5uFosyLe0
>>461
seleniumってwebBrowserと同じようなものですか?
webBrowserなら操作できるのですが、画面遷移が鬱陶しいので、できればwebRequestで済ませようと思ったのです。

>>462
他でよく見るようなPOST情報しか流れていませんです。
ただhtmlではブランクになっているFormDataがjavascriptによってブランクではない値に修正されています。
javascriptの中身はこんな感じで、クリックと同時にsidの値を書き換えてそれをPOSTしています。
document.forms["form1"].sid.value = xxxxxxx
2021/02/04(木) 17:55:14.32ID:uLY+2761M
>>463
C#でそのJavaScriptと同じことをやって値を計算するか、C#からJavaScriptを実行して結果を取得するか
465デフォルトの名無しさん (ワッチョイ a52c-czmT)
垢版 |
2021/02/04(木) 18:17:04.90ID:SyfdH0Mz0
public class Test
{
public int data { get; set; }
}
Test b = new Test()

bをウオッチすると、dataが、「@data」となるのですが、なぜですかね?
2021/02/04(木) 21:33:17.59ID:Gk5V85vI0
Ruby on Rails ではシステムテストで、Selenium Webdriver を使う

Capybara で、Headless Chrome とか
2021/02/05(金) 01:41:49.08ID:RhinnOg60
なんでRoRの話が?
2021/02/05(金) 19:26:01.79ID:8Pa/tTU+0
C#でヤフーのメールサーバーからメールを送信できなくなってしまいました。
これまでのやり方はdobon.netにあるようなごくごく単純な方法です。
おそらく↓のせいだと思うのですが、ポート番号と通信方法を変更しても、固まってしまい送信ができません。
どなたか送信ができている方がいたらやり方を教えてください。

【2021年1月19日より】メールソフトで「Yahooメール」の送受信が出来ない!?Outlook・Windows Liveメール設定変更方法 | 大阪狭山びこ
https://osayama.com/security/36346

書き直したプログラムは次のとおりです。

//SmtpClientオブジェクトを作成する
System.Net.Mail.SmtpClient sc = new System.Net.Mail.SmtpClient();
//SMTPサーバーを指定する
sc.Host = "smtp.mail.yahoo.co.jp";
//ポート番号を指定する(既定値は25) SSL使用時は587→465
sc.Port = 465;
sc.Credentials = new NetworkCredential("hoge", "fuga");
//SSLを使用する
sc.EnableSsl = true;
//SMTPサーバーに送信する設定にする(既定はNetwork)
sc.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
//メールを送信する
sc.Send(senderMail, recipientMail, subject, body);
2021/02/05(金) 19:45:05.14ID:+3DA/7eT0
ちょっとググれば出るやんw
https://whatsnewmail.yahoo.co.jp/yahoo/20200824a.html
2021/02/05(金) 19:49:44.60ID:KQRmB00P0
https://docs.microsoft.com/ja-jp/dotnet/api/system.net.mail.smtpclient.enablessl
SMTP+STARTTLSにしか対応してないのでSMTPSに対応する他の方法を使う
2021/02/05(金) 21:14:07.85ID:wjTgrFbp0
SmtpClientってそもそも非推奨だしな
2021/02/05(金) 22:02:49.43ID:8Pa/tTU+0
>>470
ありがとうございます。
単純にポート番号と通信方法変えるだけじゃダメだったんですね。
SMTPSで検索してみたらMailKit使えと出てきたのでやってみたらできました。
ありがとうございました。
2021/02/06(土) 03:01:00.29ID:Yx7joU3b0
質問させてください。
c#でgoogle drive api を使ったWindowsアプリケーションを作ろうと思っているのですが、
ビルド後に出来た配布ファイルは実行ファイルはもちろんの事、NuGetで追加したDLL群や、
取得したJSONファイルも含めて配布すればいいのでしょうか?
2021/02/06(土) 03:29:14.46ID:Ygg5i19/0
インストーラー作れや
2021/02/06(土) 08:28:56.67ID:j0Q2R7my0
そのインストーラーを作るのにも必要なファイル群がわからないとダメだと思うけど
2021/02/06(土) 11:41:20.20ID:MqA6OGOW0
>>473
必要なファイル郡は何らかの形で入手できるようにしなければいけないので、
最低限の情報としてこのDLLとかこのJSON使ってますって情報をユーザに
与えてあげないと動かしようがないけど、配布ファイルに含めるか各自で
ダウンロードさせるかはアプリの作成者が決めること

ただし、アプリに含めて配布する場合には、自分の作ったもの以外は
再配布可能なものなのか、各々のDllとかのライセンスを確認しないとダメだよ

ものによって勝手に配布しちゃダメとか、配布にはこれを使えとか、コンパイル
済みのものは配布不可とか色々あるので
2021/02/06(土) 17:42:10.09ID:Bi5ar2460
>>473
そうだけど、GoogleTokenフォルダ下のものはそれぞれのアカウントのを利用させないと不正アクセス起こっちゃわないか
2021/02/06(土) 17:55:40.49ID:UYR2I7R3M
Unityでゲーム作りに挑戦しているのですが、自作クラスItemをリストにした

List<Item> itemList = new List<Item>();

があって、
クラスItemはint itemIDを持っています。

itemListをitemID順にソートするにはどうしたら良いのでしょうか?

itemList.Sort();

で出来ると思っていたのですが、よく考えたら出来る訳ありませんでした・・・。
Sort()のカッコ内にitemIDを指定したり出来るのでしょうか?
取り敢えず並び替え出来れば良いので一番かんたんな方法をどなたか教えて下さい。
よろしくお願いします。。
2021/02/06(土) 18:18:20.71ID:zn5WrP4C0
>>478
https://qiita.com/tetsu8/items/96b8b889c57eb55125d1
2021/02/06(土) 18:24:06.35ID:bSeS6eqZa
>>478
ItemにIComparable<Item>を実装するか、
SortのオーバーロードのうちComparison<T>かIComparer<T>を引数にとるバージョンを使う。
あるいは>>358

ちょっとぐらいドキュメントを読んだ方がよいと思うよ。
コミュニティーに質問を投げるのはその上で疑問が解消しなかった後で遅くないでしょ
2021/02/06(土) 18:44:12.48ID:UYR2I7R3M
>>480
一応自分で調べてはいるのでドキュメントも見るのですが、大体意味がわかりません。。

なぜ意味がわからないかというと例に
<T>などと書いてありますが、Tって何?<>の意味は?という所がわからない為です。
一度自分に近い実用例を見ないとメソッドの存在を知っても書き方がわからないのです。

>>479さんもありがとうございます。
もう少し頑張ってみます。
2021/02/06(土) 18:49:45.30ID:Kl671woR0
Tってなに?とか言ってるのに
List<Item>使ってるやん(笑)
2021/02/06(土) 18:59:51.25ID:UYR2I7R3M
>>482
サンプルなどで使って覚えたので。。
意味を理解しているというよりも、リストの書き方はこうって覚えています。
しかも私が言ってるのは<T>だけに限ったじゃありません。(わからないくせに偉そうですみません)

<T>に限って言えばClass名を入れるって事ですか?
2021/02/06(土) 19:04:04.81ID:uslvvrsY0
ジェネリックのことは黒柳さーんに聞くといいよ。
2021/02/06(土) 19:24:51.67ID:xuEfQm7n0
>>483
そのレベルでは自分のやりたいことのサンプルだけ真似しようとしても分からないことだらけで前に進まないと思うぞ
面倒がらずにC#の入門書とかで体系的に最低限の基礎は固めなよ
2021/02/06(土) 19:41:30.75ID:Kl671woR0
>>483
>>485さんが言っている通りで基礎から勉強した方がいいとは思うけど
Tは別にクラスじゃなくても、stringやらC#の基本型も指定出来ます
つまり、Listが扱う型を指定するという事です
2021/02/06(土) 19:58:10.04ID:pqKs8KDi0
List<Item>だとListにItemしか格納できなくて後々不便になるので、
普通はList<object>にするのが一般的だよ。
2021/02/06(土) 20:10:24.73ID:f+vO1TLm0
え?
2021/02/06(土) 20:20:56.81ID:zn5WrP4C0
>>481
いや、とりあえず真似ればいいやん

people.Sort((a, b) => a.Age - b.Age);

itemList.Sort((a, b) => a.itemID - b.itemID);

※ a, b は単なる引数だから (x, y) => x.itemID - y.itemID とかでもいい

>>487
氏ね、ボケ
2021/02/06(土) 21:00:57.90ID:xFqAsQE9M
最低限の基礎知識の勉強は必要だよね
そうしないと検索してもここで聞いても理解できない
「やりたいこと優先」という気持ちは分かるけど

>>487みたいに変なこと教える人もいるから…
2021/02/06(土) 21:04:16.10ID:UYR2I7R3M
>>489
何を書いてるのかまったくわからないのでちょうどラムダ式についての解説を読んでいました。

そのa,bはNameとは関係ない感じですか?
ラムダ式でしか指定できないのでしょうか?
2021/02/06(土) 21:21:06.73ID:UYR2I7R3M
>>490
今作ってるものが完成したら皆さんが言うとおり基礎の勉強したいと思います。

new Person(){Name = "a"}のaは普通の解説ならTaroとか書くはずで、のちのa,bとは関係ないって事ですね?
2021/02/06(土) 22:25:38.73ID:zn5WrP4C0
>>492
ああ、確かにPersonでName="a"は手を抜きすぎだな、"Taro"とか"田中"とかの方がいいね
その"a"とラムダ式のaは関係ない
それを示すために
> ※ a, b は単なる引数だから (x, y) => x.itemID - y.itemID とかでもいい
って書いたんだけどね
2021/02/06(土) 22:27:37.15ID:AyWHBNPF0
>>492
以下のメソッドの同じ意味
一々メソッドを定義するの面倒だし、型とか一々書くのが面倒で省略しまくったのがラムダ式と思うとイメージしやすい
int Hoge(Item a, Item b)
{
return a.itemID - b.itemID;
}
2021/02/06(土) 22:49:39.66ID:UYR2I7R3M
>>493
出来ました!ソートされました!
本当にありがとうございます!
2021/02/06(土) 23:20:37.38ID:b6D0c/Lh0
>>484
水虫でスヤスヤ
497デフォルトの名無しさん (エムゾネ FFbf-6HDI)
垢版 |
2021/02/07(日) 18:04:33.39ID:4v/nAOdwF
個々の人たちは若い女性には優しい
498デフォルトの名無しさん (ワッチョイ bfbb-5e/0)
垢版 |
2021/02/07(日) 20:57:57.25ID:knu7zqoU0
ラムダ式はちゃんと練習したいな、なんか練習問題集みたいなのないのかな?
特にキャプチャーの概念が自分の感覚と狂う狂う
2021/02/07(日) 21:21:20.13ID:S7zvZDvX0
意味不明
それでしか書けないものがあるならまだしも
結局モノが作りたいんじゃないなら
この職には近づかないほうがいいぞ
不幸になる
2021/02/07(日) 21:21:56.15ID:pmm7svGna
真面目な話、ラムダ式はそこまで奥は深くない気がする。
決していきがって言ってないつもり。

キャプチャーに関してはC#5.0での破壊的変更が逆に落とし穴になってるような
気がしないでもないけど、他に直感を裏切るような落とし穴があるわけでもないし
https://ufcpp.net/study/csharp/ap_ver5.html#foreach

川俣さんの記事が割とよく書けてると思うしあれ読めば十分じゃないのかな
2021/02/07(日) 22:40:06.94ID:emwEhLVE0
arcoderでもやってりゃいいんじゃないの?
2021/02/07(日) 23:10:43.01ID:YZfkY6ii0
>>500
あの人、川俣さんって言うんだ?
知らなんだ
2021/02/07(日) 23:56:40.34ID:zExDTdlVd
俺もラムダ式は最初意味不明すぎて苦労した
何で躓いたかって言うと一番は用途が不明な点
デリゲートとか覚えたらそこから理解できた
2021/02/08(月) 00:50:31.00ID:Vt5mMx+g0
ラムダ式のメリットってなによ
わざと難解に書いてるだけにしか見えん
2021/02/08(月) 00:57:45.90ID:GsV6CYPPd
>>504
絶対に一度しか使わないような処理を引数として渡したい時に
わざわざメソッドとして書かなくて済む
2021/02/08(月) 01:00:19.26ID:BqxWbjT60
お手軽処理をその場で書いて渡せることかな
2021/02/08(月) 01:06:18.03ID:hRlo1f3e0
c#でUSBカメラから録画・録音処理をするライブラリでいいのないですかね?
Accordを使ってみたところ、録画は上手くいったけど録音が上手く動かないしもうリポジトリもアーカイブされてるので乗り換え先を探しています。
2021/02/08(月) 01:25:17.22ID:EESpGXM5a
デリゲートを理解してればラムダ式自体を覚えるのは何の苦もないと思うけど
確かにデリゲート的な概念って、プログラミング自体初心者だったりお上品な言語しか
やったことない人だと理解しづらいよねたぶん。
それはそうだと思うわ。
2021/02/08(月) 01:52:41.04ID:YmxwiogA0
ラムダ式がメリットというより
引数として無名関数を指定出来るのがメリットという点を理解すれば良いだけかと
例えばよくあるソートだけど、大抵は2つの比較対象のオブジェクトがラムダ式の引数になるけど、ソート側からしたらそれをどう評価したらいいか分からないから、ラムダ式で評価する関数を戻り値として指定して、ソート側でそれを実行している訳で
この辺の説明でピンとこない人は中々理解できないかも知れない
2021/02/08(月) 08:20:16.41ID:PnrMZIJR0
>>504
名前をいちいち考えなくていい
引数に変数しか指定できなくて毎回
var I1 = I + 1;
foo(I1);
って書くより
foo(I + 1);
って書く方が楽でしょ
それと同じ
2021/02/08(月) 09:02:11.48ID:6em1tYAf0
無名関数は優れた概念だと思う。
問題はコピペが簡単にできる現代であれほど省略する必要があったのかってこと
2021/02/08(月) 10:12:50.26ID:asopwXX20
メソッドを記述するのが面倒なだけってのはお前の都合じゃん

あの処理だけどさって同じ開発者同士で話すときに
名前がないのが超超超超超超超超強烈なデメリットしかない
2021/02/08(月) 10:42:42.96ID:XTCsW3fgM
ラムダはその場かぎりのちっこい処理にだけ使うものだぞ
命名しておくべきような内容・ボリュームの処理をわざわざ無名のラムダにしておきながらなに言ってんだか
不便にしてるのはお前自身だろ
2021/02/08(月) 11:03:59.10ID:gKVPdjPN0
僕たまに一行だけのメソッドも作るんでその感覚よくわかりません

あと他でも同じ処理が必要になったときにラムダで書いたから5箇所同じことやってますとか言ったやつは死刑でつ
2021/02/08(月) 11:06:59.86ID:LrP4KWut0
>>512
いちいちコードの全処理に名前付けるのかって話よ
2021/02/08(月) 12:05:27.80ID:TxCBSk9L0
>>512
高階関数に渡す処理なので
「ここのWhereの指定だけどさ…」とか
「ここのGroupByに渡してるラムダの書き方だけどさ…」で問題なく話が通じる

話が通じないようなところにラムダを書いてるなら使い方のほうが間違ってるかも
2021/02/08(月) 12:07:08.93ID:QaH3FId2M
513はわからないんじゃなくて分かろうとするつもりが全く無いだけでしょ
その場限りじゃないことが明白なら1行の処理でも
メソッドにするのは当たり前

というか513はメソッドのラムダ表記すら難癖つけて全面禁止しそうだな
2021/02/08(月) 12:08:42.71ID:QaH3FId2M
レス番ずれてた
513じゃなくて>>512
2021/02/08(月) 12:13:39.02ID:gKVPdjPN0
>>516
じゃあ、メソッド名もそうしたほうがいいのかな?
2021/02/08(月) 12:16:19.29ID:TxCBSk9L0
Linqを使いやすくするためには高階関数を楽に使えるする必要があって
そのために導入されたのが無名関数とその表現形式であるラムダ式

Whereに渡す処理を必ず別の箇所で名前を付けて定義しなきゃいけないようだと面倒だし命名負荷が高い
2021/02/08(月) 12:17:03.96ID:TxCBSk9L0
>>519
そうしたほうとはどうしたほう?
2021/02/08(月) 12:52:14.43ID:NwJJp6aS0
>>512
LINQの記述を読めば分かるじゃん
2021/02/08(月) 12:53:18.46ID:nKGEYTSta
こういう話は抽象論より具体例挙げた方が早いね

例えば>>358に出てくるOrderByが引数に取るセレクターを
実際に自分でラムダ式とメソッドの両方で書いてみれば
ラムダ式の意義なんて自ずから分かるよね

理論的根拠はその後で考えればいい
端的に言えば、アホのな初心者がやる「なんでもグローバル変数(フィールド)」がダメなのと同じ理由よ
524デフォルトの名無しさん (アウアウエー Sadf-fCEL)
垢版 |
2021/02/08(月) 12:57:17.45ID:nKGEYTSta
>>522
というより、ローカル変数を禁止してすべてフィールドで書こうとしたらどうなるか、と言った方がたぶん通じると思う。
2021/02/08(月) 13:02:05.07ID:GsV6CYPPd
ここでどんなにラムダ式を否定しようと
大多数の業界人はそうは思わないからわざわざ作られたし普通に使われてるんだよ
マイノリティなの自覚したほうが良い
2021/02/08(月) 13:05:23.07ID:gKVPdjPN0
ラムダ式なんて書こうとした瞬間に明らかに特殊なことしようとしてんだからメソッドにしろよw
すくなくとももう一回その処理必要になった時点でメソッドにしたほうがいいだろ?
違うか?

検索一つとってもお前と別のやつは異なるラムダ式で同じことをやるかもしれなくて
そしてそれを見つけるのは異常に困難であると予想できる
2021/02/08(月) 13:05:46.79ID:WEC5Fu99M
>>504
LinQとの相性
2021/02/08(月) 13:13:24.77ID:nKGEYTSta
>>526
違うよ。
メソッドというのは「意味のあるある程度まとまった処理にその処理を表す名前をつけたもの」だ。

あまりに単純でアドホックな処理を無理にメソッドにしようとすると、

(1) 命名に困る(処理が単純すぎて他と区別できるような適切な名前がつけられない)
(2) メソッドの数が無意味に増えることで見通しが悪くなる

という問題が起こる。
だから、>>524をやったら起こるのと同じ問題を回避するためだよ
2021/02/08(月) 13:17:25.53ID:gKVPdjPN0
>>528
え?じゃあ、同じことやってるのにラムダ式1、ラムダ式2、ラムダ式じゃない方法1、ラムダ式じゃない方法2みたいなコードがソース中に散布されちゃうけど
何か防止する方法あるの?
検索一つとっても起きちゃうよね?
2021/02/08(月) 13:21:46.31ID:nKGEYTSta
>>529
馬鹿の一つ覚えはよくない。
もちろんケースバイケースで再利用を意識してメソッドにした方がよいケースもある。

今の論点は「ラムダ式に存在意義はあるのか?」ではないの?
誰も「デリゲート引数には必ずラムダ式を渡すべき」などとは言ってないでしょ
2021/02/08(月) 13:23:07.55ID:gKVPdjPN0
>>530
質問にこたえてよ
はぐらかさないでさ
一件でもあるなら最早使うべきではないでしょ?
2021/02/08(月) 13:26:13.21ID:nKGEYTSta
何を指してはぐらかしてると言ってるのか意味がわからないけどw
この人は暇つぶしがしたいだけなのかな?
まあ俺もそうだから文句はないけどねw
2021/02/08(月) 13:29:26.72ID:gKVPdjPN0
>>532
もういいよバイバイ
2021/02/08(月) 14:13:21.62ID:8emHxm3F0
LINQは難しくてよくわからないから使用禁止っていう会社本当に有るらしいよ
2021/02/08(月) 14:17:19.77ID:YmxwiogA0
同じようなものをコピペするのが嫌だったら
普通にメソッド定義して、それをthis.methodみたいに指定も出来る
var q = new List<int>();
q.Add(10);
q.Add(2);
q.Add(5);
q.Sort(this.method);
foreach(var r in q){Console.WriteLine(r.ToString());}
このthis.methodが
private int method(int x,int y)
{
return x - y;
}
にしても動く
C#ならこれらの条件式を別のクラスでstaticでおいていても、別のクラス.methodみたいな指定で動く
まぁ、何度も同じような式を使うなら別のクラスに集めておくというのも無くは無いけどね
536デフォルトの名無しさん (エムゾネ FFbf-6HDI)
垢版 |
2021/02/08(月) 14:30:19.75ID:5JxS4RLeF
>>507
NAudio
OpenCV.NET
2021/02/08(月) 15:07:36.60ID:hRlo1f3e0
>>536
opencvの画像処理とNAudioの音声処理って同期できるんでしょうか?
画像フレームイベントと音声フレームイベントでそれぞれ同じファイルに対して書き込んでいくイメージが浮かびましたが
2021/02/08(月) 19:08:17.30ID:xjBqJ/6J0
USBカメラでトラブルなくなんとかなりそうなのはUWPじゃね?
2021/02/08(月) 19:23:42.76ID:4Qyy9go20
ラムダ式使うなの人はvar使うなと同じ匂いがするな
540デフォルトの名無しさん (ワッチョイ 57e5-/W+d)
垢版 |
2021/02/08(月) 20:35:50.80ID:Pr1Hp8QQ0
λ式つかうとき、なんとなく不安なので()で囲みたくなる

()で囲むなら{return }ぐらい書いても対して変わらないような気がしてくる
2021/02/08(月) 20:45:30.47ID:7ndpGKbk0
一番優先すべきは自分が(グループが)理解しやすいかどうかだからいいんじゃない?
三項演算式も単純な物以外は使わない方がいいと思うし
()で囲むなら囲むで全部囲むと統一すべきとは思うけど
2021/02/08(月) 20:47:10.26ID:PnrMZIJR0
>>539
まあ身の回りにいないならどうでもいいや
2021/02/08(月) 21:00:30.48ID:NgGwlfwa0
>>507
MediaFoundationでいいじゃん。
2021/02/09(火) 02:08:46.17ID:W+QSEYkH0
c#はコードの記述量を減らす仕様の追加は多いよね
書き方も奇妙でなく今までの記述と整合性はあるし悪くない

でも増えた仕様を知らないとソースは読めないし覚える事が多くなって初心者が戸惑う事はないのかな
2021/02/09(火) 08:42:10.30ID:Y6/VWBkq0
varを使っていて読みにくいコードはvarを使ってなくても読みにくいって
ufcppの人が言ってた
2021/02/09(火) 08:42:13.95ID:k5T/Xgmha
>>544
知らない記述が出てきた時点で調べれば事足りるだろ
2021/02/09(火) 09:08:22.60ID:MQ4HPmPO0
>>544
いつまでたってもマクロを実装しない時点でコード量を減らしたいという意図があるとはとても思えない
ソースジェネレーターも全然違うしあくまで安全性第一な言語
2021/02/09(火) 09:08:35.67ID:Q6+voU8N0
それはそうだけど??とか.?とかは調べても分からんよねっていう(検索しても引っかからないので)
2021/02/09(火) 09:23:40.65ID:Ad7Y09LZ0
C# "??演算子"
とかで検索すればヒットしたよ
2021/02/09(火) 09:27:48.15ID:62rZ0qzr0
>>546
>>548が言うように調べにくいっていうのはあるわな
ラムダ式って呼び方知らなきゃググるだけでも大変だし
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況