■前スレ
ふらっと 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:wHIUQvvs881デフォルトの名無しさん
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
952デフォルトの名無しさん
2020/09/21(月) 17:43:18.54ID:GBg7mGEm >>947
AltはあったけどCtrlってあったっけ?
AltはあったけどCtrlってあったっけ?
953デフォルトの名無しさん
2020/09/21(月) 18:07:56.17ID:+MA8+KhA >>952
.NETになってからのVisual Studioにはあったような気がする
.NETになってからのVisual Studioにはあったような気がする
954デフォルトの名無しさん
2020/09/21(月) 18:39:57.98ID:apXLM6YN >>946みたいなショートカットはemacsとかそれに影響を受けたプログラムではよく見るね。
Microsoftのアプリで使ってたかどうかは知らんが。
Microsoftのアプリで使ってたかどうかは知らんが。
955デフォルトの名無しさん
2020/09/21(月) 19:01:47.61ID:fotjvOj5 20年前からよくみる機能だったなら俺の知識不足だ
ここ10年くらいでいろんなアプリで見るようになったなぁという感覚だったから
ここ10年くらいでいろんなアプリで見るようになったなぁという感覚だったから
956デフォルトの名無しさん
2020/09/21(月) 19:15:33.53ID:IbOijUaT ToolStripMenuItemに実装するのがベストだと思うけどやっぱりこっちはハードル高いな。
どうやったらいいかさっぱり分からん。
Form自身にショートカットのリストを持たせるのは割と簡単にできた
どうやったらいいかさっぱり分からん。
Form自身にショートカットのリストを持たせるのは割と簡単にできた
957デフォルトの名無しさん
2020/09/21(月) 20:58:09.17ID:2PWsXAVJ >>955
20年なんてもんじゃない、もっと前だ
20年なんてもんじゃない、もっと前だ
958デフォルトの名無しさん
2020/09/21(月) 22:50:14.81ID:tJiD4dQC 難しいんだなこのショートカット
タイマーでどうにかなるかなあ
ありがとう
タイマーでどうにかなるかなあ
ありがとう
959デフォルトの名無しさん
2020/09/21(月) 23:12:07.36ID:NtH/CUwc 客が入れたいっつーなら仕方ないけど
こんな操作一般的じゃないし
ショートカットキーまで覚えて押してるやつアホだろって思うし
ライブラリについてない機能だとやりたくねぇなって思う
こんな操作一般的じゃないし
ショートカットキーまで覚えて押してるやつアホだろって思うし
ライブラリについてない機能だとやりたくねぇなって思う
960デフォルトの名無しさん
2020/09/21(月) 23:58:16.97ID:fotjvOj5961デフォルトの名無しさん
2020/09/22(火) 02:47:05.71ID:4iwC6Uia962デフォルトの名無しさん
2020/09/22(火) 03:19:51.46ID:l98KrCGW おじさんしか分からんと思うけど河合奈保子は消息不明らしいw
963デフォルトの名無しさん
2020/09/22(火) 03:23:34.34ID:H4U+QONT WPFなら簡単に出来そうな気がするな
964デフォルトの名無しさん
2020/09/22(火) 03:28:14.46ID:ArJlNb7A 僕、最近英語が読めるようになりました。
英語は最近できたものですよね?
英語は最近できたものですよね?
965デフォルトの名無しさん
2020/09/22(火) 03:50:00.87ID:jgJuWXzl emacsに入ってりゃよく見る機能に分類されるんか
せめてofficeやadobe製品に入ってるレベルだと思ってたよ
せめてofficeやadobe製品に入ってるレベルだと思ってたよ
966デフォルトの名無しさん
2020/09/22(火) 03:59:09.18ID:4Xfh/11g 馬鹿の言い訳が続きます
967デフォルトの名無しさん
2020/09/22(火) 06:17:29.56ID:JrOSOdLx 初心者向けC#スレでemacsでイキる老害
早めにくたばればいいのにw
早めにくたばればいいのにw
968デフォルトの名無しさん
2020/09/22(火) 06:34:31.75ID:n6HBUCol 5chは老害の巣窟ですよ
子供は他所で遊んだ方が良いですよ
子供は他所で遊んだ方が良いですよ
969デフォルトの名無しさん
2020/09/22(火) 06:44:55.73ID:6pKbcXJi >>965
あるでしょ
あるでしょ
970デフォルトの名無しさん
2020/09/22(火) 06:47:11.63ID:bil+xBoS971デフォルトの名無しさん
2020/09/22(火) 06:47:49.18ID:IQBXNfTs >>969
具体的にどんなのがある?
具体的にどんなのがある?
972デフォルトの名無しさん
2020/09/22(火) 06:56:35.18ID:017YSu2o 昔からあるでしょ
昔はguiなんて無かったしメニューも無かったし
機能を増やすにはそうならざるを得なかった
マウス操作が当たり前の世代の人には判らんかも
昔はguiなんて無かったしメニューも無かったし
機能を増やすにはそうならざるを得なかった
マウス操作が当たり前の世代の人には判らんかも
973デフォルトの名無しさん
2020/09/22(火) 07:38:41.84ID:EwzeVKsQ 話の前提がWindowsアプリなのかそれ以外も含むのか明確にしておかないと話が混乱するだけ
974デフォルトの名無しさん
2020/09/22(火) 08:16:10.63ID:+Q6QH+fq > せめてofficeやadobe製品に入ってるレベルだと思ってたよ
って言う流れなのでGUI以前とかの昔の話をされても困る
って言う流れなのでGUI以前とかの昔の話をされても困る
975デフォルトの名無しさん
2020/09/22(火) 09:14:37.43ID:4iwC6Uia 突然後付けでOfficeとか言い始めた馬鹿
Windowsができる前からあるのに
低レベルの知識で知ったかして後付けの言い訳をするとか
最初に書いたように、
「馬鹿は黙っていればいいのに」
Windowsができる前からあるのに
低レベルの知識で知ったかして後付けの言い訳をするとか
最初に書いたように、
「馬鹿は黙っていればいいのに」
976デフォルトの名無しさん
2020/09/22(火) 09:19:35.00ID:sns7Lvqb 自分もいいオッサンだけど、「emacs知らんのか?」とか、恥ずかしくて口が裂けても言えんわ。
しまいには「JUNET知らんのか?」「パンチカード知らんのか?」とか言いそう。
こういう老害は、リアルでも「俺の若い頃は〜」とか「今の若いもんは〜」とか言ってるんだろうな。
しまいには「JUNET知らんのか?」「パンチカード知らんのか?」とか言いそう。
こういう老害は、リアルでも「俺の若い頃は〜」とか「今の若いもんは〜」とか言ってるんだろうな。
977デフォルトの名無しさん
2020/09/22(火) 10:01:41.45ID:hF0kvCRk 引くこと覚えろカス
978デフォルトの名無しさん
2020/09/22(火) 10:15:32.17ID:4iwC6Uia ID変えて必死に言い訳する馬鹿
元の書き込みはこれだからな
↓
946 デフォルトの名無しさん[sage] 2020/09/21(月) 16:22:28.33 ID:fotjvOj5
ctrl k d みたいなタイプのショートカットキー使ったこと無いんでしょ
こういうタイプみるようになったの割と最近だと思うから
元の書き込みはこれだからな
↓
946 デフォルトの名無しさん[sage] 2020/09/21(月) 16:22:28.33 ID:fotjvOj5
ctrl k d みたいなタイプのショートカットキー使ったこと無いんでしょ
こういうタイプみるようになったの割と最近だと思うから
979デフォルトの名無しさん
2020/09/22(火) 10:18:56.14ID:jgJuWXzl いつからあるかないかなんて話してないっつってんのに…
よく見るの?一般的だったの?様々なアプリに搭載されてたの?
そんな広まってる機能がなんでライブラリ等々でサポートされて無くて実装例を探さなきゃならないの?
よく見るの?一般的だったの?様々なアプリに搭載されてたの?
そんな広まってる機能がなんでライブラリ等々でサポートされて無くて実装例を探さなきゃならないの?
980デフォルトの名無しさん
2020/09/22(火) 10:26:23.81ID:z0UOCGjY 無知蒙昧で幼稚な輩は自分基準だから、
自分が始めて知った時=一般に使われ始めた時
なのだろうね。
自分が始めて知った時=一般に使われ始めた時
なのだろうね。
レス数が950を超えています。1000を超えると書き込みができなくなります。
ニュース
- 「もうキモくてキモくて…」29歳女性が語る“おぢアタック”の実態。「俺ならイケるかも」年下女性を狙う勘違い中年男性に共通点が★4 [Hitzeschleier★]
- ミス・ユニバース フィンランド代表の「つり目」写真が波紋… 本人釈明も批判やまず 協会謝罪「徹底的に検証」へ [冬月記者★]
- 【おこめ券】鈴木憲和農相 小泉前農相の備蓄米放出を“反省”「備蓄の円滑な運営を図ってまいります」 [Hitzeschleier★]
- 自民・麻生太郎副総裁 石破政権の1年は「どよーん」 高市政権発足で「何となく明るくなった」「世の中のことが決まり動いている」★2 [Hitzeschleier★]
- 1人3千円の食品高騰対策、何に使える? あいまいなまま衆院通過 [蚤の市★]
- ゆたぼん 二重手術を報告「めちゃくちゃ気に入っています」 [muffin★]
