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

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2018/12/15(土) 10:46:07.45ID:Wu4Fx0bU
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください

>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
2020/05/10(日) 20:19:37.21ID:xDftOU/8
内容に応じて他スレ・他板へ行くことを勧められることがあります。
2020/05/10(日) 20:46:24.37ID:Zipn87fx
快活クラブでリモートワークしてる c#プログラマがいたよ。

女性店員に「エロサイト表示しろ、無修正のやつな」
って大声で要求してた。

c# プログラマってなんでこんなやつばかりなんだろ。
496デフォルトの名無しさん
垢版 |
2020/05/10(日) 20:49:55.21ID:QGOb6iVk
>>495
わかったからRubyスレに帰ろうぜ
2020/05/22(金) 09:34:56.53ID:+oO6LUh3
C#でLINE Bot作りたいのだけど、visual studio2019でLINE Botがインストールできないのだが、対応していないのかな?
ググったけどわからない。
498デフォルトの名無しさん
垢版 |
2020/05/22(金) 14:36:36.86ID:MU4pD2nI
馬鹿には無理
2020/05/24(日) 10:06:09.98ID:aVoyeE00
>>484
まあ、何も知らない人からすればパソコンオタクが
ゲームでも楽しむようにパソコンをカチャカチャやって
作るだけってイメージだからな

何でこの程度のものでそんなに時間かかるの?
まだできないの?

社内SEによく向けられる疑問
2020/05/24(日) 10:09:40.10ID:aVoyeE00
>>482
だよな、ついに破綻して動かなくなってしまって
担当SE逃亡行方不明なんてのも珍しくないしな
501デフォルトの名無しさん
垢版 |
2020/05/24(日) 10:15:05.87ID:aVoyeE00
>>485
帳票や伝票部分はAccessかExcelでいいんでない?

俺なら全部Accessでやってやるぞw
502デフォルトの名無しさん
垢版 |
2020/05/24(日) 12:12:27.36ID:hR9OU60G
不要不急のアプリのインストールは禁止されています
2020/05/24(日) 13:25:26.86ID:2+qSZivW
ワッチョイありで関係ない談義するアホどもとここでなぜか連レスするキチガイ
わざと質問できない空気にしてんのかこいつら?
2020/05/27(水) 19:13:25.22ID:amwFvGuG
.NETのフォームアプリケーションで自作のイベントハンドラを動かし続けるにはどうしたらいいですか?

まずサブクラスで、eventとdelegateとevent処理関数を用意。
Form_Shown時に、上記をイベントハンドラ設定。

結果はイベント待ちにより処理が占有される。
理想は、フォームを動かしてる裏で、までイベント待ちさせたいです。(イベント待ちを別スレッドにすれば可能?)

なんともわかりにくい説明になって申し訳ないのですが、よければお答えいただけると幸いです。
よろしくお願いします。
2020/05/27(水) 19:27:00.10ID:qvWVJQjz
Timer
2020/05/27(水) 19:57:17.45ID:JktWhmx6
PeekMessage
DoEvent
507デフォルトの名無しさん
垢版 |
2020/05/27(水) 20:43:21.48ID:E+xtagcu
>>504
わかりにくいというより何言ってるのか全然分からないw
いや別にディスってる訳じゃなくてマジで
2020/05/27(水) 20:46:07.05ID:QQSE4k+3
なるほど調べてみます。

圧倒的理解力不足なもんで…

ありがとうございました
2020/05/27(水) 20:46:35.43ID:UEBQAav6
イベント待ちなのに処理を占有?
2020/05/27(水) 20:55:14.84ID:9LOTwxRV
>>504
作るイベントによって変わるけど>>505が万能回答
>>506
メッセージを誰が送るのかわからない
何を起点にDoEventするのかわからない
2020/05/27(水) 21:14:29.08ID:883YZTqQ
>>506
バッドノウハウだろ
512デフォルトの名無しさん
垢版 |
2020/05/28(木) 18:55:24.68ID:jB6NfBip
Bad know how?
2020/06/01(月) 01:35:35.98ID:SyoyRWyY
https://dotup.org/uploda/dotup.org2162644.png
https://dotup.org/uploda/dotup.org2162643.png

