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

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 5f01-NOMG)
垢版 |
2022/09/18(日) 14:39:29.51ID:VjUDO6tf0
次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為)

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

■前スレ
ふらっと C#,C♯,C#(初心者用) Part155
https://mevius.5ch.net/test/read.cgi/tech/1655422932/
■関連スレ
C#, C♯, C#相談室 Part96
https://mevius.5ch.net/test/read.cgi/tech/1639965805/
■コードを貼る場合は↓を使いましょう。
https://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/
https://referencesource.microsoft.com/
https://source.dot.net/
・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
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
268デフォルトの名無しさん (ワッチョイ bb5f-Jufk)
垢版 |
2022/10/15(土) 17:47:40.19ID:Ggc2td0l0
>>267
そんな事はIDEにやらせりゃいいんだよ
2022/10/15(土) 18:11:24.33ID:2u2iBEwS0
>>265
だからそう思うなら自分で作れよ
本体改造するのが大変ならトランスレーターでもいいし
270デフォルトの名無しさん (ワッチョイ 9f01-CUgD)
垢版 |
2022/10/15(土) 20:29:18.32ID:mRrGj9Y+0
>>269
いやPythonなんて使わんし…
2022/10/15(土) 20:39:17.55ID:2u2iBEwS0
>>270
使いもしないのに文句だけ言うとかクレーマーかよw
2022/10/15(土) 20:43:34.95ID:71BCtDZc0
>>271
Pythonに{}があったほうがいいとは誰も言っていないからもちつけ
2022/10/15(土) 20:48:05.82ID:71BCtDZc0
あっ>>261がいた
忘れてくれ
2022/10/15(土) 20:48:33.45ID:onTnH2DB0
あっても使わないから落ち着け
2022/10/15(土) 21:34:19.40ID:2u2iBEwS0
>>272
Python使ってなくて困ってもないのに
> どう考えても{}あったほうがいいだろ…
って、一体なんの言語の話ししてるんだ?
276デフォルトの名無しさん (ワッチョイ 9f01-CUgD)
垢版 |
2022/10/15(土) 22:12:17.55ID:mRrGj9Y+0
>>275
一般言語の話な
他の言語みんな{}ついてんだから必要なもんなんだよ
わかりやすいし
277デフォルトの名無しさん (ワッチョイ bb5f-Jufk)
垢版 |
2022/10/15(土) 22:21:40.18ID:Ggc2td0l0
インデントの位置で動きが変わる欠損言語だよな
2022/10/15(土) 22:23:32.44ID:2u2iBEwS0
>>276
お前の使う言語はみんな { } 使うのに
> どう考えても{}あったほうがいいだろ…
って意味不明なんだがw
2022/10/15(土) 22:46:19.16ID:tSskybGM0
python には {} なくても通用してるんだから、あっちのユーザーさんには必要なものではないんだろう。
自分は {} あった方がいいからって理由もあって ruby とかもキライなんだが。

まあ好き嫌い言ってても仕方ない。我らは要望に応えるだけだ。
2022/10/15(土) 22:59:00.35ID:TYEHa44m0
vb「begin endですが何か?」
2022/10/16(日) 02:11:40.97ID:IoSf1xr/0
>vb
loopだったりnextだったりする箇所は別人が引き継いだのかな
2022/10/16(日) 08:54:37.59ID:9H+50nm50
>>281
basicが作られた時は今のようにブロックで構造化するんじゃなくgotoしてた
つまりifと対応するのはendではなくgoto
10 if a=1 then goto 40
20 rem aが1でないの時の処理
30 goto 50
40 rem aが1の時の処理
50 次の処理
ブロックという概念がそもそも無かったからブロックの形を統一しようという発想もなかった
2022/10/16(日) 09:45:07.64ID:zEVEZIxw0
loop 使えるような Basic で関数ブロックを持たない奴なんてなくね?
てか、end はともかく begin なんてキーワードを持つ Basic も見たことないんだが
2022/10/16(日) 09:52:41.83ID:3xSHFrvIa
>>283
見たことないのはお前が使ったことないからだな
https://stackoverflow.com/questions/61893042/what-visual-basic-syntax-is-this-begin-end-no-class

あと関数なんて無かった
gosubでサブルーチンを実装してたがサブルーチンもメインルーチンの好きなところに好きにgotoできたしそこにブロックの概念はやはり無かった
2022/10/16(日) 10:21:36.83ID:zEVEZIxw0
>>284
.frm ファイルとかをあげるバカが出てくるかと思ってたらマジで出てきたw
今してるのは言語仕様の話な

