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

■ このスレッドは過去ログ倉庫に格納されています
2020/05/27(水) 20:28:41.27ID:Pggemlyq0
!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為)

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

■前スレ
ふらっと 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
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
2020/06/04(木) 14:02:16.75ID:yA9dfqdA0
>>57
むしろどんな言語ならフィーリングで書けるんだ?
2020/06/04(木) 14:30:29.65ID:ph5uM4S6r
まず検索能力高めろ
2020/06/04(木) 14:44:45.08ID:M66vYvep0
>>60
これ、すごいことだと思う。
良く出来てるわ。
2020/06/04(木) 15:19:44.92ID:bvFA+Te40
静的解析せずにc#を始めるやつおるんやな
いばらの道ぞ
2020/06/04(木) 15:58:30.81ID:UandGHR0M
VSはなんかVSにコード書かされてる気分になってくる
2020/06/04(木) 16:16:26.21ID:sT7gKDo90
>>65
適当に書いてCtrl+.という堕落w
67デフォルトの名無しさん (ワッチョイ ca6a-uikQ)
垢版 |
2020/06/05(金) 00:51:13.36ID:1j5/pURw0
usingも勝手に補完してくれるし
条件わかんないけど「この型NuGetから持ってこようか?」みたいなサジェストもしてくれる
あ、はい、お願いしますってつい言ってしまう
2020/06/05(金) 07:11:12.78ID:X40F5QUh0
>>67
NuGet適当に見繕ってくれるのはほんとに神だよなぁ。
2020/06/05(金) 08:21:55.32ID:HaKNuQ4Y0
他アプリに表示されてるリストボックスの中身の情報を抜き取る方法ありますか?
例えば株アプリの株価情報取得したり、ニュースtextを抜き出したりしたいのです