Blazorを使用してSPAを作ってみたいと考えております。

画像と同じ説明になってしまいますが、
Dictionaryとforeachを使って画像ファイルを並べられたまでは良いのですが、
その画像ファイルとセットで説明文も一緒に添えたいと考えております。
説明文もセットでforeachに加えて並べるにはどうすれば良いでしょうか?
(Dictionaryもforeachも手探りでやっただけでして拘りはありません。)

画像+説明文の数だけulやliやhrefやimgを書いていくのも大変なので、
自動化?のためにforeachとdictionaryを使用しました。

宜しくお願いいたします。
2020/06/01(月) 01:58:38.12ID:lLamlcG6
>>513
タイトル、説明文、画像ファイルパスなど必要なもの一式を
一つの型にまとめてDictionary<T>やList<T>を使う
2020/06/01(月) 07:40:38.54ID:RpkIRyj6
BlazorというよりHTMLの問題じゃね
2020/06/01(月) 07:44:39.98ID:/GiD8hIS
514の言うとおりだけど、キー不要なのにDictionary使う意味はないな。Listで。
2020/06/01(月) 20:50:10.06ID:SyoyRWyY
>>514-516
皆様ありがとうございます。
何とか無事にできました。
https://dotup.org/uploda/dotup.org2163229.png

https://dotnetfiddle.net/2laUxq
こちらが実際に書いたコードになります。

コメントアウトされている16-21行のコンストラクタを書くと、
49-52行のnew ArticleItemに赤波線が表示されてしまい、
「ArticleItem.ArticleItem(int, string, string)' の必要な仮パラメーター 'number' に対応する特定の引数がありません。」
となってしまいます。
一応numberに対応する引数はそのまま書いているつもりなのですが、これはどういう理由なのでしょうか・・・?
2020/06/01(月) 20:55:21.10ID:mlavFreb
コンストラクタに引数を与えるなら
new ArticleItem(1, "vermeer.jpg", "フェルメールの真珠の耳飾りの少女")
2020/06/01(月) 21:03:08.25ID:EcU6otQL
大文字vs小文字とエスパー
2020/06/01(月) 21:11:23.50ID:RpkIRyj6
>>517
オブジェクト初期化子でググれ
2020/06/01(月) 21:21:56.56ID:SyoyRWyY
>>518-520
一応そちらも試してみていたのですが、{}を()に直すのを忘れていました・・・初歩的なミスでした。
フィールドの場合ですと毎回Name=、Number=、Description=を書かなくてはなりませんが、
コンストラクタですと文字だけで便利な反面、第三者には伝わりにくい面もあるのでしょうか。

やっていくと色々と違いがわからず混乱してしまいますが、基礎から調べてみようかと思います。
初歩的な質問に答えて頂きありがとうございました。
2020/06/01(月) 21:30:09.33ID:9YokFrjE
>>521
・該当部分がコメントアウトされている場合、引数無しのコンストラクタ(デフォルトコンストラクタ) public ArticleItem() が暗黙的に定義されている
・public ArticleItem(int number, string name, string description) が定義されている場合は public ArticleItem() は暗黙的に定義されない
多分混乱の原因はこれを忘れてるからなんじゃないかな
523デフォルトの名無しさん
垢版 |
2020/06/01(月) 22:55:01.21ID:HGtHhUsO
どーでもいいけど画面左のグラデーションが綺麗だなぁと思いました
524デフォルトの名無しさん
垢版 |
2020/06/01(月) 23:32:51.74ID:5NIHbXOS
「慶應卒の学歴なんていらない」10代起業で成功する子の共通点
https://www.excite.co.jp/news/article/President_35457/
起業で成功するキャリア形成の仕方とは? 元プロサッカー選手で起業家の鈴木啓祐氏に聞いた
https://sogyotecho.jp/career-development/
【アプリ開発で起業】必要な心得とマネタイズ方法のすべて
https://www.dreamgate.gr.jp/contents/column/application-development
学生起業家が開発、「人を軸に本を探すアプリ」とは?読書通じて「考える力」養って
https://newswitch.jp/p/20168
島田商高生がアプリ考案、発表 ICT起業家育成プログラム
https://www.at-s.com/news/article/local/central/730010.html
医師コンビが「治療用アプリ」で起業、禁煙に続き高血圧治療アプリを開発
https://diamond.jp/articles/-/229375
好きが高じて“カレー起業”、キャッシュレス決済アプリ「TOKYO MIX CURRY」の挑戦
https://diamond.jp/articles/-/215868
525デフォルトの名無しさん
垢版 |
2020/06/03(水) 16:27:42.45ID:oijTauHo
三項演算子で null のときは
?? とか ?: とか省略方法があるようですが
値で 0 のときにチェックを省く方法はありますか?
a = b == 0 ? c : b;
a = b != 0 ? b : c;
みたいな場合に
a = b ?? c;
a = b ?: c;
とかの書き方無かったですか?
2020/06/03(水) 16:36:47.26ID:aceFZYCa
>>525
ないです
素直に0比較してください
nullはプログラム上重要な要素になるので特別な処理が作られました
527デフォルトの名無しさん
垢版 |
2020/06/03(水) 17:06:59.67ID:oijTauHo
int orz(int x, int y)=>x==0?y:x;