あとVBに関数ブロックあるし老害はそろそろ黙っとけ
2022/10/16(日) 10:23:41.83ID:9H+50nm50
言語仕様だぞw
キーワードに見えんか?w
2022/10/16(日) 10:24:56.25ID:9H+50nm50
あと初期のBASICに関数が無いという話をしてるんだから文盲は口を挟まない方が恥をかいて発狂しなくて済むぞw
2022/10/16(日) 11:17:27.02ID:zEVEZIxw0
>>286
残念ながらキーワードに begin なんてないんだなw
https://learn.microsoft.com/ja-jp/office/vba/language/reference/keywords-visual-basic-for-applications
※ vb6 のドキュメントは見つけられなかったので vba のやつな、似たようなもんだし

>>287
>>281 に loop と書いてあるのにお前が勝手に初期の Basic の話にしてるだけだろ
2022/10/16(日) 11:24:23.67ID:1mPDcr2ta
なんでVB.NETの話をしてるのにVBAのドキュメント見てるんだ文盲w
2022/10/16(日) 11:25:30.01ID:1mPDcr2ta
あとなんで初期のキーワードの成り立ちの話をしてるのに一人loopの話をしてるんだ文盲w
2022/10/16(日) 11:34:12.88ID:7phLrZXmM
>>287
残念ながら文盲は文字自体が読めない人のことだよ

学がなく漢字が読めない
ひらがなが読めない

そういう人
君は文盲が何か理解できてない
2022/10/16(日) 11:35:46.69ID:1mPDcr2ta
アスペと言えば良かったということか
2022/10/16(日) 11:35:53.13ID:9tRg+VNh0
>>1 が読めないもん同士なんだからどっちも消えろw
2022/10/16(日) 11:51:09.98ID:zEVEZIxw0
>>289
バカなのか?
回答に That is VB6 code. って書かれてるだろ
どうせ>284は basic begin あたりで必死にググってきたんだろうけど恥の上塗りにしかなってなくて草

>>290
だから >>281に loop と書いてあるだろ
do loop も知らないのなら黙ってなよw
2022/10/16(日) 11:52:27.38ID:1mPDcr2ta
>>1が読めないアスペはいつまでもアホなこと言ってないで消えろよw
2022/10/16(日) 12:24:39.22ID:zEVEZIxw0
>>295
>>284に言ってやれよw
2022/10/16(日) 12:25:47.33ID:9H+50nm50
全く反省の色が見えないぞアスペ
2022/10/16(日) 12:47:17.79ID:zEVEZIxw0
キーワードで恥かいて悔しいねw
2022/10/16(日) 12:48:24.88ID:1mPDcr2ta
VB.NETの話にVBA持ってきて恥をかいたのがお前ということは言ったろw
いつまで寝言言ってんだスレ違い
2022/10/16(日) 13:27:00.75ID:zEVEZIxw0
まだ、VB.NETとか言ってて草
英語も読めないバカ乙
2022/10/16(日) 13:27:43.86ID:9H+50nm50
まだ恥をさらすんかいw
2022/10/16(日) 13:53:22.51ID:zEVEZIxw0
キーワードバカ颯爽と再登場!
恥の上塗りのよかーんw
2022/10/16(日) 13:54:32.92ID:9H+50nm50
悔しいのはわかったからそろそろスレ違いということを理解して出ていけよw
2022/10/16(日) 14:01:28.80ID:zEVEZIxw0
>>303
>>301 に言ってやれよw
2022/10/16(日) 14:03:19.31ID:9H+50nm50
お前に言ってるんだよアスペw
言葉遣い同じだからすぐわかるわアスペw
2022/10/16(日) 14:24:54.49ID:zEVEZIxw0
アスペとしか言えない恥曝し乙
そもそもid付いてるのに言葉遣いとか頭沸いてるのかよw
2022/10/16(日) 14:27:09.03ID:9H+50nm50
まだ続けるのか
アスペはしつこいなw
だから他のスレでも軒並みアスペと呼ばれてるんだぞw
2022/10/16(日) 14:45:38.60ID:zEVEZIxw0
>>307
>>307
2022/10/16(日) 16:51:17.67ID:SOkAGPqKd
アスペ文盲 vs アスペ老害
初心者C#「ファイッ!」
2022/10/16(日) 17:36:31.58ID:smb+KIWw0
>>291
文盲は「自分の名前の読み書きができるか」って基準です
2022/10/17(月) 10:52:48.22ID:EEvzrdC6M
>>310
それは間違った知識だな
識字率が著しく低い人がいわゆる文盲

