[過去ログ] C#, C♯, C#相談室 Part97 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
1: (ワッチョイ d707-bKpv) 2022/12/21(水)10:18 ID:DxBIri9+0(1) AAS
!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
■Visual Studio 2017 Community(無償の統合開発環境)等はこちら
外部リンク:www.visualstudio.com
■コードを貼る場合はこちら
外部リンク:ideone.com
■前スレ
C#, C♯, C#相談室 Part94
2chスレ:tech
■次スレは>>970が建てる事。
建てられない場合は他を指定する事。
C#, C♯, C#相談室 Part96
2chスレ:tech VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
2(1): (アウアウウー Sa9f-bKpv) 2022/12/22(木)09:26 ID:D6FSghNTa(1/2) AAS
この時代になっても相変わらず機械語は逆コンパイルできないと思いこんでるやついるのな
3: (アウアウウー Sa9f-bKpv) 2022/12/22(木)09:27 ID:D6FSghNTa(2/2) AAS
こういう機械語にすればセキュリティ上がると思ってるやつが平気でパスワード埋め込むんだよなあ
4: (スッップ Sd8a-JDfe) 2022/12/22(木)10:33 ID:F1nh9mbrd(1/4) AAS
>>2
C#やJavaといった中間言語に比べたら、圧倒的に可読性が低いでしょ?
できる、できないの、ゼロか100かの議論ではないんだよ
可読性が低いほど、解析されにくくなる。
5: (ワッチョイ af42-JDfe) 2022/12/22(木)10:38 ID:2NJjkJHb0(1/2) AAS
中途半端な知識を持つものがC#を避ける原因の一つだからな
C++と同レベルの難読性を持つのはC#が生き残るには大事な話だ
6(1): (アウアウウー Sa9f-bKpv) 2022/12/22(木)11:35 ID:GxD81iq9a(1) AAS
解析されて困るのはパスワード埋め込んでる時だけだろ
機械語にしてもセキュリティ上がらないからそういうことするのやめとけ
7(1): (ワッチョイ db2d-z22/) 2022/12/22(木)11:40 ID:aOWlk2Pu0(1) AAS
わざわざ逆アセンブルしなくてもexeから文字列抽出すれば平文パスワードを探せるしねぇ
8: (テテンテンテン MMe6-w6Ef) 2022/12/22(木)12:30 ID:U1HHZUYmM(1) AAS
難読化した処理追えるならマシン語の逆アセ読むくらいは出来るだろ
余分な処理入ってない分、後者のが楽まである
9: ◆xETmWn3d3U (ワッチョイ f3b1-N2O4) 2022/12/22(木)12:59 ID:h+8LnyZL0(1) AAS
昔、機械語で書かれたとあるアプリをHEXエディタで開いたら、ASCIIコードで平文のままパスワードが埋め込まれてた事が有ったな
10(2): (スッップ Sd8a-JDfe) 2022/12/22(木)14:41 ID:F1nh9mbrd(2/4) AAS
>>6-7
パスワードを暗号化とかして格納するとして、
その場合に暗号化のロジックコードをかんたんに読まれなければ
安全性はかなり高くなる。
11(1): (ワッチョイ 3ebb-fz0m) 2022/12/22(木)14:45 ID:hTl9WjWG0(1) AAS
パスワードの照合ってハッシュ値を比較するもんだと思ってた
なんかすごい実装してるやついそうだな
12: (アウアウウー Sa9f-bKpv) 2022/12/22(木)14:52 ID:HxQ/rgDMa(1/2) AAS
>>10
ならねーよ
13(2): (アウアウウー Sa9f-bKpv) 2022/12/22(木)15:06 ID:HxQ/rgDMa(2/2) AAS
逆コンパイルするじゃん?
コンパイルしてデバッガ使うじゃん?
パスワード送信するところで止めるじゃん?
復号したパスワードを表示するかファイルに書き込むじゃん?
生パスワード手に入るじゃん?
14: (スッップ Sd8a-JDfe) 2022/12/22(木)15:27 ID:F1nh9mbrd(3/4) AAS
>>13
その手順の詳細はやったことないのでデタラメかわからんが、
そもそもパスワード保存したストレージに他人がアクセスできないという
前提があるんだから問題はないだろう。共用するデバイスであれば、
パスワードを保存しない運用をすればいいだけだから。
あと証券とかセキュリティが重要なアプリはログインパスワードとは別に
取引パスワードとかもあるのが普通。
あとは出金とかのときはSMS認証とかもある会社が増えている。
要するにパスワードなどの認証はひとつである必要もないし、セキュリティ要件などに
あわせて併用すればいいだけ。
15(1): (スッップ Sd8a-JDfe) 2022/12/22(木)15:30 ID:F1nh9mbrd(4/4) AAS
>>11
それそれ、たぶんいいたいかったのはそれ。
暗号化したら膨大な時間かけないと複合化できない。
だからハッシュ。
DBの中にもパスワードのハッシュ値を格納するのがふつうなんでしょ、たしか。
>>13
暗号化したものは容易に複合化できないわけだが?
量子コンピューターとかないと無理でしょ
思いつきでいいかげんなこと書いてるでしょ?
16: (ワッチョイ c307-bKpv) 2022/12/22(木)15:49 ID:4fbwDn1A0(1) AAS
>>15
>>10を読んでやれよw
そもそも実行ファイルにパスワード埋め込むなって話をしてるんだぞw
17: (ワッチョイ 2a01-ekyc) 2022/12/22(木)16:02 ID:Qca7zyGd0(1/2) AAS
>native codeじゃないとかんたんに
>サーバーの認証のコードが漏れちゃうでしょ
>セキュリティ大事
発端はコレでしょ?
ハッシュでも暗号化文字列でもクライアントに共有シークレット埋め込んでる限り脆弱
少しスキルのある人間に悪用されるのは致し方ないと諦められるものじゃなければ仕組みを変える必要がある
18(1): (ワッチョイ 2a01-ekyc) 2022/12/22(木)16:03 ID:Qca7zyGd0(2/2) AAS
ありゃ
全部同じ人だった
19: (アウアウウー Sa9f-bKpv) 2022/12/22(木)16:13 ID:UcBjTq9Sa(1) AAS
>>18
ああ認証コードがわからないのか
ログインパスワードのことだぞ
20: (ワッチョイ af42-JDfe) 2022/12/22(木)16:39 ID:2NJjkJHb0(2/2) AAS
パスワードっぽいのを仕込んでおいて遊んでみたい
21(1): (ワッチョイ ea79-eUtI) 2022/12/22(木)16:50 ID:RLY1K78+0(1) AAS
ログインパスワードをハードコードとか斬新だな
APIキーみたいな認証コードの話かと思った
22: (ワッチョイ 535f-f2OJ) 2022/12/22(木)16:58 ID:iWtJ1OLb0(1) AAS
そんな次元なの?
パスワードの判明ならそれこそパスワードが合ってたかどうか、のif文に相当する命令を反転させたりnopにするという古典的な方法で別にパスワードがどうでも良くなるでしょ。そんなネイティブコンパイルされるか否か程度が問題なら。
アタッチして、パスワードが違うぞってダイアログ出てる状態からジャンプを逆に辿るだけなのでテクニックも何も無い。
何の意味も無くない?
23: (ワッチョイ 0f2f-8Cre) 2022/12/22(木)18:43 ID:+Rbmc+Rn0(1) AAS
>>21
斬新でもなんでもなくて、今ほどセキュリティにうるさくなかった昔には結構あったぞ
結局は要求される強度とかける手間との兼ね合い
24: (ワッチョイ 97ae-zlOH) 2022/12/22(木)18:48 ID:HmVrE67C0(1) AAS
iniファイルにパスワードがそのまま記述もたまに
25: (ワッチョイ 535f-8Cre) 2022/12/22(木)18:58 ID:y9FZhiQ70(1) AAS
悪用って犯罪じゃないの?
警察どこいった?
26: (ワッチョイ 69a7-aH43) 2022/12/24(土)11:07 ID:o3kFQyD40(1) AAS
.NETってinternalに良いもん隠しすぎやろ
27: (ワッチョイ 9978-dxp0) 2022/12/24(土)18:18 ID:37MAMfIj0(1) AAS
便利機能を使うためにリフレクションで仕方なくアクセスするの面倒すぎる
28(1): (ワッチョイ f34b-IkUo) 2022/12/26(月)17:01 ID:OeooOgrR0(1/2) AAS
以下のurlにあるライブラリを使ってrar5形式の書庫内にあるファイル一覧を取得しようとしたのですが取れませんでした。
ライブラリのソースを見ましたが、単に7z.dllの内部にある関数を呼んでいるだけのようでした。
7z.dll同梱の7z.exeでファイル一覧の取得、解凍できるのは確認しています。
何が原因かわかる方いらっしゃいますか?
7z.dllのバージョンは21.7.0.0
VisualStudio2019でビルドしました。
外部リンク[aspx]:www.codeproject.com
29: (アウアウウー Saed-aXTt) 2022/12/26(月)17:55 ID:5LxkM09pa(1) AAS
>>28
> 何が原因かわかる方いらっしゃいますか?
プログラマ
30(1): (ワッチョイ 637c-dxp0) 2022/12/26(月)18:31 ID:bU1T9eUn0(1) AAS
どんなコード書いているのかどんなエラーなのか言わないと分かりようが無いw
31: (ワッチョイ f34b-IkUo) 2022/12/26(月)18:37 ID:OeooOgrR0(2/2) AAS
>>30
ライブラリのzipの中のサンプルコードです。
32: (ワッチョイ 8b61-3CYd) 2022/12/26(月)18:53 ID:oItrOIBr0(1) AAS
それ2008年のでしょrar5に対応してないんじゃないの?
33: (ワッチョイ 97a7-ChaJ) 2022/12/31(土)17:00 ID:Y1+2Lu7M0(1) AAS
ByteArrayContentとReadOnlyMemoryContentの違いってなんかあるの?
34: (ワッチョイ 7fad-P+qm) 2022/12/31(土)19:10 ID:1otgbzig0(1) AAS
あるよ
35(1): (ワッチョイ 4e10-Rw9z) 2023/01/02(月)14:11 ID:AlCNR49a0(1/2) AAS
C#ってC言語で作ったdllを呼べるけど、
そのdllが暗号化されていたのものでもメモリ上で複合化しながら呼べますか?
36: (アウアウウー Sac7-jVCh) 2023/01/02(月)14:49 ID:EJhafa7da(1) AAS
俺はできる
お前ができるかは知らん
37(1): (ワッチョイ 97a7-ChaJ) 2023/01/02(月)15:46 ID:ChZi0Din0(1) AAS
>>35
本来利用してるプロセスが復号化してからロードしているのならその復号化ロジックを自前のC#アプリでも実装しないと呼べない
38: (ワッチョイ 4e10-Rw9z) 2023/01/02(月)20:19 ID:AlCNR49a0(2/2) AAS
>>37
ありがとうございます
39(1): (ワッチョイ 972f-9j0N) 2023/01/04(水)00:16 ID:N/2omZ3g0(1) AAS
C#ってネイティブなdllも動的にロードできるんだっけ?
40: (ワッチョイ 5b4f-9j0N) 2023/01/05(木)11:22 ID:ltDktvBL0(1) AAS
DLLを動的ロードして関数ポインタを取り出す部分はどっちかというとOSの仕事だしそこはDllImportとかに任せて
関数ポインタさえ手に入れば
.NET 2.0からデリゲートに変換できるメソッドがあるし
C# 9.0でそのまま扱うこともできるようになったよ
41: (ワッチョイ 97a7-ChaJ) 2023/01/05(木)11:51 ID:pzJhf9FT0(1) AAS
>>39
そりゃ当然出来る
型や呼び出し規約を合わせるのは自己責任だが
42: (ワッチョイ 275f-lcZ0) 2023/01/05(木)13:00 ID:92Gx4s1W0(1) AAS
アンマネージド使うのは自己責任で
43: (オッペケ Srbb-s02G) 2023/01/05(木)14:07 ID:HFE02prZr(1) AAS
c++/cli 作って橋渡ししてたわ
44(1): (ドコグロ MMf7-ETcA) 2023/01/06(金)00:26 ID:rNk5rLcjM(1) AAS
とあるクラスにあるすべてのプロパティを読み取り専用にしたいんだけど、なにか良い方法ありますか?
やっぱり継承してプロパティの数だけ読み取り専用プロパティで定義するしかない?
45: (スプッッ Sdba-kLll) 2023/01/06(金)07:59 ID:vZ5ptmnXd(1) AAS
継承させたところで元クラスにアップキャストされたら終わり
constにさせる方法はたぶんないと思う
46: (テテンテンテン MMb6-RnfC) 2023/01/06(金)12:38 ID:vCsnZijhM(1) AAS
recordにしたら
47: (ワッチョイ 97a7-ChaJ) 2023/01/06(金)12:49 ID:buYHqiH80(1) AAS
C#って地味にこの辺弱いよな
C++のconst ポインタと同等の機能があればReadOnlyCollectionとかReadOnlySpanなんてそもそもいらないのに
48: (アウアウウー Sac7-jVCh) 2023/01/06(金)14:18 ID:QdJf8bLxa(1/2) AAS
C++なら継承して読み取り専用にできると思ってるのか
49(2): (ワッチョイ 9365-IAh0) 2023/01/06(金)14:27 ID:zhrc9IIn0(1) AAS
いや継承は必要なくて、C++なら単にそのクラスのインスタンスを格納する変数や引数の型をconstにするだけで読み取り専用になるよ
TypeScriptもReadOnly<X>とするだけで簡単に読み取り専用のXの型を作れる
50(1): (アウアウウー Sac7-jVCh) 2023/01/06(金)15:16 ID:QdJf8bLxa(2/2) AAS
方法が違うだけでC#でも簡単にできるだろw
51: (アウアウウー Sac7-7txW) 2023/01/06(金)17:46 ID:MJJvxMZsa(1) AAS
>>50
どうやるの?
52(1): (ワッチョイ 972f-6bDn) 2023/01/06(金)19:39 ID:7HwChuQ+0(1) AAS
>>49
それ、そのクラスのプロパティも読み取り専用になるのか?
53(1): (アウアウウー Sac7-IAh0) 2023/01/06(金)20:12 ID:KHJficEWa(1) AAS
>>52
C++のconstの場合は、フィールドが全て読み取り専用になり、読み取り専用(const)としてマークされたメソッドしか呼べなくなる
TypeScriptのReadonly<>の場合は、全プロパティが読み取り専用になった「型」が生成される
TypeScriptというかJSではメソッドは単に関数を返すプロパティなので、メソッドの内容には特に関知しない
54(2): (オイコラミネオ MM5d-Or7w) 2023/01/07(土)10:18 ID:FC273Y3JM(1/10) AAS
>>44
誰かが書いてるけどrecordじゃだめなん?
public record Person(string FirstName, string LastName);
55(1): (ドコグロ MMa3-4fYz) 2023/01/07(土)11:12 ID:ErVvBSvoM(1) AAS
>>53
何それ凄い便利じゃん
>>54
できればプロパティを1つ1つ書きたくないんだよね
56: (ワッチョイ 9379-G8G4) 2023/01/07(土)11:42 ID:iltXkPxC0(1) AAS
継承後のクラス定義って、継承前より厳しくできたっけ?
57: (オイコラミネオ MM5d-DSRP) 2023/01/07(土)13:01 ID:FC273Y3JM(2/10) AAS
>>55
いやいやw
これでもう終わりでreadonlyだよ
58: (オイコラミネオ MM5d-DSRP) 2023/01/07(土)13:01 ID:FC273Y3JM(3/10) AAS
これ以上短い書き方なんてできるか?
59: (スッププ Sdb3-BvPj) 2023/01/07(土)13:51 ID:unZBLw7Xd(1/2) AAS
質問者は既存のミュータブルなクラスのプロパティを読み取り専用にしようとしている
>>54だと同じプロパティを全部定義し直さなきゃいけないし、元のクラスからコピーする手間も必要だ
>>49の方法であればプロパティを定義し直す必要もコピーする必要もない
60(1): (オイコラミネオ MM5d-Or7w) 2023/01/07(土)14:55 ID:FC273Y3JM(4/10) AAS
既存のプロパティに当たるものをconstにするのは全部定義しなおしてるの同じなんだけど…
どういうやり方で既存のプロパティを定義してるのかもわからないし意味不明だなと
61: (オイコラミネオ MM5d-Or7w) 2023/01/07(土)14:56 ID:FC273Y3JM(5/10) AAS
うまく行くならプロパティのsetをinitアクセサに変えるだけなんだけど
62: (オイコラミネオ MM5d-Or7w) 2023/01/07(土)15:35 ID:FC273Y3JM(6/10) AAS
特定のコンテキストで書き換え不可
状況次第で書き換えの可否を変える
とかならめんどいけどそういう話じゃないんだろ
63: (アウアウウー Sa85-BvPj) 2023/01/07(土)16:17 ID:rg/VZrjHa(1) AAS
>>60
いやまともなC++のコードならgetterはconstで定義されてるはずだから、変数の型をconstにするだけでreadonlyになるよ
64(2): (ワッチョイ 9301-GR7q) 2023/01/07(土)17:38 ID:mDCtTa800(1/4) AAS
君たち的に.NET MAUIでandroid,iphone,WindowsでC#のネタ帳的なの作ったら協力してくれる?
小ネタ集みたいなのを各々がSQLで保存してそれをカテゴリ分けで見れるようにするやつ
例えばRestAPI関係だったりの基本的な書き方を表示したりできる
ネットで調べれば一発だが1つにまとまってるのは利点かと、、、
65: (ワッチョイ 1176-1Rsz) 2023/01/07(土)17:48 ID:odL5Q3k30(1) AAS
wiki立ち上げればええやん
66: (オイコラミネオ MM5d-DSRP) 2023/01/07(土)18:07 ID:FC273Y3JM(7/10) AAS
多分世界中のc#プログラマの99.9%は.NET MAUIに興味ないと思う
67: (ワッチョイ b101-phWz) 2023/01/07(土)18:08 ID:St5PAkDm0(1/2) AAS
winui3でよくね?
68: (オイコラミネオ MM5d-DSRP) 2023/01/07(土)18:14 ID:FC273Y3JM(8/10) AAS
と言うよりいい加減いくつフレームワーク立ち上げれば済むんだよ
モバイル関連は全部html+jsにしてデバイスを仮想サーバにしてそいつにREST api投げてjsonでセンサ値とか取るようにすればいい
そしたらもう再生産しなくていい
69(1): (スッププ Sdb3-BvPj) 2023/01/07(土)18:17 ID:unZBLw7Xd(2/2) AAS
>>64
コンテンツが利用者頼みのサービスは最初自分で頑張るか金出すかしてコンテンツを揃えない限り必ず失敗する
というわけでまずは自分で頑張れ
70: (ワッチョイ 9301-GR7q) 2023/01/07(土)18:24 ID:mDCtTa800(2/4) AAS
>>69
なるほど
71(1): (オイコラミネオ MM5d-DSRP) 2023/01/07(土)18:25 ID:FC273Y3JM(9/10) AAS
一度覚えた技術を何十年も使いまわせるような仕組みにしろよ
都度都度新しいAPIセット出して馬鹿なのかMSは?
72: (ワッチョイ 2b7b-UYKP) 2023/01/07(土)18:30 ID:UPEdDe6/0(1) AAS
ワッチョイ 9301
こいつマウイ君だろ、自分のスレでやれ。NG
73: (ワッチョイ b101-phWz) 2023/01/07(土)18:44 ID:St5PAkDm0(2/2) AAS
ここにまでマウイ出張ってきたか
ちゃんとワッチョイを恐れろよ
74: (ワッチョイ 93ad-5W0d) 2023/01/07(土)20:02 ID:Xl5j6yUn0(1) AAS
マウいじゃん
75: (オイコラミネオ MM5d-DSRP) 2023/01/07(土)21:02 ID:FC273Y3JM(10/10) AAS
そんなにマウいかな?
76: (アウアウウー Sa85-5W0d) 2023/01/07(土)21:14 ID:mnUUIrvLa(1) AAS
チョベリグ
77(1): (ワッチョイ 515f-DWwd) 2023/01/07(土)22:07 ID:8LnSupdD0(1) AAS
>>64
> 例えばRestAPI関係だったりの基本的な書き方を表示したりできる
今からこの手のサービスやってもCopilotに勝てないだろ
78(1): (ワッチョイ 9301-GR7q) 2023/01/07(土)23:32 ID:mDCtTa800(3/4) AAS
>>77
copilotって別にこれしたいって言えば全部記入してくれるわけじゃなくね?
俺としてはあぁRestAPIの使い方ど忘れした~
なんだったっけ???ってGoogleで調べる時間をアプリで素早く検索できるって感じのものを作りたいかな
2,3回やったことあるやつでもどうだったっけ?って忘れることままある
まぁGoogleとかでいいんだけど1つのアプリにまとまってるってのはなかなか便利なんじゃないかなと…
79: (ワッチョイ 9301-GR7q) 2023/01/07(土)23:32 ID:mDCtTa800(4/4) AAS
自分で追加もできるしな
80(3): (ワッチョイ 795f-4fYz) 2023/01/08(日)16:11 ID:qCDijd6S0(1) AAS
Aクラスを継承したBクラスがあります
BクラスのリストにAクラスをAddしたいんですが、どうすればいいのでしょうか?
81: (ワッチョイ 99a7-DWwd) 2023/01/08(日)16:20 ID:PrLa9yfk0(1) AAS
>>80
それは無理
Bは絶対にAだけどAはBとは限らないでしょ?
つまりAクラスのリストにするしかない
まあUnsafe.As使えば無理矢理入れられるけど
82: (ワッチョイ 137c-Or7w) 2023/01/08(日)16:24 ID:GEbVHkXI0(1) AAS
>>80みたいな質問する奴って意味も分からず継承使ってたりしてそうで怖いわw
83: (ワッチョイ 1176-1Rsz) 2023/01/08(日)16:25 ID:+2bxRzY60(1) AAS
A a=new B(); とかで、実体がB型かもしれないならBにキャストすればいい。
A a=new A(); でA型そのものだったらそもそもこの話は成立しない。
list.Add((B)a);
84: (スッププ Sdb3-BvPj) 2023/01/08(日)16:40 ID:Z6otLx+Dd(1) AAS
>>78
massCodeとかgistとかでいいんじゃない
85: (ワッチョイ 9301-GR7q) 2023/01/08(日)16:50 ID:+xzWagUM0(1) AAS
>>80
継承じゃなくてBクラスにAクラスのプロパティのリストを入れる場合はたしかいけたぞ
86(1): (テテンテンテン MM4b-yRwU) 2023/01/10(火)13:29 ID:yPlBxuJ3M(1) AAS
>>71
ほんとこれ
87: (ワッチョイ 09ae-oTKG) 2023/01/10(火)15:05 ID:ZisiPnco0(1) AAS
スマホアプリ作ってると毎年アプデで便利な機能がdeprecatedされてくのがストレス
それに比べたらMSの方が優しい
88: (アウグロ MM65-KwfY) 2023/01/10(火)17:23 ID:qAIynO1bM(1) AAS
>>86
それじゃ入門書売れないだろ
バカ?
89: (ワッチョイ 137c-Or7w) 2023/01/10(火)18:28 ID:IC+XgAqf0(1/2) AAS
android何かも最近コード書いてないけど、非推奨や消えたりする機能が結構あるよね
古いコードをメンテナンスするときに良く引っかかる気がするわ
90: (ワッチョイ b101-tb1I) 2023/01/10(火)19:16 ID:0yW4rCRf0(1) AAS
C言語の重力付き4目並べです、ここのコードを簡略化したいです。
int SetXpos(int player) // コマの置き場所を入力または探して盤を更新,コマの置き場所(0-6)を返す
{
int xpos = 0; // コマの置き場所
if ((choice == 2 && player == 2) || (choice == 3 && player == 1)) // コンピュータとの対戦の場合に,コンピュータの手を計算
{
xpos = ComputeXpos(player);
printf("%sの番です\n", player == 1 ? "●" : "〇");
printf("コンピュータは%dに置きます\n", xpos);
}
else // 人間の手を選択
{
while (1)
{
printf("%sの番です\n", player == 1 ? "●" : "〇");
printf("どこに置きますか? 0-6の数字を半角で入力してください: ");
scanf_s("%d", &xpos);
if ((0 <= xpos && xpos < XMAX) && (num[xpos] < YMAX)) // 置ける場所かどうか判定
break;
printf("%dには置けません!\n", xpos);
}
}
board[xpos][num[xpos]++] = player;// コマをxpos列に置き,xpos列のコマ数を1増やす
return xpos;
}
91: (ワッチョイ 2bbb-GB4Q) 2023/01/10(火)19:28 ID:uTLnAVho0(1) AAS
頑張ってください
92: (ワッチョイ 137c-Or7w) 2023/01/10(火)19:32 ID:IC+XgAqf0(2/2) AAS
そもそもC#のスレだからすれ違いだがw
printf("%sの番です\n", player == 1 ? "●" : "〇");
をifの前にするとか(それぞれにあるから冗長)
プレイヤーの処理もPlayerXpos()とかに出すとかすれば良いのでは?
93: (ワッチョイ b101-tb1I) 2023/01/13(金)06:38 ID:CqT5d+dn0(1) AAS
ありがとうございます
94(1): (ワッチョイ ca01-FIs7) 2023/01/15(日)19:05 ID:CnKOeOE30(1/3) AAS
Shift-JISの文字列をutr-8に簡単に変換する方法ってありますか?
やはり一度Stream(バイナリ)に変換する必要があるのでしょうか
95(1): (ワッチョイ 867b-UaDV) 2023/01/15(日)19:23 ID:gGAdUt3l0(1) AAS
>>94
streamじゃなくてbyte[]じゃないの
Encoding.GetString(Encoding.GetBytes(string))ってことだよね
何のためにそんなことするか知らんけど
96: (ワッチョイ ca01-FIs7) 2023/01/15(日)19:25 ID:CnKOeOE30(2/3) AAS
>>95
つまりstringの状態でencodingは可能なのですか?
97: (ワッチョイ ca01-FIs7) 2023/01/15(日)19:28 ID:CnKOeOE30(3/3) AAS
C#でRestAPIを投げてブラウザ側から貰ってくる文字列はShift-JISらしい
それでC#はutr-8で表記されるため変換(Encoding)が必要になるのです
98: (ワッチョイ caad-vAbj) 2023/01/15(日)19:51 ID:wUGuc0E00(1) AAS
stringはunicodeだぞ?
99: (オイコラミネオ MMe5-f6s+) 2023/01/15(日)22:26 ID:pBiKKGenM(1) AAS
unicodeは符号化方式など規格とそのコード群の名前
100(1): (ワッチョイ 954f-wtyD) 2023/01/15(日)22:56 ID:AxXMsEIz0(1) AAS
そのREST APIをどうやって呼び出してるのか知らんけど
真っ当なサーバならContent-Typeにcharset設定してて
一般的なライブラリなら文字列として読み取るときにcharset参照して適切に文字列型に変換してくれる
から特にプログラマが考えることはない
これらの前提が崩れてるなら文字列として読み取るんじゃなくてバイト配列として読み取って
System.Text.Encodingクラスを使ってバイト配列をstringに変換する必要がある
この場合変換先の符号化形式を考える必要はなくてShift_JISをstringに変換することだけ考えればいい
もしライブラリの都合でstringとして受け取ることしかできなくて
かつその時点で文字化けが出るようなら
それはもうどうしようもないので使うライブラリを変える必要がある
101: (アウアウウー Sa91-wtyD) 2023/01/15(日)23:38 ID:r5uLxMWea(1) AAS
sjis/CP932 とか、何十年前の話w
sjisのサイトも、5ch だけだろw
102: (オイコラミネオ MMe5-f6s+) 2023/01/16(月)00:18 ID:sUZCnaKRM(1) AAS
古の生き残りのサイトもsjis
chromeが文字コード判定ミスしてても今は手動で文字コードは変えられない
103: (ワッチョイ ca01-FIs7) 2023/01/16(月)01:06 ID:Iz2auSAp0(1) AAS
>>100
なるほど
助かります!
104(1): (アウアウウー Sa91-OPB1) 2023/01/17(火)01:05 ID:BTJjkb3Ra(1) AAS
手動で文字コードを変更できる、Chrome の拡張機能は無いの?
105: (スップ Sdea-dnaz) 2023/01/17(火)18:23 ID:EvOewZJzd(1) AAS
ブックマークレットのレベルで出来そう
知らんけど
106: (アウアウウー Sa91-5Koo) 2023/01/17(火)19:13 ID:reGY8TLTa(1) AAS
charsetのタグいれればええんかね
107: (アウアウウー Sa91-vAbj) 2023/01/17(火)19:17 ID:3iw8L5pXa(1) AAS
x-sjisとかの指定もあったからな
108: (アウアウウー Sa91-MQRM) 2023/01/18(水)12:59 ID:KNmhbmwea(1) AAS
>>104
たくさんあるが
109: (ワッチョイ cd35-5Koo) 2023/01/18(水)20:59 ID:5annSIeD0(1) AAS
たくさんあるのかよ
一個でいいやろ
110: (ワッチョイ 211d-+AQV) 2023/01/18(水)21:51 ID:oIAAyMph0(1) AAS
win32APiのChangeDisplaySettingsExをC#から呼び出して、
モニタのポジションを変更してるんだけど、
変更直後にScreenのBoundsから値をとっても値が変化しない・・・
アプリ再起動するとちゃんと変わってる。
ディスプレイの設定ってレジストリに保存してるから、もしかして
アプリ再起動しないとScreenクラスのBounds反映されない?
アプリ再起動せずになんとかする方法ないですかね?
111: (ワッチョイ 06bb-fEm4) 2023/01/18(水)22:07 ID:jVn9UUXQ0(1) AAS
自分でバンズ計算すりゃいいじゃない
知らんけど
112: (ワッチョイ 954f-wtyD) 2023/01/18(水)22:14 ID:/+rmiMsB0(1) AAS
Screenオブジェクトフィールドに保存してたりする?
毎回Screen.AllScreensとか.PrimaryScreenとかから取得すればどう?
ところでSystemEvents.DisplaySettingsChangedイベントは発生してる?
113(1): (ドコグロ MM4e-ha7Y) 2023/01/19(木)07:38 ID:K9HYHkiWM(1) AAS
2つのクラスを1つのクラスに合体させて使いたいんだけど、どうやるのがスマートですか?
多重継承ができたら良かったんですが…
114(1): (ササクッテロラ Sp6d-/qpm) 2023/01/19(木)09:03 ID:Hct/UdRpp(1/2) AAS
合体?
またなんで、改悪臭しかしないわ
115: (ワッチョイ 4149-kID6) 2023/01/19(木)09:25 ID:LXNiK0p/0(1) AAS
そういうのは大体気の迷いだから、落ち着いて全体から考え直せば
116: (ササクッテロラ Sp6d-/qpm) 2023/01/19(木)09:44 ID:Hct/UdRpp(2/2) AAS
むしろ機能単位で分解するのが健全な方向なのに
違う機能を似たものだから合体とかわりと誤った方向に行く人かな?
117(2): (ワッチョイ caad-vAbj) 2023/01/19(木)09:56 ID:zVWBDbvx0(1) AAS
ライオンクラスと山羊クラスと蛇クラスを一つにしたいんです
118: (ワッチョイ 0507-EebW) 2023/01/19(木)10:01 ID:yp2D21uT0(1/3) AAS
>>117
つトレイト
119(1): (ブーイモ MM2e-laSj) 2023/01/19(木)10:51 ID:Iv2veF3WM(1) AAS
>>113
コンパイル時に型チェックしたいなら既存の型をインターフェースで定義し直して呼び出し側も修正
でもこういう変更が必要な状況はほとんどないのでコンポジションで移譲するケースなんじゃないかな
>>117
トレイトでもインターフェースでも同じだよ
120: (ワッチョイ 0507-EebW) 2023/01/19(木)11:01 ID:yp2D21uT0(2/3) AAS
>>114
BindableBaseと他のクラスを両方継承したい場面はいくつかあるな
ソースコードジェネレータは中々いい
121: (ワッチョイ 0507-EebW) 2023/01/19(木)11:01 ID:yp2D21uT0(3/3) AAS
>>119
トレイトはフィールドを持てるから同じではないけど言いたいことはわかる
122: (ワッチョイ 06bb-JXbu) 2023/01/19(木)11:31 ID:kysdIh6r0(1) AAS
質問内容はクラスをまとめたいってことなので、ずれちゃう話にはなるけどさあ
(フレームワーク等を使う場面を除いて)初心者中級者のうちにクラスを継承をしようと思ったら設計段階でおかしいので、正解はどうするべきなのかを聞いた方がいいんじゃないのかな
123: (ササクッテロラ Sp6d-/qpm) 2023/01/19(木)12:04 ID:WELAMOcMp(1) AAS
クラスインスタンスを取り込めばいいのに
なんで継承にこだわる?
124: (ドコグロ MM21-ha7Y) 2023/01/19(木)12:21 ID:tEHmCOQcM(1/2) AAS
やりたいことは
いくつかのプロパティを持つデータを格納するだけのクラスAがある
クラスAにバインド用のプロパティをいくつか追加したクラスBを作って、それのリストをDataViewにバインドしたい
AとBのすべてのプロパティを書いたクラスCを作ればできるけど、なんとかして少ないコードで実現したいです
125(1): (アウアウウー Sa91-EebW) 2023/01/19(木)12:45 ID:H7hm+dDpa(1) AAS
Aをバインドできるよう書き直せばいいんじゃね
126: (オッペケ Sr6d-2lig) 2023/01/19(木)12:52 ID:8nS1/G/Mr(1) AAS
>クラスAにバインド用のプロパティをいくつか追加したクラスB
>AとBのすべてのプロパティを書いたクラスC
なんかおかしくない?
127(1): (ワッチョイ 09b3-w88e) 2023/01/19(木)16:09 ID:h7ydINbB0(1) AAS
Aを継承してバインド用のプロパティを追加したBを作って
List<B>を持つCを作ってそのList<B>をバインドすればいいんじゃないの
上下前次1-新書関写板覧索設栞歴
あと 875 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.042s