a=orz(b,c);
でいけました
ありがとうございました
2020/06/03(水) 17:20:41.93ID:mHZXtGhi
あまり意味ない上に、何やってるかわかりずらいようなしないでもないでもない
529デフォルトの名無しさん
垢版 |
2020/06/03(水) 17:22:01.95ID:oijTauHo
bの変数名が長い時面倒じゃないですか?
2020/06/03(水) 17:25:36.20ID:lKbflSVr
本人が満足しているんだしロジックに関わりすらしない部分で持つ変なこだわりが初心者らしくていいじゃないかw
2020/06/03(水) 17:25:43.29ID:Cpnc/jbv
>>529
3ヶ月後の自分に「こいつ死ねばいいのに」って言われるやつ。
2020/06/03(水) 17:32:59.89ID:aceFZYCa
気持ちはわかるが変数名メソッド名が文字数的に長い短いを気にしないほうがいい
正しく命名された内容であればたとえ20文字超えとかでも問題ない

エディタ周りが優秀になり強力な入力補間が効く現代で文字数が減ったところで何の恩恵もない

流石に50文字超えみたいなのは正しく命名されたとは思えないので論外ね
533デフォルトの名無しさん
垢版 |
2020/06/03(水) 17:33:38.70ID:qEEM9XSL
>>529
一回だけで済む方法もあるよ
if ((a = b) == 0) a = c;
2020/06/03(水) 17:40:32.41ID:69kHBPnK
ではプロのお方に考察してもらいたいんだが、
なぜLINQ(IEnumerable)にはListにはあるForEachメソッドが無いのかな?
2020/06/03(水) 17:42:54.79ID:HVvELZKL
>>534
テンプレ読めない人は退場
2020/06/03(水) 18:59:47.48ID:MPquea7T
どうせやるなら
static class IntExtension {
public static int ifZeroThen(this int val, int to) => val==0 ? to : val;
}
と拡張メソッドを作って
a = b.ifZeroThen(c);
2020/06/03(水) 19:56:42.20ID:VidMmCEg
考察も糞もねーよ
https://docs.microsoft.com/en-us/archive/blogs/ericlippert/foreach-vs-foreach
2020/06/03(水) 20:12:59.40ID:4PJ7L65K
「foreachは副作用を起こすためだけに存在する操作なのだから手続き型で記述すべき」というだけのことなんだが、
理解できない馬鹿は多いんだよね
2020/06/04(木) 04:52:58.23ID:kthDryXj
1bit脳に無理言わないでくれ
2020/06/04(木) 07:52:33.54ID:dmqdgjzk
Motorola MC14500か
2020/06/04(木) 14:02:05.72ID:q8whG3cq
それってビットスライスプロセッサと同じ?
昔、AMDのAm2900だっけ?
2020/06/10(水) 14:22:02.31ID:AUFXka/X
C#で自クラスを表すキーワードってありますか?
thisで自インスタンスを指すのと同じ要領で、
ILogger<This>みたいな書き方で自クラスを指し示せると便利なんですけど
2020/06/10(水) 15:14:27.84ID:spn5Hqr7
無いんで毎回書いてください
2020/06/10(水) 17:27:35.25ID:oCluTwmU
なにが便利なんだろう
2020/06/10(水) 18:53:25.86ID:spn5Hqr7
例示の通り全部のクラスにloggerのstatic instanceをコピペで置きたいんじゃない?
2020/06/10(水) 20:18:27.76ID:npA4+8k3
派生クラス内のbaseキーワードのthis版みたいなもんか
まあ気持ちはわからんでもないがエディタのリファクタで済む話でもあるしなあ
2020/06/10(水) 20:19:08.92ID:AUFXka/X
まさに>545がやりたいことでした
DIする全クラスにloggerを用意するルールになってて、
本体のクラスとILoggerのクラスが食い違ってるものがけっこうあって、
なにかそういう間違いを防ぐ方法がないかなあと思ったのですが