戦後まもなくアメリカのGHQは敗戦国日本は漢字教育が妨げとなっていると感じ
ひらがなや漢字を廃止しアルファベットを導入しようとした

そのために識字率の調査を行った
その結果漢字の読み書きができないものは2%だけなのでその案は却下された

井上ひさしの書籍では識字率の試験を受けた老婆の話が載っていて読み書きは出来ないが
たまたま自分の名前の漢字が含まれていたので正解ゼロにはならなかったと言う逸話が乗っていた
それが間違って覚えてるんだろう
2022/10/17(月) 11:45:02.06ID:uvkff8kK0
>>311
世界中の文盲率を計測するために作られた世界標準の文盲の基準ですよ
あなたの言うような文学的基準では全ての国を平等に比較するのは無理ですね
2022/10/17(月) 15:53:46.65ID:4k1KVawh0
ホリ工モン基準だと日本人の5割は文盲らしいぞ
だからユーチューブとかチクトクが流行る
314デフォルトの名無しさん (ワッチョイ 6b01-uI8J)
垢版 |
2022/10/17(月) 20:54:25.97ID:9OAS6xxs0
なるほどホリエモンは文盲ってことか
2022/10/18(火) 00:44:28.00ID:JpO0eTnpM
>>312
そんな独自研究なんて聞いたことないわ
2022/10/18(火) 02:02:12.75ID:ngZCuxghM
「識字率が低い人」ってもう何もかもダメそうな表現やな……
2022/10/18(火) 19:12:18.10ID:PTCHOYVI0
アメリカのスラム街の子供は、I no. とかそのレベルだぞ
日本は寺子屋文化で異常に高いだけ
2022/10/18(火) 19:16:28.64ID:UBgCygBr0
>>317
そういうのはスラムとかじゃなくて知的障害の類だからそれで言ったら日本も別に変わらない
319デフォルトの名無しさん (ワッチョイ cb59-w9bA)
垢版 |
2022/10/18(火) 22:05:07.00ID:OR0fD8XM0
こう包み込む感じの関数と、括弧内に数値を入れる関数では何がちゃうんでしょうか?
ToString(floatvalue);
floatvalue.ToString();
2022/10/18(火) 22:17:39.34ID:HdYtkAV80
関数を作ったやつに聞くが良い

上はエラー
floatvalue.ToString(書式);
321デフォルトの名無しさん (ワッチョイ bb5f-Jufk)
垢版 |
2022/10/18(火) 22:30:07.73ID:joOPF2hi0
ヒント
ネームスペース
2022/10/18(火) 22:30:07.98ID:cuMhZa5Q0
LinqのSelectでサブセットのプロパティを自動展開して平坦化する方法ないでしょうか?
式木とか駆使しまくれば可能でしょうか

class HogeTable
{
  string ID {get;set;}
  string Name {get;set;}
  :
  :
}

=============

var query = from tbl in db.HogeTable
 select new
 {
   Expand(tbl) // <- HogeTableのプロパティを自動展開してほしい
 };
 ↓
var query = from tbl in db.HogeTable
 select new
 {
   tbl.ID
   tbl.Name,
   :
   :
 };
2022/10/18(火) 22:36:04.52ID:oAfMFtaG0
何がしたいのかわからん
その匿名クラスのオブジェクト作る意味あるか?
2022/10/18(火) 22:43:04.96ID:cuMhZa5Q0
先の例ではテーブル1個だけですが、実際はjoinしまくりでselectしたいプロパティがたくさんあります

var query = from tbl in db.HogeTable
 join fuga in db.FugaTable on tbl.ID equals fuga.HogeID
 select new
 {
   tbl.ID,
   tbl.Name,
   :
   fuga.HogeID,
   fuga.Code,
   : // プロパティ多すぎて書くのがだるい
 };
