■前スレ
ふらっと C#,C♯,C#(初心者用) Part147
http://mevius.5ch.net/test/read.cgi/tech/1582100741/
■関連スレ
C#, C♯, C#相談室 Part94
http://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/index
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
探検
ふらっと C#,C♯,C#(初心者用) Part148
レス数が950を超えています。1000を超えると書き込みができなくなります。
1ななC ◆jPpg5.obl6
2020/05/27(水) 10:14:39.92ID:wHIUQvvs851デフォルトの名無しさん
2020/09/13(日) 02:28:45.05ID:B0Qk5cLa >>850
ほとんど使われていないってどこ情報?そしてASP.NET MVCについて全く触れていないのはなぜ?
ほとんど使われていないってどこ情報?そしてASP.NET MVCについて全く触れていないのはなぜ?
852デフォルトの名無しさん
2020/09/13(日) 07:10:27.23ID:3Iu47hUo winformsで勉強してもASP.NETとは殆ど関係無いからなぁ
webアプリ作りたいなら、素直にPHPなどのサーバーサイド側の言語と
フロントエンド側のjavascript等を勉強した方がいいと思う
windowsアプリもelectronなどで作った方が今は良いかも知れない
webアプリ作りたいなら、素直にPHPなどのサーバーサイド側の言語と
フロントエンド側のjavascript等を勉強した方がいいと思う
windowsアプリもelectronなどで作った方が今は良いかも知れない
853デフォルトの名無しさん
2020/09/13(日) 10:15:51.35ID:S4pGSahN windowsのデスクトップアプリをelectronはデプロイが面倒でのう
854デフォルトの名無しさん
2020/09/13(日) 10:20:37.14ID:XLuhIw+a 安全性等、ライトウエイト言語勢に比べてASP.Net coreにアドバンテージがある点も多くあるけどさ
ただ、今から始めるもんじゃないわ
ただ、今から始めるもんじゃないわ
855デフォルトの名無しさん
2020/09/13(日) 10:40:37.32ID:B0Qk5cLa いやPHPはねーよ…
856デフォルトの名無しさん
2020/09/13(日) 10:42:43.96ID:d/ryA4WH ASP.NET MVCやASP.NET Core MVCは
Webアプリのフレームワークとしてはオーソドックスでわかりやすいので
C#理解してる人がWebアプリの作り方を学ぶ目的なら一番いい
業務アプリとしての需要はそこそこあるし
他言語でWebアプリ作る場合でも基本は同じだから無駄にはならないよ
他の言語、特にJavaScriptとかスクリプト系の言語を
C#と同じレベルで使えるならそっちで学ぶのもあり
Webアプリのフレームワークとしてはオーソドックスでわかりやすいので
C#理解してる人がWebアプリの作り方を学ぶ目的なら一番いい
業務アプリとしての需要はそこそこあるし
他言語でWebアプリ作る場合でも基本は同じだから無駄にはならないよ
他の言語、特にJavaScriptとかスクリプト系の言語を
C#と同じレベルで使えるならそっちで学ぶのもあり
857デフォルトの名無しさん
2020/09/13(日) 13:14:52.60ID:ypa++uC2 世界的に見ると業務システムでのASP.NET(Core含む)の採用は実はかなり多いと聞いたことがあるがソースがねえんだよな
WEB系では複雑怪奇なドメインを安全確実に実装するという需要が少ないからかスクリプト言語ばっかり
WEB系では複雑怪奇なドメインを安全確実に実装するという需要が少ないからかスクリプト言語ばっかり
858デフォルトの名無しさん
2020/09/13(日) 13:44:19.92ID:BWD1TNNw プログラミングの発想に
マイクロソフトも使ってる大麻
そのオイルのユーザーレビュー特集 http://shop-rakuten-ch.2chblog.jp/archives/6406884.html
こちらは1万円で買える Windows10搭載ノートパソコン
http://shop-rakuten-ch.2chblog.jp/archives/7030035.html
フリーウェアやシェアウェア、キャリアアップなどにご利用ください
日本も解禁しましょう
マイクロソフトも使ってる大麻
そのオイルのユーザーレビュー特集 http://shop-rakuten-ch.2chblog.jp/archives/6406884.html
こちらは1万円で買える Windows10搭載ノートパソコン
http://shop-rakuten-ch.2chblog.jp/archives/7030035.html
フリーウェアやシェアウェア、キャリアアップなどにご利用ください
日本も解禁しましょう
859デフォルトの名無しさん
2020/09/13(日) 13:46:43.05ID:7u18v5bo プマそ、まで読んだ
860デフォルトの名無しさん
2020/09/13(日) 14:09:19.50ID:2mV3y2ns C#は言語としては好きだけどASP.NET COREはそんなに好きじゃない
JavaのJSFのようなエンタープライズフレームワークが欲しい
JavaのJSFのようなエンタープライズフレームワークが欲しい
861デフォルトの名無しさん
2020/09/13(日) 15:35:08.60ID:B0Qk5cLa >>860
なんで好きじゃないの?
なんで好きじゃないの?
862デフォルトの名無しさん
2020/09/13(日) 15:47:30.54ID:bi+be7V2863デフォルトの名無しさん
2020/09/13(日) 17:00:13.32ID:B0Qk5cLa >>862
それがJSFだとどう改善されるの?
それがJSFだとどう改善されるの?
864デフォルトの名無しさん
2020/09/13(日) 17:04:44.85ID:zkzBJL4I >>863
面倒な手続きなく実装できるようになる
面倒な手続きなく実装できるようになる
865デフォルトの名無しさん
2020/09/13(日) 17:11:41.66ID:Xp7zp8nz JSFってJavaBeans使うんだっけ。
プロパティが反映されなくて調べまくったらgetterのスペルミスというオチだった思い出。
プロパティが反映されなくて調べまくったらgetterのスペルミスというオチだった思い出。
866デフォルトの名無しさん
2020/09/13(日) 19:19:02.80ID:B0Qk5cLa >>864
具体的には?
具体的には?
867デフォルトの名無しさん
2020/09/13(日) 19:46:19.11ID:e9EK7dt7 面倒とかいってるから日本は貧乏くさいウェブサイトしかないのかな
868デフォルトの名無しさん
2020/09/13(日) 20:08:48.26ID:X0wiqlNd >>860
じゃあ初心に戻ってアセンブラは?
じゃあ初心に戻ってアセンブラは?
869デフォルトの名無しさん
2020/09/13(日) 21:28:56.21ID:3Iu47hUo >>855
いやASP.NETなんかより遥かに需要も利用もされているよ
pythonとか言う人いるけどwebで開発だと微妙だしな
node.jsでexpressとかもあるけど、まぁPHPが一番無難かと思うよ
いやASP.NETなんかより遥かに需要も利用もされているよ
pythonとか言う人いるけどwebで開発だと微妙だしな
node.jsでexpressとかもあるけど、まぁPHPが一番無難かと思うよ
870デフォルトの名無しさん
2020/09/13(日) 22:21:31.38ID:D3NoWaWo 需要があるから良いものってわけでもない
871デフォルトの名無しさん
2020/09/13(日) 23:26:29.40ID:B0Qk5cLa >>869
正気かよ…
正気かよ…
872デフォルトの名無しさん
2020/09/14(月) 08:52:11.41ID:h4D3dIgF PHPってExcel方眼紙のようなもの
873デフォルトの名無しさん
2020/09/14(月) 11:51:52.79ID:3/OLw0Bw 神PHPもあるのかな
874デフォルトの名無しさん
2020/09/14(月) 22:25:18.13ID:kZod4u98 でも田舎土方はPHPばっかりな事実
875デフォルトの名無しさん
2020/09/14(月) 22:43:22.93ID:zcgwn94o 土方目指すんならPHPでいいんじゃね?
876デフォルトの名無しさん
2020/09/15(火) 00:16:30.29ID:2odR6mEp VB6でもやってろ禿
877デフォルトの名無しさん
2020/09/15(火) 01:04:55.79ID:uGwrRbLz 何回も出た話題なのかもしれんけどASP.NET とCOREの違いがわかりません
COREは上位互換なの?
COREは上位互換なの?
878デフォルトの名無しさん
2020/09/15(火) 03:54:59.13ID:pnTNLJvZ >>876
わたしはハゲとらん、アホ
わたしはハゲとらん、アホ
879デフォルトの名無しさん
2020/09/15(火) 10:14:14.37ID:TyfOfY37 ハゲてるのでVB6やってきます
880デフォルトの名無しさん
2020/09/15(火) 10:14:30.69ID:QmZZ3Onl >>877
ASP.NET Coreは.NET Coreへの移行にあわせて作り直した新しいWebフレームワーク
WebFormsは完全に廃止されているので、業務系にとっては名前が似ているだけで概念レベルから根本的に全くの別物と思っておけばよい
なおASP.NET MVCをベースにしてはいるがMVCとも互換性はない
ASP.NET Coreは.NET Coreへの移行にあわせて作り直した新しいWebフレームワーク
WebFormsは完全に廃止されているので、業務系にとっては名前が似ているだけで概念レベルから根本的に全くの別物と思っておけばよい
なおASP.NET MVCをベースにしてはいるがMVCとも互換性はない
881デフォルトの名無しさん
2020/09/15(火) 10:33:20.79ID:nbPbSfcD >>879
VB6やるからハゲるのだ
VB6やるからハゲるのだ
882デフォルトの名無しさん
2020/09/15(火) 12:04:51.67ID:IfSXNbex >>877
ASP.NET
.NETベースのWebフレームワーク・関連技術の総称
ASP.NET Web Forms
Winformsを使ったデスクトップ開発に近い感覚でWebアプリを作れるようにしたフレームワーク
ビジュアルデザイナでFormを作ってそのFormに紐づくコードビハインドにイベントハンドラを書いていくスタイル
一般的なWebフレームワークとは違って独特
ASP.NET MVC
Railsを参考に作られたMVCアーキテクチャのWebフレームワーク
他言語の一般的なWebフレームワークと類似してるがWindows/IIS上でしか動かない
ASP.NET Core MVC
ASP.NET MVCを.NET Coreベースで作り直してマルチプラットフォーム化したもの
Windows/IIS上だけでなく、LinuxやmacOS、NginxやApache上でも動く
MVCとCore MVCの細かい違いはリファレンス見て
https://docs.microsoft.com/en-us/aspnet/core/fundamentals/choose-aspnet-framework?view=aspnetcore-3.1
ASP.NET
.NETベースのWebフレームワーク・関連技術の総称
ASP.NET Web Forms
Winformsを使ったデスクトップ開発に近い感覚でWebアプリを作れるようにしたフレームワーク
ビジュアルデザイナでFormを作ってそのFormに紐づくコードビハインドにイベントハンドラを書いていくスタイル
一般的なWebフレームワークとは違って独特
ASP.NET MVC
Railsを参考に作られたMVCアーキテクチャのWebフレームワーク
他言語の一般的なWebフレームワークと類似してるがWindows/IIS上でしか動かない
ASP.NET Core MVC
ASP.NET MVCを.NET Coreベースで作り直してマルチプラットフォーム化したもの
Windows/IIS上だけでなく、LinuxやmacOS、NginxやApache上でも動く
MVCとCore MVCの細かい違いはリファレンス見て
https://docs.microsoft.com/en-us/aspnet/core/fundamentals/choose-aspnet-framework?view=aspnetcore-3.1
883デフォルトの名無しさん
2020/09/15(火) 12:24:07.25ID:uGwrRbLz884デフォルトの名無しさん
2020/09/15(火) 12:46:49.79ID:7m8e8jTL Apacheをリバースプロキシに使うのは、何気にASP.Net Coreとの相性がいいな
特にフリーウエアでクッキーベースのロードバランサを作れるのは珍しい
特にフリーウエアでクッキーベースのロードバランサを作れるのは珍しい
885デフォルトの名無しさん
2020/09/15(火) 14:24:19.34ID:5uVwOM3u リバースプロキシ・ロードバランサーと言えば、Nginx
886デフォルトの名無しさん
2020/09/15(火) 14:32:02.93ID:dHOvpMD8 昨日までthis付ける派だったんだけど
新しくベクトル系の構造体作ったらthis this thisthis...って並んでて発狂しそうになった
xの一文字を指定する為にthis.の五文字打つのが凄まじく無駄な気がしてならない
悔い改めるべきなのかな…
新しくベクトル系の構造体作ったらthis this thisthis...って並んでて発狂しそうになった
xの一文字を指定する為にthis.の五文字打つのが凄まじく無駄な気がしてならない
悔い改めるべきなのかな…
887デフォルトの名無しさん
2020/09/15(火) 15:20:03.22ID:DLlVy6Pm >>882
この乱立したゴミフレームワークひでえな
この乱立したゴミフレームワークひでえな
888デフォルトの名無しさん
2020/09/15(火) 15:23:25.82ID:0YuOoQv0 合理性は?と自問して答えられないようなのはただの思い込みだろうね。
明示的にthisを付けるべき場面がそうそうあると思えない
明示的にthisを付けるべき場面がそうそうあると思えない
889デフォルトの名無しさん
2020/09/15(火) 17:37:50.28ID:dHOvpMD8890デフォルトの名無しさん
2020/09/15(火) 18:03:53.96ID:MkCz/lj0891デフォルトの名無しさん
2020/09/15(火) 18:26:46.69ID:QeyXg+3+ コードクリーンアップで全箇所にthisを自動でつけるのできなかったっけ?
this消すはできた気がするけど
this消すはできた気がするけど
892デフォルトの名無しさん
2020/09/15(火) 19:19:35.90ID:2odR6mEp なにthisってんの
893デフォルトの名無しさん
2020/09/15(火) 19:38:44.93ID:7m8e8jTL >>885
ASP.Net Coreのサイトでロードバランシングしたかったら無料版じゃできないぜ
ASP.Net Coreのサイトでロードバランシングしたかったら無料版じゃできないぜ
894デフォルトの名無しさん
2020/09/15(火) 21:06:33.62ID:U3NCutqA >>893
そうなん?
そうなん?
895デフォルトの名無しさん
2020/09/16(水) 00:29:08.20ID:lvCIVXxG >>885
これいつも読み方忘れる
これいつも読み方忘れる
896デフォルトの名無しさん
2020/09/16(水) 00:30:44.63ID:ExNaveLa >>893
え?
え?
897デフォルトの名無しさん
2020/09/16(水) 08:27:32.45ID:yr1DUgCH >>895
にんじんX(違
にんじんX(違
898デフォルトの名無しさん
2020/09/16(水) 08:29:23.52ID:Z3vQBqB4 VB6/WinRT
899デフォルトの名無しさん
2020/09/16(水) 08:57:50.10ID:DLCjHrlg >>895
んぐんぐ
んぐんぐ
900デフォルトの名無しさん
2020/09/16(水) 14:07:28.69ID:vxKpYawZ 初めて.NETCoreで作ったんだけどビルドすると単純なコンソールアプリなのにexeのファイルサイズが170KBくらいあるのはどういうこと?
901デフォルトの名無しさん
2020/09/16(水) 14:38:31.56ID:6Cheug9B902デフォルトの名無しさん
2020/09/16(水) 14:49:33.33ID:AOSIq8NT 最近覗いてみたソースがこんな風に都度新しく生成して返すようになってたんだけどさ
return new float3(l.x + r.x, l.y + r.y,...)
こういうのって直接フィールド書き換えるよりパフォーマンス良かったりするの?
return new float3(l.x + r.x, l.y + r.y,...)
こういうのって直接フィールド書き換えるよりパフォーマンス良かったりするの?
903デフォルトの名無しさん
2020/09/16(水) 15:14:47.83ID:t9nFTYZt 生成したオブジェクトをどう使うか分からないから回答できません。
次の方どうぞ
次の方どうぞ
904デフォルトの名無しさん
2020/09/16(水) 15:18:23.06ID:BkyZoSl2 値型だしどうせコピーするんだからどっちでもええやろ
905デフォルトの名無しさん
2020/09/16(水) 15:44:35.74ID:wZC9/K7G C#なら普通
906デフォルトの名無しさん
2020/09/17(木) 05:54:26.40ID:d2VQcRA0 float3とやらがイミュータブルなclassとして設計されているんじゃないか?
907デフォルトの名無しさん
2020/09/17(木) 09:17:47.87ID:6rmLHuYh >>902
汎用化できる余地のためにそうしてるのでは?
値型という前提で話すと、確かにフィールド直接書き換えの方がコピー1回分減るはず(float x 3程度のサイズなら無視できるパフォーマンス差だけど)
ただしそれだとそのフィールド専用のメソッドになってしまう
汎用化できる余地のためにそうしてるのでは?
値型という前提で話すと、確かにフィールド直接書き換えの方がコピー1回分減るはず(float x 3程度のサイズなら無視できるパフォーマンス差だけど)
ただしそれだとそのフィールド専用のメソッドになってしまう
908デフォルトの名無しさん
2020/09/17(木) 12:22:42.65ID:K+TDBLvS =を多用するような数学的な型で事情があって参照型にする必要があるなら
まともな頭の人ならイミュータブルにするよね
まともな頭の人ならイミュータブルにするよね
909デフォルトの名無しさん
2020/09/17(木) 15:02:10.43ID:6rmLHuYh float3ってVector3でしょ
910デフォルトの名無しさん
2020/09/18(金) 22:50:39.21ID:OlXrbJiY 初学者です
visual studio 2019 comunityでコンソールアプリをつくって勉強しています
製品A 大部品α 小部品T
製品B 大部品β 小部品U
製品A 大部品β 小部品V
・・・
という対応表を読み込み、製品Aを入力したら1行目と3行目を返すプログラムを考えています
この例では列が3ですが、対象によっては2〜5など変わり
列も年齢だったり役職だったり地名だったりするため、Class Person のageやnameのような型を固定出来ません
List<List<string>>とstring型の入れ子Listを作りデータを入れることは出来たのですが
勉強でLinqを使おうとしたのですが、うまくとりだせずスタックしています
すべての行をstring連結して一次元配列にし、Containで対象を取り出し、
出力時に結合文字をsplitする、というやり方以外の方法を教えてください
ありがとうございます
visual studio 2019 comunityでコンソールアプリをつくって勉強しています
製品A 大部品α 小部品T
製品B 大部品β 小部品U
製品A 大部品β 小部品V
・・・
という対応表を読み込み、製品Aを入力したら1行目と3行目を返すプログラムを考えています
この例では列が3ですが、対象によっては2〜5など変わり
列も年齢だったり役職だったり地名だったりするため、Class Person のageやnameのような型を固定出来ません
List<List<string>>とstring型の入れ子Listを作りデータを入れることは出来たのですが
勉強でLinqを使おうとしたのですが、うまくとりだせずスタックしています
すべての行をstring連結して一次元配列にし、Containで対象を取り出し、
出力時に結合文字をsplitする、というやり方以外の方法を教えてください
ありがとうございます
911デフォルトの名無しさん
2020/09/18(金) 23:02:19.22ID:lOTfajhS912デフォルトの名無しさん
2020/09/18(金) 23:24:08.87ID:CE0cDKtm >>910
class 製品
{
public string 製品名;
public string 大部品;
public string 小部品;
public override string ToString() => $"{製品名} {大部品} {小部品}";
}
var item = new 製品();
item.製品名 = "製品A";
List<製品> list = new List<製品>();
list.Add(item);
製品名が"製品A"のものを取り出したいときはList<製品> listに対して
var result = list.Where(x => x.製品名 == "製品A").ToArray(); //これで製品Aだけの配列が返ってくる
プログラミング自体初心者なのであれば、Linqより先にforeach (var x in list) if (x.製品名 == "製品A") Console.WriteLine(x.ToString());
というループ+if文による原始的な判別の方から入ったほうが分かりやすいと思う
Linqはラムダ式やら遅延評価やら初心者には理解しづらい概念が多いから
class 製品
{
public string 製品名;
public string 大部品;
public string 小部品;
public override string ToString() => $"{製品名} {大部品} {小部品}";
}
var item = new 製品();
item.製品名 = "製品A";
List<製品> list = new List<製品>();
list.Add(item);
製品名が"製品A"のものを取り出したいときはList<製品> listに対して
var result = list.Where(x => x.製品名 == "製品A").ToArray(); //これで製品Aだけの配列が返ってくる
プログラミング自体初心者なのであれば、Linqより先にforeach (var x in list) if (x.製品名 == "製品A") Console.WriteLine(x.ToString());
というループ+if文による原始的な判別の方から入ったほうが分かりやすいと思う
Linqはラムダ式やら遅延評価やら初心者には理解しづらい概念が多いから
913デフォルトの名無しさん
2020/09/18(金) 23:32:00.69ID:OlXrbJiY914デフォルトの名無しさん
2020/09/19(土) 00:15:08.80ID:N4ZzMqlk なんか優しい流れになっててワロタw
いや、5chもせっかく人が激減したんだからこういうのが普通の場所になってほしいよねそろそろ
いや、5chもせっかく人が激減したんだからこういうのが普通の場所になってほしいよねそろそろ
915デフォルトの名無しさん
2020/09/19(土) 02:46:08.93ID:WDvdygP5 よくわからんけどよそはもっとギスギスしてるの?
916デフォルトの名無しさん
2020/09/19(土) 06:35:51.73ID:JSd39pzr >>910
同じくビギナーだけど、こんなことがしたいんじゃないかって思った
目的:
1.表の1列目データを使って検索して、マッチした行データの1個目と3個目を返す
2.列数の異なった表に対応したい
3.多次元のListでLINQを使いたい
違ってたらすんません
//2次元のListを作る(適当)
var list = new List<List<string>>();
list.Add(new List<string> { "A", "a", "1" });
list.Add(new List<string> { "B", "b", "2" });
list.Add(new List<string> { "C", "c", "3" });
Console.Write("製品名を入力してください(A,B,Cのいずれか):");
var searchWord = Console.ReadLine();
var result = list.Where(x => x[0] == searchWord).Select(x => x);
foreach (var item in result)
{
Console.WriteLine("製品名" + item[0] + " 小部品" + item[2]);
}
同じくビギナーだけど、こんなことがしたいんじゃないかって思った
目的:
1.表の1列目データを使って検索して、マッチした行データの1個目と3個目を返す
2.列数の異なった表に対応したい
3.多次元のListでLINQを使いたい
違ってたらすんません
//2次元のListを作る(適当)
var list = new List<List<string>>();
list.Add(new List<string> { "A", "a", "1" });
list.Add(new List<string> { "B", "b", "2" });
list.Add(new List<string> { "C", "c", "3" });
Console.Write("製品名を入力してください(A,B,Cのいずれか):");
var searchWord = Console.ReadLine();
var result = list.Where(x => x[0] == searchWord).Select(x => x);
foreach (var item in result)
{
Console.WriteLine("製品名" + item[0] + " 小部品" + item[2]);
}
917デフォルトの名無しさん
2020/09/19(土) 10:46:24.73ID:QRdtXGAm >>915
名前は出さんけどほかの言語のスレはくだらねー煽りあいしてるとこ結構ある
名前は出さんけどほかの言語のスレはくだらねー煽りあいしてるとこ結構ある
918デフォルトの名無しさん
2020/09/19(土) 11:50:06.05ID:rQqkhAHw こんなのもあるよね。
1) var data = new object[] { new { model = "製品A", parts1 = "大部品", parts2 = "小部品" } ... 以下略
2) var CLASS = new Reflection.DynamicClass( ... ); CLASS.AddProperty( "[プロパティ名]", [プロパティの型] ); var inst = CLASS.CreateInstane(); inst.[プロパティ名] = ... 以下略
1 の方はそこでしか使わない単純なデータ型にたまに使うかな。
2 は面倒くさすぎるから滅多にやらない。
ビギナーのうちにいろいろ失敗しておくと後が楽。かも。
1) var data = new object[] { new { model = "製品A", parts1 = "大部品", parts2 = "小部品" } ... 以下略
2) var CLASS = new Reflection.DynamicClass( ... ); CLASS.AddProperty( "[プロパティ名]", [プロパティの型] ); var inst = CLASS.CreateInstane(); inst.[プロパティ名] = ... 以下略
1 の方はそこでしか使わない単純なデータ型にたまに使うかな。
2 は面倒くさすぎるから滅多にやらない。
ビギナーのうちにいろいろ失敗しておくと後が楽。かも。
919デフォルトの名無しさん
2020/09/19(土) 14:40:50.79ID:iNSc+wes920デフォルトの名無しさん
2020/09/19(土) 14:54:59.03ID:fEw8E5B5 時間がかかってしまいましたが作ることができました
楽しいですね、ありがとうございます
>>916
Linqはそのとおりです
1列目だけでなく、他の列でも引っかかるようにするため、
foreachを使ったバージョンでは全体検索
Linqを使ったバージョンではresult1とresult2を用意し、それぞれs.製品 b.部品・・・といった形で対応しました
追加でお付き合いください
[1]class製品でプログラムを作った場合、csvやexcelなどからデータを取得する際、
List<string> rows = new List<string>();
foreach (var cell in currentRow.Cells("1")) // colmunA
{
rows.Add(cell.GetString());
}
製品.Add(new 製品(rows[0], rows[1], rows[2]));
といった形で取得しました
ネットのサンプルプログラムでは数データをコードに直接打っているものは見ましたが
//{製品.製品名="zzz",製品.大部品="yyy",製品.小部品="xxx"}というような
ループを使って取得する場合、itemのようなバッファは必須でしょうか?
[2]今作ったプログラムではclass製品に特化しているため、methodなどはList<製品>で作っています
<T>とすることで<製品>や<会社>などに対応出来るジェネリックという仕組みを知りましたが
classのメンバ変数は対応表ごとに作る必要がありますか?
>>918 の2の例が答えになるかとおもい調べています
読んで頂きありがとうございます
楽しいですね、ありがとうございます
>>916
Linqはそのとおりです
1列目だけでなく、他の列でも引っかかるようにするため、
foreachを使ったバージョンでは全体検索
Linqを使ったバージョンではresult1とresult2を用意し、それぞれs.製品 b.部品・・・といった形で対応しました
追加でお付き合いください
[1]class製品でプログラムを作った場合、csvやexcelなどからデータを取得する際、
List<string> rows = new List<string>();
foreach (var cell in currentRow.Cells("1")) // colmunA
{
rows.Add(cell.GetString());
}
製品.Add(new 製品(rows[0], rows[1], rows[2]));
といった形で取得しました
ネットのサンプルプログラムでは数データをコードに直接打っているものは見ましたが
//{製品.製品名="zzz",製品.大部品="yyy",製品.小部品="xxx"}というような
ループを使って取得する場合、itemのようなバッファは必須でしょうか?
[2]今作ったプログラムではclass製品に特化しているため、methodなどはList<製品>で作っています
<T>とすることで<製品>や<会社>などに対応出来るジェネリックという仕組みを知りましたが
classのメンバ変数は対応表ごとに作る必要がありますか?
>>918 の2の例が答えになるかとおもい調べています
読んで頂きありがとうございます
921デフォルトの名無しさん
2020/09/19(土) 15:36:42.05ID:4RgVivY3 後出し禁止
922デフォルトの名無しさん
2020/09/19(土) 16:00:13.10ID:2HkJedVD >>920
>classのメンバ変数は対応表ごとに作る必要がありますか?
必要かもしれないし必要ないかもしれない
扱う対象と用途次第
ただ初心者なら最初から汎用的な実装を実現しようとせずに
めんどくさくてもまず冗長な実装をしてから
必要に応じて汎用化することを考えたほうがいい
>classのメンバ変数は対応表ごとに作る必要がありますか?
必要かもしれないし必要ないかもしれない
扱う対象と用途次第
ただ初心者なら最初から汎用的な実装を実現しようとせずに
めんどくさくてもまず冗長な実装をしてから
必要に応じて汎用化することを考えたほうがいい
923デフォルトの名無しさん
2020/09/19(土) 16:26:06.33ID:sBNFMd+f static string[] 製品列名 = new string[] { "製品名", "大部品", "小部品" };
Dictionary<string, string> ToMap(this List<string> row, string[] columnNames) => Enumerable.Range(0, columnNames.Length)
.ToDictionary(i => columnNames[i], i => row[i])
foreach(var 製品 in rows.Select(r => r.ToMap(製品列名))) {
Console.Write(製品["製品名"]);
Console.Write(製品["大部品"]);
}
これでいいよ
ただのテーブル処理なのだから行をいちいちクラスにする必要はない
製品が特有の振る舞いを持ち始めたらクラスにすればいい
Dictionary<string, string> ToMap(this List<string> row, string[] columnNames) => Enumerable.Range(0, columnNames.Length)
.ToDictionary(i => columnNames[i], i => row[i])
foreach(var 製品 in rows.Select(r => r.ToMap(製品列名))) {
Console.Write(製品["製品名"]);
Console.Write(製品["大部品"]);
}
これでいいよ
ただのテーブル処理なのだから行をいちいちクラスにする必要はない
製品が特有の振る舞いを持ち始めたらクラスにすればいい
924デフォルトの名無しさん
2020/09/19(土) 18:27:25.65ID:OpaSx1VV みづらっ
925デフォルトの名無しさん
2020/09/19(土) 19:19:32.75ID:eWy/siAc >>923
辞書をExpandoObjectにすれば完璧だね
IEnumerable<List<string>> rows = MyParser.Parse(src);
var query = rows.Select(row => row.ToDynamic("ProductName", "Part1", "Part2"));
foreach(var x in query) WriteLine($"{x.ProductName}, {x.Part1}, {x.Part2}");
辞書をExpandoObjectにすれば完璧だね
IEnumerable<List<string>> rows = MyParser.Parse(src);
var query = rows.Select(row => row.ToDynamic("ProductName", "Part1", "Part2"));
foreach(var x in query) WriteLine($"{x.ProductName}, {x.Part1}, {x.Part2}");
926デフォルトの名無しさん
2020/09/19(土) 19:37:35.17ID:JYpVkYaa 行ごとに文字列出力してる時点で特有の振る舞いしてる
927デフォルトの名無しさん
2020/09/19(土) 19:47:03.76ID:x3FdUm9j なんか質問と回答が微妙に噛み合ってないような気もするけど
正直質問者さんが結局何が聞きたいのか何度読んでも読み取れないので何も言えんw
正直質問者さんが結局何が聞きたいのか何度読んでも読み取れないので何も言えんw
928デフォルトの名無しさん
2020/09/19(土) 20:10:04.96ID:EqM+rWOJ >>918,923,925 は俺こんなテク知ってるぜ、すげーだろって言うガキでしょ
初心者スレではマジ邪魔
初心者スレではマジ邪魔
929デフォルトの名無しさん
2020/09/19(土) 20:19:53.08ID:fEw8E5B5 基本をしっかりしてからとのこと承知いたしました
辞書については当初考えたのですが、重複あり得るため棄却しました
身に余るご助言につきましてもキーワードを手がかりに勉強をしています
出発点のわたしの質問がずれていたり、仕様が不明瞭なため
みなさまには様々斟酌いただいてしまい申し訳ございませんでした
この度は大変勉強になりました
ありがとうございました
辞書については当初考えたのですが、重複あり得るため棄却しました
身に余るご助言につきましてもキーワードを手がかりに勉強をしています
出発点のわたしの質問がずれていたり、仕様が不明瞭なため
みなさまには様々斟酌いただいてしまい申し訳ございませんでした
この度は大変勉強になりました
ありがとうございました
930デフォルトの名無しさん
2020/09/19(土) 20:41:07.69ID:WDvdygP5 そういえばここ初心者スレでしたね
931デフォルトの名無しさん
2020/09/19(土) 20:59:28.92ID:BsD2hr5g >>928
いたって初歩的な言語機能だけど
いたって初歩的な言語機能だけど
932デフォルトの名無しさん
2020/09/19(土) 21:42:06.16ID:QNMXm6ew パパ、RDBにデータ入れちゃうぞ
933デフォルトの名無しさん
2020/09/19(土) 21:43:20.81ID:2tMnMl7Y934デフォルトの名無しさん
2020/09/19(土) 23:11:34.63ID:BsD2hr5g935デフォルトの名無しさん
2020/09/19(土) 23:22:10.91ID:KiLpFWrg >>934
ところで君は高卒かい?
ところで君は高卒かい?
936デフォルトの名無しさん
2020/09/19(土) 23:25:26.82ID:BsD2hr5g 変なのに絡まれちゃったな
937デフォルトの名無しさん
2020/09/19(土) 23:34:19.61ID:WzAffn6e938デフォルトの名無しさん
2020/09/20(日) 03:23:39.76ID:klWtW47E939デフォルトの名無しさん
2020/09/20(日) 05:58:27.94ID:zkC0RRI1 お前らそんなとこでムキになるなよ
エネルギーの無駄
エネルギーの無駄
940デフォルトの名無しさん
2020/09/20(日) 06:10:09.41ID:04W6zQEw >>923
List<string>を対象とした拡張メソッドをラムダ式で書いたものですか
メソッドの内容は引数の配列をkey、List<string>をvalueとするDictionaryの生成
rows.Select(r => r.ToMap(製品列名))
の部分で入れ子になったList<string>を1つずつToMapでDictionaryに変換していく
なるほどー
面白かったです
List<string>を対象とした拡張メソッドをラムダ式で書いたものですか
メソッドの内容は引数の配列をkey、List<string>をvalueとするDictionaryの生成
rows.Select(r => r.ToMap(製品列名))
の部分で入れ子になったList<string>を1つずつToMapでDictionaryに変換していく
なるほどー
面白かったです
941デフォルトの名無しさん
2020/09/20(日) 06:15:58.11ID:PjKYg0xs ショートカットキーの中にはvisual studioのCtrl + K, Ctrl + Dのように、特定のキーと就職キーを押した後に更に押したキーで判定するものがあるけど、winformsでどう実装したらいいのかな?
検索してもよくあるControl+キー一回分のしかヒットしない……
検索してもよくあるControl+キー一回分のしかヒットしない……
942デフォルトの名無しさん
2020/09/20(日) 14:18:44.02ID:ostrIPo9 入力履歴をどっかに保存しておけばいいよ
943デフォルトの名無しさん
2020/09/20(日) 23:19:27.09ID:q0HaTbqo944デフォルトの名無しさん
2020/09/21(月) 14:38:23.53ID:VOZ/uMsJ >>941
「C# キー同時押し」でググれば出てくるように見えるが?
特定のキーと修飾キーの「後にさらに押したキー」じゃなく単純に同時押しならKeyDownイベントでWinAPIのGetKeyboardStateかGetKeyStateを使ってキーボードの状態を参照
「C# キー同時押し」でググれば出てくるように見えるが?
特定のキーと修飾キーの「後にさらに押したキー」じゃなく単純に同時押しならKeyDownイベントでWinAPIのGetKeyboardStateかGetKeyStateを使ってキーボードの状態を参照
945デフォルトの名無しさん
2020/09/21(月) 16:07:11.47ID:IbOijUaT が?
偉そうに素っ頓狂なことをいうテストかなw
偉そうに素っ頓狂なことをいうテストかなw
946デフォルトの名無しさん
2020/09/21(月) 16:22:28.33ID:fotjvOj5 ctrl k d みたいなタイプのショートカットキー使ったこと無いんでしょ
こういうタイプみるようになったの割と最近だと思うから
こういうタイプみるようになったの割と最近だと思うから
947デフォルトの名無しさん
2020/09/21(月) 16:45:04.47ID:G1EXro4t 10年以上前からあったよな
948デフォルトの名無しさん
2020/09/21(月) 16:46:57.36ID:0qqDKwic 機能的にはなんていう名前なん?
949デフォルトの名無しさん
2020/09/21(月) 16:53:16.29ID:2PWsXAVJ >>946
馬鹿は黙っていればいいのに
馬鹿は黙っていればいいのに
950デフォルトの名無しさん
2020/09/21(月) 17:07:58.59ID:+MA8+KhA Rx使ってシンプルに実装してるの見たことあるがどこで見たのかは忘れた
モードの状態遷移を管理しないといけないから少し面倒だよね
>>948
Visual Studio用語ではchordとかkey chord
モードの状態遷移を管理しないといけないから少し面倒だよね
>>948
Visual Studio用語ではchordとかkey chord
951デフォルトの名無しさん
2020/09/21(月) 17:34:46.47ID:+MA8+KhA JSだけどVS Codeはソース見れる
https://github.com/microsoft/vscode/blob/master/src/vs/platform/keybinding/common/abstractKeybindingService.ts#L198
C#のサンプルあったけどあんまりきれいなコードじゃなく少しわかりにくい
Global Shortcut Manager.csってクラスのInChordMode変数を追っかけていけば参考にはなるかと
(タイマーは付いてないっぽい)
https://www.codeproject.com/Articles/442285/Global-Shortcuts-in-WinForms-and-WPF
https://github.com/microsoft/vscode/blob/master/src/vs/platform/keybinding/common/abstractKeybindingService.ts#L198
C#のサンプルあったけどあんまりきれいなコードじゃなく少しわかりにくい
Global Shortcut Manager.csってクラスのInChordMode変数を追っかけていけば参考にはなるかと
(タイマーは付いてないっぽい)
https://www.codeproject.com/Articles/442285/Global-Shortcuts-in-WinForms-and-WPF
レス数が950を超えています。1000を超えると書き込みができなくなります。
ニュース
- アメリカ、入国時に「日本人を含む外国人観光客の最大5年分のSNS履歴の提出」義務化へ 過去10年間に使用のメールアドレスや電話番号等も★2 [Hitzeschleier★]
- 【中国外務省】日本への渡航自粛を再度呼びかけ 今度は「地震発生」を理由に [ぐれ★]
- 立憲・小宮山議員、「牛乳=白い水」投稿を削除 批判殺到で「大変失礼申し上げました」 [少考さん★]
- 内閣支持、微減59.9% 5割超が補正予算評価 時事通信世論調査 [どどん★]
- 日本語が話せない「外国籍」の子が急増中、授業がストップ、教室から脱走も…先生にも大きな負担「日本語支援」追いつかず★3 [七波羅探題★]
- 【芸能】デパートで見つけたランドセルが衝撃価格! つまみ枝豆「どこかで規制しないと」に共感の声殺到 「全て同感」「高すぎます」★2 [冬月記者★]
- 【高市減税】 自民党「おい!研究開発を海外に委託して日本で減税措置を受けるの止めろ😡 まあ…、半分までは許す」 [485983549]
- 「あっ、これってなくても困らないな…」って確信したもの 米以外でなんかある? [434776867]
- 【画像】整形カリカリ女が「この画像」にブチギレる理由、謎… [732289945]
- 日清オイリオ「オリーブオイルの高騰が落ち着いたのにお前らが買わない!」 [592058334]
- 【悲報】日本人のTikTok収益、ガチで剥奪中wwwwwwwwwwwwwwwwwwwwwwwww [279254606]
- 高市「農水大臣が大好きなお米券」 鈴木農相「高市総理からも指示があったお米券」 [237216734]