ないようなら間違えないように気を付けるしかないですね、わかりました
2020/06/10(水) 23:33:38.62ID:YByuqf7A
スニペット定義すればいい話じゃないの
なんでそんなクソみたいな需要のためにキーワード追加しなきゃならんのよ
2020/06/19(金) 03:25:40.20ID:o8JsoPqL
人種差別を肯定し、master というブランチ名を使うレイシストc# プログラマーのボーナスは全廃し、給与50% カット6ヶ月ぐらいすべき。
2020/06/19(金) 09:39:13.25ID:wB3O0HGg
mainという単語からは主流≒多数派ばかり優遇して少数派を蔑ろにする差別的な印象を感じる
2020/06/19(金) 21:57:34.06ID:bZZY8ExL
branchとかmergeとかもPC的にはそのうち禁止されるんじゃね?
2020/06/19(金) 22:34:43.07ID:wHZO34HU
PATAのデバイスついてるPCもアウトだな。masterにslaveだもの。
2020/06/19(金) 22:36:55.15ID:cGppewf8
コロナ感染源だからホストも禁止
2020/06/20(土) 03:28:44.15ID:ASLg4tM8
slaveは言い訳できないが、masterはいいだろ
言葉狩りの暴走は勘弁してほしい
2020/06/20(土) 03:44:34.61ID:cD8U+O2A
変数名やメソッド名全部に差別チェックが入る時代が来るぞ
556デフォルトの名無しさん
垢版 |
2020/06/20(土) 04:13:37.90ID:FLQMzrN5
くだらね
考えすぎだと思うよ
日本語でも主/従というがこれをpolitically incorrectだと言う人はいないでしょ
2020/06/20(土) 04:23:55.75ID:fYTLW7H/
外圧に簡単に屈するぞ?
2020/06/20(土) 04:26:17.64ID:ASLg4tM8
そんなことより、変数名に日本語使う会社の先輩を禁止にしてほしい
2020/06/20(土) 08:05:50.48ID:wP1jy1tm
>>558
良いじゃないか。
国民皆保険制度の健康保険の記号と番号なんて、
kenpoKigouとkenpoNoぐらいしかうまく当てられんぞ。
insuranceとはちょっと意味合い違うからな。
2020/06/20(土) 08:52:50.69ID:bhe8z7NH
そういうのって正式に英語名称が定義されたりしないの?
2020/06/20(土) 09:37:58.40ID:GUrzgoSo
全国の地方自治体向けに作られた翻訳システムがあるが英訳はめちゃくちゃわかりにくいぞ
区役所とかのホームページ見れば分かる
2020/06/20(土) 10:12:31.31ID:bhe8z7NH
プログラマが勝手に作ったローマ字使うくらいなら正式な英語あるならそれ使えばいいじゃん
わかりにくさはローマ字も一緒だし
それも嫌なら正式名称の日本語かな
日本語は入力がめんどくさい、isとかつけたら見づらいとかあるんで個人的には英語にしたいところ
2020/06/20(土) 10:20:29.03ID:cD8U+O2A
配偶者特別控除とか英訳した変数使われたら長すぎてたまらん
2020/06/20(土) 10:25:55.97ID:7xYXUXXu
こんなところでくだらん雑談されたらたまらん
2020/06/20(土) 10:44:13.15ID:bhe8z7NH
そんな長いのかと思ってググったら全然長くないじゃん
2020/06/20(土) 12:35:54.56ID:VKvCWYLS
>>560
必ずしも充足されてるとは言い難い。
まず政府管掌健康保険が協会けんぽに変わったから、云々、と歴史まで追いかけるときりがない。
それに、プログラマが勝手に決めないぞ。プロジェクトでコンセンサスとって対訳表作る。
2020/06/20(土) 12:52:11.90ID:bhe8z7NH
>>566
対訳表に則っているなら先輩が変数名に日本語使うのを禁止になんかできんだろう
規約を変えたいという気持ちならわかるが
2020/06/20(土) 13:33:06.13ID:VKvCWYLS
>>567
うん、だから禁止になんてする必要ないじゃないかって言ってる。
コンセンサスが基本だから、先輩後輩関係なくどうしても納得ができないと言い張れば変わるよ。
2020/06/20(土) 14:04:38.62ID:bhe8z7NH
>>568
元のレスの環境はわからんが対訳表なんかきっちり固めない規模なんだろう
だから個々人の裁量で進行する
世の中規約がきっちりしてるプロジェクトばっかならそもそもあんな愚痴なんて出ないよ
2020/06/20(土) 14:35:58.82ID:VKvCWYLS
>>569
まあそれもそうかもなぁ。
ただ正式名称が良いとは思うが、日本語マルチバイトで変数を使われるのは俺も嫌だ。
インテリセンスで泣けてくると思う。
2020/06/20(土) 22:15:40.53ID:mviXVPvw
出来もしないのに無理やり英語使われてもなあ
ソースコード読んで直す側としては、変数名で恥ずかしいスペルミスされたり見当はずれの英単語使われるくらいだったら
開き直って日本語の変数名にしてくれてるほうが100倍マシ
ローマ字表記はヘボン非ヘボンの混在だったり長音や「おう」の表記ゆれだったりでgrepできなくて迷惑
子音のみ表記は論外
2020/06/20(土) 22:52:27.79ID:Zs4RBEp5
shine←誰だ!ソースコードに死ねって書いた奴は!