325デフォルトの名無しさん (ワッチョイ bb5f-Jufk)
垢版 |
2022/10/18(火) 22:44:16.89ID:joOPF2hi0
一度書けば済むんだからチマチマやれよ
2022/10/18(火) 22:49:27.13ID:cuMhZa5Q0
IT土方にはなりたくないんです!
スマートに書きたいんです
2022/10/18(火) 22:50:05.56ID:oAfMFtaG0
やっぱり何がしたいかわからんな
select (tbl,fuga)でいいだろ
2022/10/18(火) 22:59:42.55ID:HdYtkAV80
DapperのsplitOnだな
2022/10/18(火) 23:01:06.32ID:cuMhZa5Q0
>>327
それだと
foreach(var row in query)
{
 // row.tbl.IDのようにドットが2つになる
 // row.IDのようにアクセスしたい
}

後だしで申し訳ないですけど、このあとExpressionで動的に検索かけるので
tblとかfugaとかあると今の私の知識では出来ないんです。。
2022/10/18(火) 23:03:47.75ID:oAfMFtaG0
Expressionで動的に検索って何だ
何がしたいかわからんと再三言ってるんだからまず何がしたいかを説明しなきゃ話にならんだろ
2022/10/18(火) 23:05:30.50ID:cuMhZa5Q0
ぇ、だからやりたいのは>>322です
Expressionは質問の趣旨とずれます
2022/10/18(火) 23:06:39.73ID:oAfMFtaG0
そうか説明したくないなら別に聞く必要ないわ
頑張れ
333デフォルトの名無しさん (ワッチョイ bb5f-Jufk)
垢版 |
2022/10/18(火) 23:09:54.15ID:joOPF2hi0
動的にって、スクリプト書くしか無いんじゃね?
2022/10/18(火) 23:10:51.98ID:oAfMFtaG0
もう触らなくていいぞ
2022/10/18(火) 23:17:24.79ID:9/f62YBx0
>>322
jsのスプレッド構文みたいな感じ?
ちょっと違うか
2022/10/18(火) 23:23:54.56ID:cuMhZa5Q0
>>335
ニュアンス的にはそんな感じですね。
ただ展開したいのは値じゃなくてプロパティの方なので、やっぱり動的プログラミングの範疇ですよね
2022/10/18(火) 23:44:26.60ID:sRZwLUu60
C#でJavaScriptを実行する方法
アドレス省略

とかどうだろ?
ゲームだとLuaとかpythonよく使ってたな
自分は使える状態になったもんしかいじったことない
2022/10/18(火) 23:47:40.60ID:oAfMFtaG0
なるほどパフォーマンスや保守性を無視していかに質問者の最初の問に矛盾しないコードを書くかという大喜利か
2022/10/18(火) 23:54:23.64ID:sRZwLUu60
>>338
別に変な方法じゃないぞ
ゲームとかパフォーマンスに影響する部分はc++でゴリゴリ書くけど
そうでない部分はc#で
もうゲームシステム部なんて
全部pythonだったりしたぞ

ビジネスアプリでもこれ割とアリだと思うんだけどね
速度を求めてないときに型とか煩わしいだけで無駄だと思うんだよね
かと言ってDictionaryでやっちゃうと完全に型チェックなくなっちゃうし
2022/10/18(火) 23:59:43.02ID:oAfMFtaG0
ビジネスでは完全に無しだわ
趣味なら好きにしたらいんじゃね
341デフォルトの名無しさん (ワッチョイ cb59-w9bA)
垢版 |
2022/10/19(水) 05:19:21.43ID:jC2EXU9G0
>>321
下に関して、ネームスペースにする必要ありますか?
342デフォルトの名無しさん (ワッチョイ bb5f-Jufk)
垢版 |
2022/10/19(水) 09:19:09.84ID:JDWm2Gob0
>>341
あ?
上は自クラス内メソッドだろ?
下は参照クラス内メソッドだろ?
同じメソッド名ってのに惑わされるなよ別物だぞ
2022/10/19(水) 12:49:22.09ID:rgBskw8B0
>>324
Ruby on Rails には、O/R マッパーもあるので全自動

Rubyで抽象的に、マイグレーションファイルに表定義すれば、
3大データベース、PostgreSQL, MySQL, SQLite の方言・型で定義される

Railsみたいな、O/R マッパー付きのフレームワークを使わないと、プロにはなれない

Java 土方は、Railsを使えない。
Java土方 vs リモート開発のモダンなRails
2022/10/19(水) 12:52:27.97ID:rgBskw8B0
YouTube のDeanin の動画では、

