!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
探検
ふらっと C#,C♯,C#(初心者用) Part149
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワキゲー MMca-Gz4g)
2020/12/16(水) 11:29:35.35ID:TSvQ057dM438デフォルトの名無しさん (ワッチョイ 79a7-YX0t)
2021/02/03(水) 08:42:49.88ID:7CsH6q/40 >>436
_nameを消したいのかとESP
_nameを消したいのかとESP
439デフォルトの名無しさん (ワッチョイ 8d66-B8+7)
2021/02/03(水) 08:55:41.75ID:9jfq2zZC0440デフォルトの名無しさん (ワッチョイ 79a7-YX0t)
2021/02/03(水) 08:59:26.01ID:7CsH6q/40 そもそも書かなくて良くなるじゃん
set{value=略;}にすれば
なるっけ?
set{value=略;}にすれば
なるっけ?
441デフォルトの名無しさん (ワッチョイ 8d66-B8+7)
2021/02/03(水) 09:03:06.99ID:9jfq2zZC0 書きたくないんじゃなくて書く必要がある場合にどこに書くのか?だろ
勝手に質問変えないで
自動実装プロパティでは不都合があるため自前でバッキングフィールドを用意する、は大前提
勝手に質問変えないで
自動実装プロパティでは不都合があるため自前でバッキングフィールドを用意する、は大前提
442デフォルトの名無しさん (ワッチョイ 79a7-YX0t)
2021/02/03(水) 09:05:26.44ID:7CsH6q/40 >>441
書く必要があるときってあるん?
書く必要があるときってあるん?
443デフォルトの名無しさん (ワッチョイ b67c-IZeX)
2021/02/03(水) 09:10:29.51ID:drzEfAtQ0 >>437
「フォームにクラスファイルを追加する」が意味わからん プロジェクトにファイルを追加する?
「メニューバーの」が具体的にどれを指してるのか分からん
「ただのクラスファイルを作るだけ」がやりたいこととどう異なっているのか分からん
「フォームにクラスファイルを追加する」が意味わからん プロジェクトにファイルを追加する?
「メニューバーの」が具体的にどれを指してるのか分からん
「ただのクラスファイルを作るだけ」がやりたいこととどう異なっているのか分からん
444デフォルトの名無しさん (ワッチョイ 79a7-YX0t)
2021/02/03(水) 11:07:31.11ID:7CsH6q/40445358 (テテンテンテン MM3e-cLcr)
2021/02/03(水) 14:11:05.34ID:QuhKbcfMM >>359
調べてみましたが、サンプルコードを見ても良く分かりませんでした。
あとで勉強してみます。
>>367
これでも出来そうでした。アドバイスありがとう。
結果報告ですが、ExpressionTreeを使って動的にラムダ式を生成することで解決しました。
完成したコードは以下の通り。
void DynamicOrderBy(string propName){
//引数の文字列に対応するプロパティを返すラムダ式の生成
Func<Person, string> keyFunc = GetDynamicPropertyExpression(propName).Compile();
//動的に生成したラムダ式を使ってOrderBy
var sortedPeople = people.OrderBy(keyFunc)
}
static Expression<Func<KoyouPerson, string>> GetDynamicPropertyExpression(string columnName){
var type = typeof(KoyouPerson);
var property = type.GetProperty(columnName);
var parameter = Expression.Parameter(type, "p");
//p.{columnName}
var propertyAccess = Expression.MakeMemberAccess(parameter, property);
//p => p.{columnName} というラムダ式を格納した式ツリーを返す
return Expression.Lambda<Func<KoyouPerson, string>>(propertyAccess, parameter);
}
調べてみましたが、サンプルコードを見ても良く分かりませんでした。
あとで勉強してみます。
>>367
これでも出来そうでした。アドバイスありがとう。
結果報告ですが、ExpressionTreeを使って動的にラムダ式を生成することで解決しました。
完成したコードは以下の通り。
void DynamicOrderBy(string propName){
//引数の文字列に対応するプロパティを返すラムダ式の生成
Func<Person, string> keyFunc = GetDynamicPropertyExpression(propName).Compile();
//動的に生成したラムダ式を使ってOrderBy
var sortedPeople = people.OrderBy(keyFunc)
}
static Expression<Func<KoyouPerson, string>> GetDynamicPropertyExpression(string columnName){
var type = typeof(KoyouPerson);
var property = type.GetProperty(columnName);
var parameter = Expression.Parameter(type, "p");
//p.{columnName}
var propertyAccess = Expression.MakeMemberAccess(parameter, property);
//p => p.{columnName} というラムダ式を格納した式ツリーを返す
return Expression.Lambda<Func<KoyouPerson, string>>(propertyAccess, parameter);
}
446デフォルトの名無しさん (ワッチョイ ea42-6WVI)
2021/02/03(水) 15:14:33.67ID:qlx5EMsl0447デフォルトの名無しさん (ワッチョイ 2a01-I+PI)
2021/02/03(水) 15:24:45.11ID:q3Uucr840 >>445
OrderByのサンプル見れば分かるやろ
https://dotnetfiddle.net/GdxsMG
Customers.OrderBy(c => c.City)を
Customers.OrderBy("City”)にできる
OrderByのサンプル見れば分かるやろ
https://dotnetfiddle.net/GdxsMG
Customers.OrderBy(c => c.City)を
Customers.OrderBy("City”)にできる
448デフォルトの名無しさん (スフッ Sd0a-tETL)
2021/02/03(水) 16:56:36.24ID:ADWHn1WBd449デフォルトの名無しさん (ワッチョイ 662f-unxX)
2021/02/03(水) 17:10:24.98ID:PTI/2U/t0 Form上のテキストボックスにファイルのパスを記入してもらって、
このパスにあるファイルをpythonで起動したいのですが
var pass = this.passSetting.Text;
System.Diagnostics.Process.Start("python.exe", @pass);
では何も起動しません。
多分
@pass
ではパスを示せてないんだと思うんですが、どうすればテキストボックスから取得したパスをProcess,Startの引数にできるんでしょう?
このパスにあるファイルをpythonで起動したいのですが
var pass = this.passSetting.Text;
System.Diagnostics.Process.Start("python.exe", @pass);
では何も起動しません。
多分
@pass
ではパスを示せてないんだと思うんですが、どうすればテキストボックスから取得したパスをProcess,Startの引数にできるんでしょう?
450デフォルトの名無しさん (ワッチョイ 662f-unxX)
2021/02/03(水) 17:33:43.76ID:PTI/2U/t0 System.Diagnostics.Process.Start("python.exe", @"""L:\AAAAAA\USN_analyzer\time_series_analysis26.py""");
だとpythonのファイルを実行できるんですが、
var pass = "L:\AAAAAA\USN_analyzer\time_series_analysis26.py"
System.Diagnostics.Process.Start("python.exe", @pass);
みたいに変数で実行ファイルのパスを渡すことってできないのでしょうか?
だとpythonのファイルを実行できるんですが、
var pass = "L:\AAAAAA\USN_analyzer\time_series_analysis26.py"
System.Diagnostics.Process.Start("python.exe", @pass);
みたいに変数で実行ファイルのパスを渡すことってできないのでしょうか?
451デフォルトの名無しさん (ワッチョイ 2a01-I+PI)
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
その2つだとpython.exeに渡す引数がquoteされてるかどうかの違い出るからうまく行くほうに合わせたら?
var pass = @"""L:¥AAAAAA¥USN_analyzer¥time_series_analysis26.py""";
System.Diagnostics.Process.Start("python.exe", pass);
ちなみにpassじゃなくてpath
452デフォルトの名無しさん (ワッチョイ 1161-JR60)
2021/02/03(水) 18:29:48.39ID:dgpbKw5W0 >>450
頭の@は文字列リテラルに付けた時と変数に付けた時は意味が違う
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/tokens/verbatim
頭の@は文字列リテラルに付けた時と変数に付けた時は意味が違う
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/tokens/verbatim
453デフォルトの名無しさん (ワッチョイ 662f-unxX)
2021/02/03(水) 23:04:55.84ID:PTI/2U/t0454デフォルトの名無しさん (ワッチョイ 6aad-RNyz)
2021/02/04(木) 03:54:16.03ID:8ASdjdRY0 エクセルの表みたいな
一行に複数の列(項目が並んでる 二次元の配列って
ArrayListじゃだめなんだっけ?
独自のプロプロパティをもったクラスつくってそれを列に放り込むんだったっけ?
一行に複数の列(項目が並んでる 二次元の配列って
ArrayListじゃだめなんだっけ?
独自のプロプロパティをもったクラスつくってそれを列に放り込むんだったっけ?
455デフォルトの名無しさん (ワッチョイ 79a7-YX0t)
2021/02/04(木) 07:35:49.07ID:mMDqMLln0 フィールドがプロパティで
レコードが件数になりまつ
って言うと通じるの?
List<myclass> dtcls = new List<myclass>();
的な
myclassのメンバがプロパティで
レコードが件数になりまつ
って言うと通じるの?
List<myclass> dtcls = new List<myclass>();
的な
myclassのメンバがプロパティで
456デフォルトの名無しさん (ラクッペペ MM3e-mj3q)
2021/02/04(木) 08:09:30.76ID:+vIUF0nDM 通じない
フィールド、プロパティ、メンバ
それぞれに言語上の意味がある
フィールド、プロパティ、メンバ
それぞれに言語上の意味がある
457デフォルトの名無しさん (ワッチョイ c594-unxX)
2021/02/04(木) 09:33:50.26ID:5uFosyLe0 書き込めない
458デフォルトの名無しさん (ワッチョイ c594-unxX)
2021/02/04(木) 09:37:28.17ID:5uFosyLe0 WebRequestでウェブページを取得しているのですが、POSTに必要なFormDataがうまく取得できません
普通なら対象ページのHTMLを見れば取得できるのですが、対象ページの”実行”ボタンを押した時にjavascriptでPOSTに必要な情報を
生成しているようで、この値を取得できないのです。
何か方法がありましたら教えてください
普通なら対象ページのHTMLを見れば取得できるのですが、対象ページの”実行”ボタンを押した時にjavascriptでPOSTに必要な情報を
生成しているようで、この値を取得できないのです。
何か方法がありましたら教えてください
459デフォルトの名無しさん (ワッチョイ c594-unxX)
2021/02/04(木) 09:38:55.99ID:5uFosyLe0 HTMLはこんな感じです
<input type="submit" value="実行" onclick="sid()">
<input type="submit" value="実行" onclick="sid()">
460デフォルトの名無しさん (ワッチョイ b67c-IZeX)
2021/02/04(木) 11:07:52.39ID:NUvwu5Ez0 自分でJavaScript解析できないならSeleniumで
461デフォルトの名無しさん (ワッチョイ a59b-qCTK)
2021/02/04(木) 11:24:29.52ID:ZzRKCYY/0 selenium
462デフォルトの名無しさん (ワッチョイ 66f2-GDPA)
2021/02/04(木) 12:51:14.55ID:PDwRodWn0 ブラウザでF12押してネットワークになに流れてるかを見てみたら?
463デフォルトの名無しさん (ワッチョイ c594-unxX)
2021/02/04(木) 15:45:09.59ID:5uFosyLe0464デフォルトの名無しさん (ブーイモ MMc9-qSW8)
2021/02/04(木) 17:55:14.32ID:uLY+2761M >>463
C#でそのJavaScriptと同じことをやって値を計算するか、C#からJavaScriptを実行して結果を取得するか
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」となるのですが、なぜですかね?
{
public int data { get; set; }
}
Test b = new Test()
bをウオッチすると、dataが、「@data」となるのですが、なぜですかね?
466デフォルトの名無しさん (ワッチョイ 662c-IZeX)
2021/02/04(木) 21:33:17.59ID:Gk5V85vI0 Ruby on Rails ではシステムテストで、Selenium Webdriver を使う
Capybara で、Headless Chrome とか
Capybara で、Headless Chrome とか
467デフォルトの名無しさん (ワッチョイ 7fdf-XSVS)
2021/02/05(金) 01:41:49.08ID:RhinnOg60 なんでRoRの話が?
468デフォルトの名無しさん (ワッチョイ 1794-56gX)
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);
これまでのやり方は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);
469デフォルトの名無しさん (ワッチョイ 9f7c-JWMU)
2021/02/05(金) 19:45:05.14ID:+3DA/7eT0 ちょっとググれば出るやんw
https://whatsnewmail.yahoo.co.jp/yahoo/20200824a.html
https://whatsnewmail.yahoo.co.jp/yahoo/20200824a.html
470デフォルトの名無しさん (ワッチョイ f761-DFMR)
2021/02/05(金) 19:49:44.60ID:KQRmB00P0 https://docs.microsoft.com/ja-jp/dotnet/api/system.net.mail.smtpclient.enablessl
SMTP+STARTTLSにしか対応してないのでSMTPSに対応する他の方法を使う
SMTP+STARTTLSにしか対応してないのでSMTPSに対応する他の方法を使う
471デフォルトの名無しさん (ワッチョイ 9fad-zhgz)
2021/02/05(金) 21:14:07.85ID:wjTgrFbp0 SmtpClientってそもそも非推奨だしな
472デフォルトの名無しさん (ワッチョイ 1794-56gX)
2021/02/05(金) 22:02:49.43ID:8Pa/tTU+0 >>470
ありがとうございます。
単純にポート番号と通信方法変えるだけじゃダメだったんですね。
SMTPSで検索してみたらMailKit使えと出てきたのでやってみたらできました。
ありがとうございました。
ありがとうございます。
単純にポート番号と通信方法変えるだけじゃダメだったんですね。
SMTPSで検索してみたらMailKit使えと出てきたのでやってみたらできました。
ありがとうございました。
473デフォルトの名無しさん (ワッチョイ 9fb6-blKv)
2021/02/06(土) 03:01:00.29ID:Yx7joU3b0 質問させてください。
c#でgoogle drive api を使ったWindowsアプリケーションを作ろうと思っているのですが、
ビルド後に出来た配布ファイルは実行ファイルはもちろんの事、NuGetで追加したDLL群や、
取得したJSONファイルも含めて配布すればいいのでしょうか?
c#でgoogle drive api を使ったWindowsアプリケーションを作ろうと思っているのですが、
ビルド後に出来た配布ファイルは実行ファイルはもちろんの事、NuGetで追加したDLL群や、
取得したJSONファイルも含めて配布すればいいのでしょうか?
474デフォルトの名無しさん (ワッチョイ ffda-BN1l)
2021/02/06(土) 03:29:14.46ID:Ygg5i19/0 インストーラー作れや
475デフォルトの名無しさん (ワッチョイ b778-56gX)
2021/02/06(土) 08:28:56.67ID:j0Q2R7my0 そのインストーラーを作るのにも必要なファイル群がわからないとダメだと思うけど
476デフォルトの名無しさん (ワッチョイ ff84-56gX)
2021/02/06(土) 11:41:20.20ID:MqA6OGOW0 >>473
必要なファイル郡は何らかの形で入手できるようにしなければいけないので、
最低限の情報としてこのDLLとかこのJSON使ってますって情報をユーザに
与えてあげないと動かしようがないけど、配布ファイルに含めるか各自で
ダウンロードさせるかはアプリの作成者が決めること
ただし、アプリに含めて配布する場合には、自分の作ったもの以外は
再配布可能なものなのか、各々のDllとかのライセンスを確認しないとダメだよ
ものによって勝手に配布しちゃダメとか、配布にはこれを使えとか、コンパイル
済みのものは配布不可とか色々あるので
必要なファイル郡は何らかの形で入手できるようにしなければいけないので、
最低限の情報としてこのDLLとかこのJSON使ってますって情報をユーザに
与えてあげないと動かしようがないけど、配布ファイルに含めるか各自で
ダウンロードさせるかはアプリの作成者が決めること
ただし、アプリに含めて配布する場合には、自分の作ったもの以外は
再配布可能なものなのか、各々のDllとかのライセンスを確認しないとダメだよ
ものによって勝手に配布しちゃダメとか、配布にはこれを使えとか、コンパイル
済みのものは配布不可とか色々あるので
477デフォルトの名無しさん (ワッチョイ d724-RXZG)
2021/02/06(土) 17:42:10.09ID:Bi5ar2460 >>473
そうだけど、GoogleTokenフォルダ下のものはそれぞれのアカウントのを利用させないと不正アクセス起こっちゃわないか
そうだけど、GoogleTokenフォルダ下のものはそれぞれのアカウントのを利用させないと不正アクセス起こっちゃわないか
478デフォルトの名無しさん (テテンテンテン MM8f-MALB)
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を指定したり出来るのでしょうか?
取り敢えず並び替え出来れば良いので一番かんたんな方法をどなたか教えて下さい。
よろしくお願いします。。
List<Item> itemList = new List<Item>();
があって、
クラスItemはint itemIDを持っています。
itemListをitemID順にソートするにはどうしたら良いのでしょうか?
itemList.Sort();
で出来ると思っていたのですが、よく考えたら出来る訳ありませんでした・・・。
Sort()のカッコ内にitemIDを指定したり出来るのでしょうか?
取り敢えず並び替え出来れば良いので一番かんたんな方法をどなたか教えて下さい。
よろしくお願いします。。
479デフォルトの名無しさん (ワッチョイ 9f01-pSMo)
2021/02/06(土) 18:18:20.71ID:zn5WrP4C0480デフォルトの名無しさん (アウアウエー Sadf-fCEL)
2021/02/06(土) 18:24:06.35ID:bSeS6eqZa481デフォルトの名無しさん (テテンテンテン MM8f-MALB)
2021/02/06(土) 18:44:12.48ID:UYR2I7R3M482デフォルトの名無しさん (ワッチョイ 9f7c-KtkR)
2021/02/06(土) 18:49:45.30ID:Kl671woR0 Tってなに?とか言ってるのに
List<Item>使ってるやん(笑)
List<Item>使ってるやん(笑)
483デフォルトの名無しさん (テテンテンテン MM8f-MALB)
2021/02/06(土) 18:59:51.25ID:UYR2I7R3M >>482
サンプルなどで使って覚えたので。。
意味を理解しているというよりも、リストの書き方はこうって覚えています。
しかも私が言ってるのは<T>だけに限ったじゃありません。(わからないくせに偉そうですみません)
<T>に限って言えばClass名を入れるって事ですか?
サンプルなどで使って覚えたので。。
意味を理解しているというよりも、リストの書き方はこうって覚えています。
しかも私が言ってるのは<T>だけに限ったじゃありません。(わからないくせに偉そうですみません)
<T>に限って言えばClass名を入れるって事ですか?
484デフォルトの名無しさん (ワッチョイ b7ad-i1Ka)
2021/02/06(土) 19:04:04.81ID:uslvvrsY0 ジェネリックのことは黒柳さーんに聞くといいよ。
485デフォルトの名無しさん (ワッチョイ 9f52-xUEw)
2021/02/06(土) 19:24:51.67ID:xuEfQm7n0486デフォルトの名無しさん (ワッチョイ 9f7c-JWMU)
2021/02/06(土) 19:41:30.75ID:Kl671woR0487デフォルトの名無しさん (ワッチョイ 3733-r+oG)
2021/02/06(土) 19:58:10.04ID:pqKs8KDi0 List<Item>だとListにItemしか格納できなくて後々不便になるので、
普通はList<object>にするのが一般的だよ。
普通はList<object>にするのが一般的だよ。
488デフォルトの名無しさん (ワッチョイ 9701-JWMU)
2021/02/06(土) 20:10:24.73ID:f+vO1TLm0 え?
489デフォルトの名無しさん (ワッチョイ 9f01-pSMo)
2021/02/06(土) 20:20:56.81ID:zn5WrP4C0490デフォルトの名無しさん (ブーイモ MMcf-YUDs)
2021/02/06(土) 21:00:57.90ID:xFqAsQE9M491デフォルトの名無しさん (テテンテンテン MM8f-MALB)
2021/02/06(土) 21:04:16.10ID:UYR2I7R3M492デフォルトの名無しさん (テテンテンテン MM8f-MALB)
2021/02/06(土) 21:21:06.73ID:UYR2I7R3M >>490
今作ってるものが完成したら皆さんが言うとおり基礎の勉強したいと思います。
new Person(){Name = "a"}のaは普通の解説ならTaroとか書くはずで、のちのa,bとは関係ないって事ですね?
今作ってるものが完成したら皆さんが言うとおり基礎の勉強したいと思います。
new Person(){Name = "a"}のaは普通の解説ならTaroとか書くはずで、のちのa,bとは関係ないって事ですね?
493デフォルトの名無しさん (ワッチョイ 9f01-pSMo)
2021/02/06(土) 22:25:38.73ID:zn5WrP4C0 >>492
ああ、確かにPersonでName="a"は手を抜きすぎだな、"Taro"とか"田中"とかの方がいいね
その"a"とラムダ式のaは関係ない
それを示すために
> ※ a, b は単なる引数だから (x, y) => x.itemID - y.itemID とかでもいい
って書いたんだけどね
ああ、確かにPersonでName="a"は手を抜きすぎだな、"Taro"とか"田中"とかの方がいいね
その"a"とラムダ式のaは関係ない
それを示すために
> ※ a, b は単なる引数だから (x, y) => x.itemID - y.itemID とかでもいい
って書いたんだけどね
494デフォルトの名無しさん (ワッチョイ bf62-MEK4)
2021/02/06(土) 22:27:37.15ID:AyWHBNPF0 >>492
以下のメソッドの同じ意味
一々メソッドを定義するの面倒だし、型とか一々書くのが面倒で省略しまくったのがラムダ式と思うとイメージしやすい
int Hoge(Item a, Item b)
{
return a.itemID - b.itemID;
}
以下のメソッドの同じ意味
一々メソッドを定義するの面倒だし、型とか一々書くのが面倒で省略しまくったのがラムダ式と思うとイメージしやすい
int Hoge(Item a, Item b)
{
return a.itemID - b.itemID;
}
495デフォルトの名無しさん (テテンテンテン MM8f-MALB)
2021/02/06(土) 22:49:39.66ID:UYR2I7R3M496デフォルトの名無しさん (ワッチョイ bf42-JWMU)
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 ラムダ式はちゃんと練習したいな、なんか練習問題集みたいなのないのかな?
特にキャプチャーの概念が自分の感覚と狂う狂う
特にキャプチャーの概念が自分の感覚と狂う狂う
499デフォルトの名無しさん (ワッチョイ bfde-Wae7)
2021/02/07(日) 21:21:20.13ID:S7zvZDvX0 意味不明
それでしか書けないものがあるならまだしも
結局モノが作りたいんじゃないなら
この職には近づかないほうがいいぞ
不幸になる
それでしか書けないものがあるならまだしも
結局モノが作りたいんじゃないなら
この職には近づかないほうがいいぞ
不幸になる
500デフォルトの名無しさん (アウアウエー Sadf-fCEL)
2021/02/07(日) 21:21:56.15ID:pmm7svGna 真面目な話、ラムダ式はそこまで奥は深くない気がする。
決していきがって言ってないつもり。
キャプチャーに関してはC#5.0での破壊的変更が逆に落とし穴になってるような
気がしないでもないけど、他に直感を裏切るような落とし穴があるわけでもないし
https://ufcpp.net/study/csharp/ap_ver5.html#foreach
川俣さんの記事が割とよく書けてると思うしあれ読めば十分じゃないのかな
決していきがって言ってないつもり。
キャプチャーに関してはC#5.0での破壊的変更が逆に落とし穴になってるような
気がしないでもないけど、他に直感を裏切るような落とし穴があるわけでもないし
https://ufcpp.net/study/csharp/ap_ver5.html#foreach
川俣さんの記事が割とよく書けてると思うしあれ読めば十分じゃないのかな
501デフォルトの名無しさん (ワッチョイ 5763-ideP)
2021/02/07(日) 22:40:06.94ID:emwEhLVE0 arcoderでもやってりゃいいんじゃないの?
502デフォルトの名無しさん (ワッチョイ ffb5-UcqE)
2021/02/07(日) 23:10:43.01ID:YZfkY6ii0503デフォルトの名無しさん (スッップ Sdbf-p9Hx)
2021/02/07(日) 23:56:40.34ID:zExDTdlVd 俺もラムダ式は最初意味不明すぎて苦労した
何で躓いたかって言うと一番は用途が不明な点
デリゲートとか覚えたらそこから理解できた
何で躓いたかって言うと一番は用途が不明な点
デリゲートとか覚えたらそこから理解できた
504デフォルトの名無しさん (ワッチョイ 9f10-56gX)
2021/02/08(月) 00:50:31.00ID:Vt5mMx+g0 ラムダ式のメリットってなによ
わざと難解に書いてるだけにしか見えん
わざと難解に書いてるだけにしか見えん
505デフォルトの名無しさん (スッップ Sdbf-p9Hx)
2021/02/08(月) 00:57:45.90ID:GsV6CYPPd506デフォルトの名無しさん (ワッチョイ d779-YUDs)
2021/02/08(月) 01:00:19.26ID:BqxWbjT60 お手軽処理をその場で書いて渡せることかな
507デフォルトの名無しさん (ワッチョイ 7fdf-XSVS)
2021/02/08(月) 01:06:18.03ID:hRlo1f3e0 c#でUSBカメラから録画・録音処理をするライブラリでいいのないですかね?
Accordを使ってみたところ、録画は上手くいったけど録音が上手く動かないしもうリポジトリもアーカイブされてるので乗り換え先を探しています。
Accordを使ってみたところ、録画は上手くいったけど録音が上手く動かないしもうリポジトリもアーカイブされてるので乗り換え先を探しています。
508デフォルトの名無しさん (アウアウエー Sadf-fCEL)
2021/02/08(月) 01:25:17.22ID:EESpGXM5a デリゲートを理解してればラムダ式自体を覚えるのは何の苦もないと思うけど
確かにデリゲート的な概念って、プログラミング自体初心者だったりお上品な言語しか
やったことない人だと理解しづらいよねたぶん。
それはそうだと思うわ。
確かにデリゲート的な概念って、プログラミング自体初心者だったりお上品な言語しか
やったことない人だと理解しづらいよねたぶん。
それはそうだと思うわ。
509デフォルトの名無しさん (ワッチョイ 9f7c-KtkR)
2021/02/08(月) 01:52:41.04ID:YmxwiogA0 ラムダ式がメリットというより
引数として無名関数を指定出来るのがメリットという点を理解すれば良いだけかと
例えばよくあるソートだけど、大抵は2つの比較対象のオブジェクトがラムダ式の引数になるけど、ソート側からしたらそれをどう評価したらいいか分からないから、ラムダ式で評価する関数を戻り値として指定して、ソート側でそれを実行している訳で
この辺の説明でピンとこない人は中々理解できないかも知れない
引数として無名関数を指定出来るのがメリットという点を理解すれば良いだけかと
例えばよくあるソートだけど、大抵は2つの比較対象のオブジェクトがラムダ式の引数になるけど、ソート側からしたらそれをどう評価したらいいか分からないから、ラムダ式で評価する関数を戻り値として指定して、ソート側でそれを実行している訳で
この辺の説明でピンとこない人は中々理解できないかも知れない
510デフォルトの名無しさん (ワッチョイ 9f01-pSMo)
2021/02/08(月) 08:20:16.41ID:PnrMZIJR0511デフォルトの名無しさん (ワッチョイ bfde-8vQj)
2021/02/08(月) 09:02:11.48ID:6em1tYAf0 無名関数は優れた概念だと思う。
問題はコピペが簡単にできる現代であれほど省略する必要があったのかってこと
問題はコピペが簡単にできる現代であれほど省略する必要があったのかってこと
512デフォルトの名無しさん (ワッチョイ 37de-Wae7)
2021/02/08(月) 10:12:50.26ID:asopwXX20 メソッドを記述するのが面倒なだけってのはお前の都合じゃん
あの処理だけどさって同じ開発者同士で話すときに
名前がないのが超超超超超超超超強烈なデメリットしかない
あの処理だけどさって同じ開発者同士で話すときに
名前がないのが超超超超超超超超強烈なデメリットしかない
513デフォルトの名無しさん (ベーイモ MM4f-K+IG)
2021/02/08(月) 10:42:42.96ID:XTCsW3fgM ラムダはその場かぎりのちっこい処理にだけ使うものだぞ
命名しておくべきような内容・ボリュームの処理をわざわざ無名のラムダにしておきながらなに言ってんだか
不便にしてるのはお前自身だろ
命名しておくべきような内容・ボリュームの処理をわざわざ無名のラムダにしておきながらなに言ってんだか
不便にしてるのはお前自身だろ
514デフォルトの名無しさん (ワッチョイ 37a7-Wae7)
2021/02/08(月) 11:03:59.10ID:gKVPdjPN0 僕たまに一行だけのメソッドも作るんでその感覚よくわかりません
あと他でも同じ処理が必要になったときにラムダで書いたから5箇所同じことやってますとか言ったやつは死刑でつ
あと他でも同じ処理が必要になったときにラムダで書いたから5箇所同じことやってますとか言ったやつは死刑でつ
515デフォルトの名無しさん (ワッチョイ d77c-NQaa)
2021/02/08(月) 11:06:59.86ID:LrP4KWut0 >>512
いちいちコードの全処理に名前付けるのかって話よ
いちいちコードの全処理に名前付けるのかって話よ
516デフォルトの名無しさん (ワッチョイ 9f01-OQuQ)
2021/02/08(月) 12:05:27.80ID:TxCBSk9L0 >>512
高階関数に渡す処理なので
「ここのWhereの指定だけどさ…」とか
「ここのGroupByに渡してるラムダの書き方だけどさ…」で問題なく話が通じる
話が通じないようなところにラムダを書いてるなら使い方のほうが間違ってるかも
高階関数に渡す処理なので
「ここのWhereの指定だけどさ…」とか
「ここのGroupByに渡してるラムダの書き方だけどさ…」で問題なく話が通じる
話が通じないようなところにラムダを書いてるなら使い方のほうが間違ってるかも
517デフォルトの名無しさん (ベーイモ MM4f-K+IG)
2021/02/08(月) 12:07:08.93ID:QaH3FId2M 513はわからないんじゃなくて分かろうとするつもりが全く無いだけでしょ
その場限りじゃないことが明白なら1行の処理でも
メソッドにするのは当たり前
というか513はメソッドのラムダ表記すら難癖つけて全面禁止しそうだな
その場限りじゃないことが明白なら1行の処理でも
メソッドにするのは当たり前
というか513はメソッドのラムダ表記すら難癖つけて全面禁止しそうだな
518デフォルトの名無しさん (ベーイモ MM4f-K+IG)
2021/02/08(月) 12:08:42.71ID:QaH3FId2M レス番ずれてた
513じゃなくて>>512
513じゃなくて>>512
519デフォルトの名無しさん (ワッチョイ 37a7-Wae7)
2021/02/08(月) 12:13:39.02ID:gKVPdjPN0 >>516
じゃあ、メソッド名もそうしたほうがいいのかな?
じゃあ、メソッド名もそうしたほうがいいのかな?
520デフォルトの名無しさん (ワッチョイ 9f01-OQuQ)
2021/02/08(月) 12:16:19.29ID:TxCBSk9L0 Linqを使いやすくするためには高階関数を楽に使えるする必要があって
そのために導入されたのが無名関数とその表現形式であるラムダ式
Whereに渡す処理を必ず別の箇所で名前を付けて定義しなきゃいけないようだと面倒だし命名負荷が高い
そのために導入されたのが無名関数とその表現形式であるラムダ式
Whereに渡す処理を必ず別の箇所で名前を付けて定義しなきゃいけないようだと面倒だし命名負荷が高い
521デフォルトの名無しさん (ワッチョイ 9f01-OQuQ)
2021/02/08(月) 12:17:03.96ID:TxCBSk9L0 >>519
そうしたほうとはどうしたほう?
そうしたほうとはどうしたほう?
522デフォルトの名無しさん (ワッチョイ 17ad-De3E)
2021/02/08(月) 12:52:14.43ID:NwJJp6aS0 >>512
LINQの記述を読めば分かるじゃん
LINQの記述を読めば分かるじゃん
523デフォルトの名無しさん (アウアウエー Sadf-fCEL)
2021/02/08(月) 12:53:18.46ID:nKGEYTSta こういう話は抽象論より具体例挙げた方が早いね
例えば>>358に出てくるOrderByが引数に取るセレクターを
実際に自分でラムダ式とメソッドの両方で書いてみれば
ラムダ式の意義なんて自ずから分かるよね
理論的根拠はその後で考えればいい
端的に言えば、アホのな初心者がやる「なんでもグローバル変数(フィールド)」がダメなのと同じ理由よ
例えば>>358に出てくるOrderByが引数に取るセレクターを
実際に自分でラムダ式とメソッドの両方で書いてみれば
ラムダ式の意義なんて自ずから分かるよね
理論的根拠はその後で考えればいい
端的に言えば、アホのな初心者がやる「なんでもグローバル変数(フィールド)」がダメなのと同じ理由よ
524デフォルトの名無しさん (アウアウエー Sadf-fCEL)
2021/02/08(月) 12:57:17.45ID:nKGEYTSta >>522
というより、ローカル変数を禁止してすべてフィールドで書こうとしたらどうなるか、と言った方がたぶん通じると思う。
というより、ローカル変数を禁止してすべてフィールドで書こうとしたらどうなるか、と言った方がたぶん通じると思う。
525デフォルトの名無しさん (スッップ Sdbf-p9Hx)
2021/02/08(月) 13:02:05.07ID:GsV6CYPPd ここでどんなにラムダ式を否定しようと
大多数の業界人はそうは思わないからわざわざ作られたし普通に使われてるんだよ
マイノリティなの自覚したほうが良い
大多数の業界人はそうは思わないからわざわざ作られたし普通に使われてるんだよ
マイノリティなの自覚したほうが良い
526デフォルトの名無しさん (ワッチョイ 37a7-Wae7)
2021/02/08(月) 13:05:23.07ID:gKVPdjPN0 ラムダ式なんて書こうとした瞬間に明らかに特殊なことしようとしてんだからメソッドにしろよw
すくなくとももう一回その処理必要になった時点でメソッドにしたほうがいいだろ?
違うか?
検索一つとってもお前と別のやつは異なるラムダ式で同じことをやるかもしれなくて
そしてそれを見つけるのは異常に困難であると予想できる
すくなくとももう一回その処理必要になった時点でメソッドにしたほうがいいだろ?
違うか?
検索一つとってもお前と別のやつは異なるラムダ式で同じことをやるかもしれなくて
そしてそれを見つけるのは異常に困難であると予想できる
527デフォルトの名無しさん (ブーイモ MMcf-0RIK)
2021/02/08(月) 13:05:46.79ID:WEC5Fu99M >>504
LinQとの相性
LinQとの相性
528デフォルトの名無しさん (アウアウエー Sadf-fCEL)
2021/02/08(月) 13:13:24.77ID:nKGEYTSta529デフォルトの名無しさん (ワッチョイ 37a7-Wae7)
2021/02/08(月) 13:17:25.53ID:gKVPdjPN0 >>528
え?じゃあ、同じことやってるのにラムダ式1、ラムダ式2、ラムダ式じゃない方法1、ラムダ式じゃない方法2みたいなコードがソース中に散布されちゃうけど
何か防止する方法あるの?
検索一つとっても起きちゃうよね?
え?じゃあ、同じことやってるのにラムダ式1、ラムダ式2、ラムダ式じゃない方法1、ラムダ式じゃない方法2みたいなコードがソース中に散布されちゃうけど
何か防止する方法あるの?
検索一つとっても起きちゃうよね?
530デフォルトの名無しさん (アウアウエー Sadf-fCEL)
2021/02/08(月) 13:21:46.31ID:nKGEYTSta >>529
馬鹿の一つ覚えはよくない。
もちろんケースバイケースで再利用を意識してメソッドにした方がよいケースもある。
今の論点は「ラムダ式に存在意義はあるのか?」ではないの?
誰も「デリゲート引数には必ずラムダ式を渡すべき」などとは言ってないでしょ
馬鹿の一つ覚えはよくない。
もちろんケースバイケースで再利用を意識してメソッドにした方がよいケースもある。
今の論点は「ラムダ式に存在意義はあるのか?」ではないの?
誰も「デリゲート引数には必ずラムダ式を渡すべき」などとは言ってないでしょ
531デフォルトの名無しさん (ワッチョイ 37a7-Wae7)
2021/02/08(月) 13:23:07.55ID:gKVPdjPN0532デフォルトの名無しさん (アウアウエー Sadf-fCEL)
2021/02/08(月) 13:26:13.21ID:nKGEYTSta 何を指してはぐらかしてると言ってるのか意味がわからないけどw
この人は暇つぶしがしたいだけなのかな?
まあ俺もそうだから文句はないけどねw
この人は暇つぶしがしたいだけなのかな?
まあ俺もそうだから文句はないけどねw
533デフォルトの名無しさん (ワッチョイ 37a7-Wae7)
2021/02/08(月) 13:29:26.72ID:gKVPdjPN0 >>532
もういいよバイバイ
もういいよバイバイ
534デフォルトの名無しさん (ワッチョイ d72d-6qHG)
2021/02/08(月) 14:13:21.62ID:8emHxm3F0 LINQは難しくてよくわからないから使用禁止っていう会社本当に有るらしいよ
535デフォルトの名無しさん (ワッチョイ 9f7c-56gX)
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みたいな指定で動く
まぁ、何度も同じような式を使うなら別のクラスに集めておくというのも無くは無いけどね
普通にメソッド定義して、それを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:5JxS4RLeF537デフォルトの名無しさん (ワッチョイ 7fdf-XSVS)
2021/02/08(月) 15:07:36.60ID:hRlo1f3e0■ このスレッドは過去ログ倉庫に格納されています
ニュース
- パワフル女性世界3位に高市首相 米誌フォーブス選出 [蚤の市★]
- テレ朝本社から社外スタッフの男性が転落し死亡 テレビ朝日がコメント [ひかり★]
- アイヌ民族の「戸籍簿」がヤフオクで落札 団体「人権無視」と憤り [蚤の市★]
- 【米FRB】0.25%利下げ決定 3会合連続、雇用下支え [蚤の市★]
- 「身を切る改革」どこへ? 維新「身内」への公金支出、地方でも続々 [蚤の市★]
- 訪米認証「ESTA」、SNS利用情報の提出義務化へ 日本人観光客も対象に [蚤の市★]
- お前らって会社であかべこみたいにずっと人の話に首振ってそう
- 【画像】東京都民「助けて!満員電車もう無理いいぃぃいいぃぃぃいいいいいぃ😭」!!!! [732289945]
- 「おとうとのびょうきをなおして」7歳の兄がサンタに託した切実な願い
- テレビ朝日の社屋屋上から男性が落下 その後 タヒ亡を確認
- 【誰食】おせち料理で確実にゴミ箱行きになる食材1位、「黒豆」 [748563222]
- スクリプトまじでやめてください