SPY++ってのを調べてるんですけど情報すくないし少し違ったり
むずかしいでしょか?
2020/06/05(金) 08:34:13.37ID:2XC8EF810
LB_ADDSTRING
LB_INSERTSTRING
71デフォルトの名無しさん (ワッチョイ d67c-jjst)
垢版 |
2020/06/05(金) 09:52:15.65ID:7ABcsW+P0
UIAutomationに対応してるならSystem.Windows.Automation名前空間下の諸々のクラスでいける
2020/06/05(金) 16:07:54.93ID:MlQ/ufNA0
おれも最近SPY++とWin32API使って他アプリの操作にチャレンジしてみたけど
ツールバー内のボタンクリックができなくて途中で挫折した
時間が出来たらこれ>>71を調べてみたい
73デフォルトの名無しさん (ワイーワ2 FFf2-hy1p)
垢版 |
2020/06/05(金) 16:29:00.95ID:WSRdRexsF
最後の手段はマウスイベント送れ
2020/06/05(金) 18:41:37.36ID:G2EzgRxv0
画面全部スクショとって座標指定でいいだろ
全部自前で書かれてたらボタンイベントすらねぇんだから
座標指定とクリック、マウスONOFF、キーイベントだけでやるのが正義だろ
とか偉そうなこと言って
造りの問題かクリックイベントすら動かなかったので試験用コンソールアプリ作ってもらいました(´・ω・`)
2020/06/05(金) 19:18:55.79ID:HaKNuQ4Y0
>>70
さんくす、ぐぐったらC++のメッセージ送るやつでてきた、むずい
>>71
UIAutomationに対応してるアプリって一般的なのかな、デフォでみんな
対応してたらいいのに、さんくす

>>73-74
さんくす、座標調べてクリックしたことにするのか
テレビ画面録画するみたいな感じか、でもまあ現実的っぽい

リストボックスの中身取得するのに、スクショとって文字画像認識して・・って
76デフォルトの名無しさん (ワッチョイ 15f1-GwrY)
垢版 |
2020/06/05(金) 21:58:35.28ID:td6kQI8l0
質問だけど
Windowsアプリ作るにあたり
VisualBasicを使っちゃいけなくて(好まれなくて)C#を使うべきっていうのは
どういう理由からですっけ?
2020/06/05(金) 22:01:11.68ID:aJ0kwdQw0
マルチポスト
78デフォルトの名無しさん (ワッチョイ 15f1-GwrY)
垢版 |
2020/06/05(金) 22:35:14.45ID:td6kQI8l0
それ以前にマルチスレ
2020/06/05(金) 22:42:21.39ID:aJ0kwdQw0
マルチポストしていい理由にならない
80デフォルトの名無しさん (ワッチョイ 15f1-GwrY)
垢版 |
2020/06/06(土) 02:57:58.91ID:9mdgv8nE0
>>79
あなたが自粛警察するタイプ。
ずばりそうでしょう。
そんな人は人生がうまくいってないから人生にうらみがあるんじゃないかな。
悩みがあったら聞くよ。
2020/06/06(土) 04:15:34.57ID:dlqfOb2e0
こういう残念なやつがいるからワッチョイ有無でスレが必要になる
2020/06/06(土) 07:18:39.44ID:EOD/vRIp0
>>73
>>74
マウスイベントかキーイベントって対象アプリにフォーカスないと動かないよ・・・ね?
それじゃ困るんだよなー
83デフォルトの名無しさん (ワッチョイ 15f1-GwrY)
垢版 |
2020/06/06(土) 10:25:01.92ID:9mdgv8nE0
人生に不満な人、人の不幸が好きな人、
こういう人は警察という職業に向いている。
2020/06/06(土) 11:38:58.12ID:8mSQUCrQa
>>83
お前はそういう人間が警察をしている世界を望むのか?
85デフォルトの名無しさん (ワッチョイ 15f1-GwrY)
垢版 |
2020/06/06(土) 12:35:44.64ID:9mdgv8nE0
人生が超楽しくてしあわせな人は
警察に向かないと思う。
人を笑わせ楽しませる仕事か、あるいは自分の趣味に関わりのある仕事に没頭するか。
2020/06/06(土) 14:50:08.07ID:5hL3hw2m0
>>75
Windowsのコモンコントロール
WinForm/WPF/UWPの標準コントロール
はほぼ対応してるはず
ブラウザはじめ独自描画系はアプリ次第 調べてないけどあんまり対応してなさそう
2020/06/06(土) 15:21:40.20ID:1oYratVd0
ワッチョイ 15f1-GwrY
ワッチョイ a919-OO8l
アウアウウー Sa11-gmWH
テンプレ理解できない人はNG
>>82
元のレスがマウスイベントにどう関わるかわからないから別件としてレスするけど
>マウスイベント
たまに勘違いしている人がいるがフォームにフォーカスが無くても(フォームがアクティブでなくても)動く
>キーイベント
C#でグローバルキーフックを作った人がいる
http://hongliang.seesaa.net/article/7539988.html
88デフォルトの名無しさん (ワッチョイ 15f1-GwrY)
垢版 |
2020/06/06(土) 16:11:02.84ID:9mdgv8nE0
C#をはじめたのですが
この動画シリーズってどれくらい見る価値ありますか?
https://m.youtube.com/user/VisualStudioJapan/videos
2020/06/06(土) 21:00:20.86ID:ve9u+1kO0
グローバルフックでマウスイベントもキャプチャー
2020/06/06(土) 21:06:41.96ID:xeyYLdg20
>>88
一切見なくていい
そんなもんよりハーバード・シルトの独習C#か↓のサイト見るほうがはるかにいい
https://ufcpp.net/study/csharp/
2020/06/07(日) 23:13:19.22ID:wGMDE0oz0
>>86
さんくす、それならごく普通につくられたアプリならUI Automation使えそう
便利で面白そうなのに、あまりメジャーじゃなさそうなのはなぜなんだろ
92デフォルトの名無しさん (ワッチョイ a9ed-B5RW)
垢版 |
2020/06/09(火) 06:21:44.92ID:UwuOEQTZ0
https://docs.microsoft.com/ja-jp/dotnet/core/tools/dotnet

ここを見てやってるんですが、最初の1ページ目のサンプルで失敗します。

A fatal error was encountered. The library 'hostpolicy.dll' required to execute the application was not found in 'C:\Program Files\dotnet'.

調べても英語の人の書いたブログしか出てこないのですが、
どうすれば解決できますか
9392 (ワッチョイ a9ed-B5RW)
垢版 |
2020/06/09(火) 06:40:31.85ID:UwuOEQTZ0
VisualStudioをアップデートしたら動きました。。。orz
94デフォルトの名無しさん (ワイーワ2 FFf2-B5RW)
垢版 |
2020/06/09(火) 09:37:00.46ID:sE3YfRh/F
dotnet を get して最初にすることは dotnet の update
95デフォルトの名無しさん (JP 0Hf2-Mery)
垢版 |
2020/06/09(火) 13:06:57.31ID:dFHXVz0lH
IT掲示板群 ttp://x0000.net/forum.aspx?id=15

学術の巨大掲示板群 - アルファ・ラボ ttp://x0000.net
数学 物理学 化学 生物学 天文学 地理地学
IT 電子 工学 言語学 国語 方言 など

simulationライブラリで純粋な関数式プログラミングをする
ttp://x0000.net/topic.aspx?id=3631-0
UIライブラリ (C#, 2D) を作ったよ
ttp://x0000.net/topic.aspx?id=3688-0
連続と離散を統一した!
ttp://x0000.net/topic.aspx?id=3709-0
4Dエンジン(画像有り)
ttp://x0000.net/topic.aspx?id=3677-0
matrixのライブラリ
ttp://x0000.net/topic.aspx?id=3711-0
ある強力なFor関数
ttp://x0000.net/topic.aspx?id=3630-0
SQLライブラリ
ttp://x0000.net/topic.aspx?id=3675-0

PS malloc / free を実装してみた (C#)
ttp://up.x0000.net/files/TMallocTest.zip
96デフォルトの名無しさん (ワッチョイ 6fc7-Z00E)
垢版 |
2020/06/11(木) 11:07:24.07ID:/xGObRM50
ウルフエディターはC++で作られているようです
2dなのにc++にするメリットはあるんでしょうか
テクスチャの移動程度ならC#でできますよね
2020/06/11(木) 11:24:51.54ID:FQtHxjiy0
本人に聞けよ
2020/06/11(木) 12:11:06.04ID:BgpDRRce0
そもそもC#でできるならC++である必要がないという理由がわからん
99デフォルトの名無しさん (ワッチョイ 6fc7-Z00E)
垢版 |
2020/06/11(木) 12:40:59.96ID:/xGObRM50
3dならC+しか選択肢がないと思いますが、C#ならopenglは使わないと思います
2020/06/11(木) 12:55:24.94ID:BgpDRRce0
C++しか選択肢がない?
例えばUnityならC#でOpenGL使ってるけど?
2020/06/11(木) 12:59:05.56ID:BgpDRRce0
エンジンの話だというならたとえが悪かったかもしれんな
別にUnity上でウルフエディタと同じものも作れるから最終的には一緒だけど
102デフォルトの名無しさん (エムゾネ FF1f-MwbW)
垢版 |
2020/06/11(木) 13:00:57.60ID:JpYLw7MRF
WPF
103デフォルトの名無しさん (ワッチョイ 6fc7-Z00E)
垢版 |
2020/06/11(木) 13:11:12.03ID:/xGObRM50
>>101
へぇ UWPというやつですかね
2020/06/11(木) 14:06:50.15ID:BgpDRRce0
全然違う
2020/06/11(木) 17:27:54.49ID:yAt1qMQq0
>>96.>99
仕事のなら発注元の指定、趣味ならば好みなのでメリット/デメリットって気にする
ことないと思うよ
複数の言語に堪能でそれぞれの言語特性に合わせてアプリケーション毎に言語を
選定してプログラムを組んだり発注したりするより、一番使い慣れた言語でやるのが
普通じゃないかな
c#でdllimportsてWin32apiを使うなんてアンマネージなコードは邪道だとか
言われてもc#が良いんだって人は普通にいるので、簡単なGUIプログラムもC++が
手っ取り早いってことなんでしょう
2020/06/11(木) 20:35:54.13ID:vRuHoTo/0
みなさんデータベース管理システムは何使ってますか?
普段よく使うとか、使いやすいってRDBMSを教えてください

小規模で自分一人で開発でってのを想定で
107デフォルトの名無しさん (ワッチョイ c301-tD/8)
垢版 |
2020/06/11(木) 20:49:36.46ID:yGmpvECN0
oracle
2020/06/11(木) 20:56:11.52ID:Ab3iv8TC0
小規模ならSQLiteでいいんじゃね
2020/06/11(木) 21:15:03.03ID:Zjp+nhQg0
Access
2020/06/11(木) 21:21:44.50ID:bLG5zewl0
>>106
postgresql
2020/06/11(木) 21:34:56.15ID:5OqhWY9w0
.NET 使うんなら SQLServer 一択じゃね?
2020/06/11(木) 21:42:34.54ID:qibdIRpR0
>>111
EF CoreチームにNpgsqlのメンテナーが入っていることもあって、PostgreSQL対応はかなり手厚い
2020/06/11(木) 22:17:10.79ID:tnq3MU310
Postgresは大文字小文字問題なんとかしてくれ
2020/06/11(木) 22:27:34.63ID:qibdIRpR0
>>113
115デフォルトの名無しさん (ワッチョイ ff6a-NjyN)
垢版 |
2020/06/11(木) 22:49:15.03ID:tnq3MU310
>>114
https://stackoverflow.com/questions/35914530/case-insensitive-name-of-tables-and-properties-in-entity-framework-7
こういうの
2020/06/11(木) 22:54:47.74ID:Yd9qBDmj0
>>106
普通Redis
2020/06/11(木) 22:58:40.14ID:vRuHoTo/0
みなさんさんくす
>>107
oracle使ってるの?有償で本格的なイメージ
>>108
SQLiteいいですよね、お手軽そうで
>>109
AccessってC#で使えるんですね、Access使い慣れてる人ならよさげ
>>110
Postgreも人気ですね、SQLiteよりもいいのかな
111
SQLServerが一番に名前出てくると思ってました
112
PostgreはC#と親和性高いのかな

見事に割れてるような感じがするのですが、C#.netと相性がいい悪いより
使い慣れてるものを使ってる感じですか
2020/06/11(木) 23:01:51.55ID:vRuHoTo/0
>>116
さんくす、初めて聞きましたRedis,NoSQLサーバーですか
これから主力になっていくのかな
2020/06/11(木) 23:09:04.11ID:Yd9qBDmj0
目的が違うからRDBとは共存するんじゃね?
永続化が出来るのが他のKVSと違う所。
2020/06/11(木) 23:21:42.50ID:5eBlYw+xa
C#との親和性とか言われてもなあ
いまどき大抵のDBMSでEFも使えるから、極端な話DBMSを途中で乗り換えても
C#で書き換えるのはconfigファイルの接続文字列とNuGetするパッケージだけ
EF使わないならSQLの方言を気にする必要はあるけどそれは組み立てるStringが変わるだけだし
DBMSに応じてC#ソースコードの書き方が変わるようなことは一切ない
2020/06/11(木) 23:49:42.34ID:tnq3MU310
EFみないなORM使ってないとOracle->SQL Serverの書き換えとか地獄よ
2020/06/12(金) 02:18:27.53ID:opbb+AId0
>>115
それが問題になるケースってどんなん?ASP.NET Core Identityとかも別に普通に使えてるけど
2020/06/12(金) 02:21:54.36ID:opbb+AId0
>>120
親和性は今でも問題になるケースがあるよ
OracleはEF Coreが出てから対応するまでに3年かかったし、EF Core3.0はOracleが対応する前にサポート期間が終わっちゃった。3.1のbeta版が少し前にやっと出たとこで、RTMになるころにはもうEF Core5が出てるw
2020/06/12(金) 03:34:44.54ID:ZwJzd5pPd
>>120
>C#で書き換えるのはconfigファイルの接続文字列とNuGetするパッケージだけ
>DBMSに応じてC#ソースの書き方が変わるようなことは一切ない
これは嘘。DbContextOptionsBuilderの拡張メソッドはDBMSごとに異なるし、そのオプションも変わってくる。当然Migration用のコードは再度生成する必要がある。まあその程度で済むんだけどね。
2020/06/12(金) 03:36:16.16ID:ZwJzd5pPd
「NuGetする」って表現は初めて見たな。言いたいことはわかるけどw
2020/06/12(金) 10:19:25.67ID:LH1ywJSs0
>>119
これからNOSQLも勉強しないとダメなのかサンクス
>>120
さんくすねDBMSはどれ選んでもだいたい同じですか
>>123-124
なるほどね、細かなところ互換性問題あるけど、それほど困ることもないですか
まあDBMSコロコロ変更したりしないだろし、さんくす

欲をゆえば、これは定番でみんな使ってるし、迷ったらコレみたいのがあったらよかた
2020/06/12(金) 10:33:37.51ID:67KMUSUMM
オンプレかクラウドかにも依るだろう
オンプレならできればDBの運用保守はベンダーに丸投げしたいところだが、
そこまでするほどの規模ではないならSQL Serverが比較的楽だろう
クラウドだったら自分でインフラを管理する必要のない完全マネージドなサービスを選ぶべきだ
例えばAWSならPostgresベースのAurora、AzureならSQL Database(SQL Serverベース)になるだろうな
2020/06/12(金) 11:11:40.32ID:kFexpNJ30
>>106
Ruby on Rails の3大DB は、
PostgreSQL, MySQL/MariaDB, SQLite

ただし、SQLite は開発用のみ
2020/06/12(金) 20:30:56.85ID:LH1ywJSs0
>>127
なるほど、クラウドなら相手先でだいたい決まってるんですね
結局仕事でプログラマやってる人はSQL全部やってそうな、さんくす

>>128
さんくす、Webアプリと連携したりするならPostgreとかMySQLは必須っぽいですね
130デフォルトの名無しさん (ワッチョイ ff6a-NjyN)
垢版 |
2020/06/13(土) 00:57:45.04ID:bzHb5W4o0
>>122
アノテーション必須なところ
2020/06/13(土) 01:09:18.28ID:8SrQpLbj0
>>130
アノテーション?Javaと勘違いしてない?
もしかして、[Column("some_column")]みたいなAttributeを明示的にプロパティに付与しなきゃってことを言いたいの?
2020/06/13(土) 01:10:23.05ID:8SrQpLbj0
最近はそもそもAttributeはあまり推奨されてないと思うんだけど…
133デフォルトの名無しさん (ワッチョイ ff6a-NjyN)
垢版 |
2020/06/13(土) 01:13:19.59ID:bzHb5W4o0
間違えた、そう、アトリビュートね
推奨されてないならますます必須なのは困るだろ
2020/06/13(土) 01:33:01.52ID:8SrQpLbj0
Fluent APIが主流だっていう意味でAttributeは推奨されてないって言ったんだけど通じてない??
2020/06/13(土) 01:41:17.85ID:8SrQpLbj0
naming conventionはかなり自由度が高いんだし、PostgreSQLならこんなプラグインもあるでしょ?
https://github.com/efcore/EFCore.NamingConventions
2020/06/13(土) 01:44:19.43ID:8SrQpLbj0
このプラグイン書いてるのもEF Coreのメンテナーだし、PostgreSQL対応は相当手厚いと思うんだけど…Oracleとは大違いw
137デフォルトの名無しさん (ワッチョイ ff6a-NjyN)
垢版 |
2020/06/13(土) 02:34:08.73ID:bzHb5W4o0
手厚いなら標準でサポートしろ
2020/06/13(土) 03:17:01.33ID:8SrQpLbj0
標準でサポートしてるAPI使ってるでしょ?
2020/06/13(土) 03:17:49.75ID:8SrQpLbj0
会話にならない…
2020/06/13(土) 03:28:12.11ID:wwBJVROwd
>>130
なぜ必須だと思いこんでしまったのか…少しググれば↑のプラグインも出てくるというのに。
DBMSによって異なる仕様を全てコアのライブラリに取り込んでしまうのはアンチパターン。拡張可能なエンドポイントを用意して、適切な粒度で分けないと。
2020/06/13(土) 03:44:26.62ID:8SrQpLbj0
そもそもなぜAttribute必須(だと思いこんでいる)かって理由もまだ一言も聞いてないしね
Fluent APIすら知らないようだし…
142デフォルトの名無しさん (ワッチョイ 6fc7-Z00E)
垢版 |
2020/06/13(土) 13:23:26.68ID:K/U+GWpl0
rpgツクールみたいなソフトはC#とC+どちらがいいんでしょうか
electronではだめなのですか?
2020/06/13(土) 13:48:37.68ID:KtzqJ+vF0
勝手にしろ
2020/06/13(土) 14:08:02.51ID:o48rgnPS0
>>142
好きなやつでいいよ
2020/06/13(土) 14:47:15.79ID:YToltj6/0
普通マシンコード直打
2020/06/13(土) 23:27:18.32ID:V91HObFW0
ツクールは、Ruby じゃないの?

スレ立てるまでもない質問はここで 153匹目
https://mevius.5ch.net/test/read.cgi/tech/1586142285/845

870 の投稿も見て
2020/06/13(土) 23:51:50.48ID:KtzqJ+vF0
RGSSがRubyで書けるだけで本体はRuby製じゃないだろ
最近のやつは知らないけれどRPGツクール2000はDelphi製だよ

つかこいついつものRubyガイジか
2020/06/14(日) 00:29:11.30ID:d5or7MKc0
ちなみに最新のRPGツクールMVはHTML5&CSS&Javascript
2020/06/14(日) 01:26:19.14ID:v+4IVp6H0
>>147
そう、いつものRubyバカだよ。
どこかで聞き齧った上辺だけの知識を、古いまま更新もせずあちこちで思うがままに垂れ流す、迷惑きわまりない存在。
150デフォルトの名無しさん (アウアウウー Sa67-uznS)
垢版 |
2020/06/14(日) 02:49:46.49ID:elQ0/Qc7a
くだらない質問で申し訳ない

static IEnumerable<char> AToZ()
{
  for (char c = 'A'; c <= 'Z'; c++) yield return c;
}

static IEnumerable<string> AAAToZZZ(int n)
{
  if (n < 0) throw new IndexOutOfRangeException();
  if (n == 0) yield break;
  if (n == 1) foreach (var c in AToZ()) yield return c.ToString();
  foreach (var c in AToZ())
    foreach (var item in AAAToZZZ(n - 1))
      yield return c + item;
}

こういうシーケンスもっと短く綺麗に書ける?
nが負の時の処理はこだわらない。(例外投げずに空のシーケンスを返すのでも可)
どうでもいいけど、yield returnとreturnは混在できなことを今日初めて知ったw
151デフォルトの名無しさん (アウアウウー Sa67-uznS)
垢版 |
2020/06/14(日) 03:07:11.97ID:elQ0/Qc7a
こうじゃなきゃダメかw

static IEnumerable<string> AAAToZZZ(int n)
{
  if (n < 0) throw new IndexOutOfRangeException();
  switch (n)
  {
    case 0:
      yield break;

    case 1:
      foreach (var c in AToZ()) yield return c.ToString();
      break;

    default:
      foreach (var c in AToZ())
        foreach (var item in AAAToZZZ(n - 1))
          yield return c + item;
      break;
  }
}
2020/06/14(日) 03:59:43.38ID:Lj4n2emQa
よくわからないけどRPGのデータベースから
単なる所持品表示と
装備品表示でBoolean型を使うなら状況が変わるのかな?
2020/06/14(日) 05:02:05.56ID:HJp96S060
>>151
再起なんかせずにEnumetable.Repeatで必要文字数作って返すのじゃ駄目なん?
2020/06/14(日) 13:47:32.96ID:EPf5hgHv0
再起嫌いだわ
難しいことせず素直に書くならこうかな

static IEnumerable<string> AAAToZZZ(int n)
{
if (n < 0) throw new IndexOutOfRangeException();

IEnumerable<string> result = AToZ();
for(i = 1; i < n; i++)
result = Hoge(result, AToZ());

return result;
}

static IEnumerable<string> Hoge(IEnumerable<string> items1, IEnumerable<string> items2)
{
// items1+items2の組み合わせ
foreach (var item1 in items1)
foreach (var item2 in items2))
yield return item1 + item2;
}
2020/06/14(日) 17:59:06.56ID:HWVPFncU0
少し汎用化してみた
https://dotnetfiddle.net/qFcJK0
2020/06/14(日) 22:16:24.60ID:ZbFg49iQ0
>>154
n=0の動きがかわっちゃってない?
157150 (アウアウウー Sa67-uznS)
垢版 |
2020/06/14(日) 23:20:59.70ID:FMtFwmQda
みなさんありがと
やっぱり劇的に単純化できるような方法はないか

>>154
俺は再帰使った方が簡単に感じるなあ
この辺は人それぞれなんだろうか

>>155
面白いけど可読的かなあ
ビール飲みながら読んでたら頭が痛くなってきたw
ところでこういう処理をCartesianと呼ぶのは一般的なの?
何でデカルト?
n次元の直交座標をスキャンしていくイメージ...?
2020/06/14(日) 23:38:18.81ID:gmXZN8yKa
2次元配列の逐次処理は3Dの棒グラフだから
どう見てもデカルト
2020/06/15(月) 12:58:53.43ID:G4ousd2n0
プログラムに日本語が使われた物って、日本語がインストールされていない環境でも動きますか?

変数名などに日本語を使って海外へのローカライズ時にはUIのみをその国の言語に差し替える感じで。
2020/06/15(月) 18:13:18.65ID:yRL+7o6a0
>>159
作成したexeのUI(たとえばButtonコントロールのTextに「押しボタン」とか)が
日本語表示でも、文字化けが問題ないならば動くことは動く

プログラム自体の変数名(たとえば「int 合計」みたいな)であればユニコードで
保存されているはずなのでコンパイルは通るらしいけど、日本語の表示が
できない環境では読めないソースになる

プログラム実行時の画面表示でローカライズってどうやるのっていう話ならば
言語ごとのリソースを作って対応するのが普通なので「c# 国際化対応」で
ググると色々サンプルが出てるよ
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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