Ruby on Rails で、Three.js, Godot で、3D ゲームを作っていた
2022/10/19(水) 13:56:06.53ID:8/1xE7uxa
オワコンと言われて久しいRailsがモダンと言われたのは何年前の話だろうか
2022/10/20(木) 11:30:15.44ID:PZrToWIo0
>>318
違うぞ、きちんと話せて意思疎通もできるけど、単に文字が書けない知らないってだけ
日本にいたら、そんな人の存在は理解できないけど
2022/10/20(木) 14:00:06.54ID:EjoMYd4Ya
(スラングだといつ気づくんだろう)
348デフォルトの名無しさん (ワッチョイ cb59-w9bA)
垢版 |
2022/10/21(金) 20:36:11.47ID:Uz/9j/Qf0
プログラミンはどれだけきれいに書くかが大事なんでしょうか?
汚いとそれだけで頭がこんがらがります(´・ω・`)
2022/10/21(金) 20:38:50.78ID:cLyPMgkx0
WOZは天才だけどプログラムが美しいかと言うと?
2022/10/21(金) 20:39:28.61ID:evL0t28u0
>>348
設計レベルだときれいは必須
コーディングレベルだとVSに従ってるレベルであればOK
2022/10/21(金) 21:45:05.81ID:IBSByhnA0
性格いい人見つけてレビューしてもらう
352デフォルトの名無しさん (ブーイモ MMcf-Z2+b)
垢版 |
2022/10/21(金) 22:27:13.65ID:whbnSZB/M
>>348
その通り
ただ君の考えるキレイと優れた開発者の考えるキレイが同じとは限らない
2022/10/21(金) 23:23:29.11ID:X//QLN3D0
可読性の高い、Ruby がベスト。
他の言語は可読性が低いから、作った瞬間から産業廃棄物

だから皆、新規で作って、作り逃げする。
自分が作ったものでも、改修できないからw
354デフォルトの名無しさん (ワッチョイ 3901-80Lh)
垢版 |
2022/10/22(土) 00:49:35.85ID:vvrmomXL0
>>353
正論
Ruby以外の言語をやってるやつはサタン
2022/10/22(土) 00:58:20.33ID:SCNLWEI10
可読性が低いことで有名なPerlを受け継いだRubyの可読性が高いって何の冗談なんだか
2022/10/22(土) 01:04:16.52ID:sdxg/Y9t0
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください
2022/10/22(土) 01:04:55.75ID:SCNLWEI10
自分に言い聞かせてるのか
2022/10/22(土) 04:59:53.84ID:g5VlGNlPa
>>356
ほんこれ
2022/10/22(土) 10:37:35.64ID:rexZxi1C0
enum型をintにするには (int)hogeでいけるが
Hage<T>(T value) の時、valueをintに変換
var result =(int)vale; だとエラーになる

どうすればいけるんですかね?
2022/10/22(土) 10:57:52.04ID:sdxg/Y9t0
Hage<T>(T value) where T: Enum
2022/10/22(土) 11:25:06.41ID:QLe4fcYA0
>>359
一度objectに変換すればOK
var result = (int)(object)value;
2022/10/22(土) 11:43:10.44ID:LN75Th25a
>>361
きっつ
2022/10/22(土) 12:37:18.58ID:rexZxi1C0
>>360
今回はすべてのタイプを取り込んでからEnumのときだけやるのでこれは使えませんでした

>>361
コレで行けました
ありがとうございます
2022/10/22(土) 13:50:10.10ID:JgadWci70
そもそもintにしなきゃいけないならenumなんか使うなと思うが・・・
2022/10/22(土) 14:16:53.47ID:J0WzfMNr0
>>364
intのままだと値域を制約できないが、代わりに何を使えばいい?
2022/10/22(土) 17:11:59.78ID:DoqTc5dI0
ジェネリックついでに横から質問させてください。

省略可能引数にジェネリック型指定した場合、呼出側でコンパイルエラーになります

// 呼び出されるメソッド
void Miku<T, U>(List<T> vol, U negi = null) where U : class
{
}

// 呼出側
hatune.Miku(list); // CS0411 メソッド 'method' の型引数は、使用法から推論することはできません。 型引数を明示的に指定してください。

回避策ありますか?
2022/10/22(土) 17:16:23.54ID:eEXfO1n1M
だってエラーメッセージ通りだろ
どうやってUが何の型か推測できるんだよ

対策はエラーメッセージ通りに明示的にかけ
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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