お前が一番英語できねーじゃん
2020/06/20(土) 22:59:06.50ID:hRQ9XdbD
酔っぱらって雑談書き込みたい人はマ板に行けよ
2020/06/21(日) 13:48:49.92ID:wYwqTW6D
素面だったら失礼だろ…
2020/06/21(日) 20:17:32.76ID:aN4OBWpj
派生クラスのインスタンスが与えられていて、abstruct な基底クラスの virtual なメソッドを呼び出すにはどうすればいいでしょうか?

using System;
using System.Reflection;

namespace ConsoleApp1
{
class Base1
{
public virtual void method1()
{
Console.WriteLine("Base1 method1");
}
}

abstract class D1 : Base1
{
public override void method1()
{
Console.WriteLine("D1 method1");
}
}
2020/06/21(日) 20:17:46.82ID:aN4OBWpj
class D2 : D1
{
public override void method1()
{
Console.WriteLine("D2 method1");
}

public void callBaseMethod()
{
base.method1();
}
}


class Program
{
static void Main(string[] args)
{
D2 d2instance = new D2();
d2instance.method1();
d2instance.callBaseMethod();
Type d1type1 = d2instance.GetType().BaseType;
MethodInfo mi1 = d1type1.GetMethod("method1", BindingFlags.Instance | BindingFlags.Public);
mi1.Invoke(d2instance, null);
D1 d2asD1 = d2instance as D1;
MethodInfo mi2 = d1type1.GetMethod("method1", BindingFlags.Instance | BindingFlags.Public);
mi2.Invoke(d2instance, null);
}
}
}
2020/06/21(日) 20:20:09.44ID:aN4OBWpj
D2クラスのメソッド内からは base を使って D1::method1 を呼び出せますが、D2クラス外から D1::method1 を呼び出したいのです。
reflection を例のように試してみましたが、これではD2.method1 が実行されました。
2020/06/21(日) 21:33:25.88ID:PVQJTyJk
じゃあbaseでも返してやればいいじゃん
579デフォルトの名無しさん
垢版 |
2020/06/21(日) 21:35:29.29ID:X+exSJnj
>>576
ここの方法で一応出来た
https://stackoverflow.com/questions/43797869/how-to-call-base-method-from-derived-class-instance-in-c
何で出来るのかは聞かないでw
さっぱり分からん
2020/06/21(日) 22:28:34.53ID:aN4OBWpj
static void Main(string[] args)
{
D2 d2instance = new D2();
D1 d2asD1 = d2instance as D1;
MethodInfo mi5 = typeof(D1).GetMethod("method1", BindingFlags.Instance | BindingFlags.Public);
var dynamicMethod = new DynamicMethod("baseMethod1", mi5.ReturnType, new[] { mi5.DeclaringType }, mi5.DeclaringType);

var il = dynamicMethod.GetILGenerator();
il.Emit(OpCodes.Ldarg_0);
il.EmitCall(OpCodes.Call, mi5, null);
il.Emit(OpCodes.Ret);

dynamicMethod.Invoke(null, new object[] { d2asD1 });
}

これで
D1 method1
と出力されました。
何で出来るのかはさっぱり分からないけど、完全に理解したので、感謝の気持ちだけ送ります。
2020/06/22(月) 09:37:12.13ID:0XzJmbel
環境によって動かなくなるかもしんないことした?
2020/07/10(金) 21:20:51.69ID:X9xi9dVy
今までGUI作ったことなかったなーと思って勉強しようと思ったんですが今だとどれを勉強するのがいいんですかね
さすがにformsは古い?そうだけどWPF以降も色々と出ていてこのタイミングでどれをやるのがいいのか迷ってて
2020/07/10(金) 21:29:39.13ID:Yln2FJAO
>>582
就活用ならUnityでもやるのがいいんじゃね
そうじゃないのならVB6ですらWindows10で動くんだから古いとか気にする必要はないはず
2020/07/10(金) 22:13:58.78ID:3+C210Fo
正解はwebで
2020/07/10(金) 22:15:24.02ID:JuXuxxAz
OWINで
2020/07/11(土) 02:28:11.25ID:Xb91GAGB
続きはCM2の後で
587デフォルトの名無しさん
垢版 |
2020/07/11(土) 11:09:59.93ID:J0INoyBc
Unityに+1
Unityのゲームの中身じゃなくてEditorの方をおすすめ
2020/07/12(日) 21:38:45.35ID:aDzqciee
unityがおすすめなんですね。あれゲーム専用だと思ってました
もっぱら業務アプリばっかなんでそういう用途にも使えるとは思ってなかったです
589デフォルトの名無しさん
垢版 |
2020/07/13(月) 09:25:32.82ID:TjSPxylo
業務アプリ用の言語ωでゲーム造ってる人も居るしな
2020/07/13(月) 15:55:03.59ID:Ke/bF0yo
倉庫の在庫官吏を、VRで実際の倉庫とそっくりに作った仮想倉庫内を移動して有無を確認するようなシステムにしたらITで社会が幸せになるね
2020/07/13(月) 16:01:37.04ID:H0zeGwMI
数値で確認じゃなくVRでわざわざ見渡すシステムを作るのか
すげーな、現場でそんな発想するやついねーわw
2020/07/13(月) 16:58:20.45ID:aaJV9hNQ
カメラを設置するだけでも大変だったのに
モデリングに手間暇かかるだけ無駄
2020/07/13(月) 17:15:16.60ID:9YDjNgWA
商品もリアルに表現しなきゃねってことで
手足に負荷がかかるような器具を付けて商品の重さも再現するんでしょ?
倉庫の広さも実感できるようにランニングマシーンの進化版みたいのに乗ってと・・・
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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