!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
■Visual Studio 2017 Community(無償の統合開発環境)等はこちら
http://www.visualstudio.com/downloads/
■コードを貼る場合はこちら
http://ideone.com/
■前スレ
C#, C♯, C#相談室 Part94
https://mevius.5ch.net/test/read.cgi/tech/1553075856/
■次スレは>>970が建てる事。
建てられない場合は他を指定する事。
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
探検
C#, C♯, C#相談室 Part96
レス数が1000を超えています。これ以上書き込みはできません。
1デフォルトの名無しさん (ワッチョイ 7633-kUv4)
2021/12/20(月) 11:03:25.88ID:sdn/+VfW02デフォルトの名無しさん (ワッチョイ 7e33-kUv4)
2021/12/20(月) 11:04:48.54ID:sdn/+VfW0 ■関連スレ
初心者の質問向けはこちら
ふらっと C#,C♯,C#(初心者用) Part153
https://mevius.5ch.net/test/read.cgi/tech/1639403601/
■過去スレ
C#, C♯, C#相談室 Part90
http://echo.2ch.net/test/read.cgi/tech/1455160063/
C#, C♯, C#相談室 Part91
http://echo.2ch.net/test/read.cgi/tech/1467142749/
C#, C♯, C#相談室 Part91 (実質Part92)
http://echo.2ch.net/test/read.cgi/tech/1467211515/
C#, C♯, C#相談室 Part92 (実質Part93)
http://echo.2ch.net/test/read.cgi/tech/1485589613/
C#, C♯, C#相談室 Part93 (実質Part94)
http://mevius.5ch.net/test/read.cgi/tech/1492818720/
C#, C♯, C#相談室 Part94 (実質Part95)
https://mevius.5ch.net/test/read.cgi/tech/1553075856/
初心者の質問向けはこちら
ふらっと C#,C♯,C#(初心者用) Part153
https://mevius.5ch.net/test/read.cgi/tech/1639403601/
■過去スレ
C#, C♯, C#相談室 Part90
http://echo.2ch.net/test/read.cgi/tech/1455160063/
C#, C♯, C#相談室 Part91
http://echo.2ch.net/test/read.cgi/tech/1467142749/
C#, C♯, C#相談室 Part91 (実質Part92)
http://echo.2ch.net/test/read.cgi/tech/1467211515/
C#, C♯, C#相談室 Part92 (実質Part93)
http://echo.2ch.net/test/read.cgi/tech/1485589613/
C#, C♯, C#相談室 Part93 (実質Part94)
http://mevius.5ch.net/test/read.cgi/tech/1492818720/
C#, C♯, C#相談室 Part94 (実質Part95)
https://mevius.5ch.net/test/read.cgi/tech/1553075856/
3デフォルトの名無しさん (ワッチョイ 7e33-kUv4)
2021/12/20(月) 11:06:37.52ID:sdn/+VfW0 とりあえず落ちてたから立てた
なんかミスってたら訂正よろ
なんかミスってたら訂正よろ
4デフォルトの名無しさん (ワッチョイ ca2c-j66Y)
2021/12/20(月) 19:23:43.25ID:iidsGNEi0 たておつ
URLは変わってないけど今はVisual Studio 2022だな
あとふらっとのテンプレにある.NETの公開ソースのURLはあってもいいかも
■.NETのソースファイルはこちら
https://referencesource.microsoft.com/
https://source.dot.net/
URLは変わってないけど今はVisual Studio 2022だな
あとふらっとのテンプレにある.NETの公開ソースのURLはあってもいいかも
■.NETのソースファイルはこちら
https://referencesource.microsoft.com/
https://source.dot.net/
5デフォルトの名無しさん (ワッチョイ 664b-idB0)
2021/12/21(火) 10:28:11.88ID:EWzKnmTS0 .NET5 Windows Form のユーザーコントロールで、Panelの様にデザイナで
他のコントロールを貼り付けられるようにするにはどのようにすれば良いので
しょうか。
他のコントロールを貼り付けられるようにするにはどのようにすれば良いので
しょうか。
6デフォルトの名無しさん (ブーイモ MMe6-YeYq)
2021/12/21(火) 11:00:03.59ID:noIk9+eaM7デフォルトの名無しさん (ワッチョイ 664b-idB0)
2021/12/21(火) 11:11:13.08ID:EWzKnmTS08デフォルトの名無しさん (ブーイモ MMe6-YeYq)
2021/12/21(火) 11:19:23.77ID:noIk9+eaM9デフォルトの名無しさん (ワッチョイ 664b-idB0)
2021/12/21(火) 11:45:14.37ID:EWzKnmTS010デフォルトの名無しさん (ブーイモ MMe6-YeYq)
2021/12/21(火) 11:55:13.78ID:noIk9+eaM 何がしたいんだ
11デフォルトの名無しさん (ワッチョイ 0f2f-kUv4)
2021/12/22(水) 01:03:21.12ID:grfkhfCP0 >>5
Panelを継承してカスタムコントロールつくれば?
Panelを継承してカスタムコントロールつくれば?
12デフォルトの名無しさん (ワッチョイ 5fcc-dxru)
2021/12/24(金) 19:07:23.85ID:kDNbEesr0 1乙
13デフォルトの名無しさん (ワッチョイ e95f-4nvB)
2022/01/07(金) 01:04:58.15ID:wvMkhd+/0 WPFやWinUIなら出来るけど
14デフォルトの名無しさん (ワッチョイ 9901-NuCY)
2022/01/07(金) 19:01:19.47ID:6zNCaZbD0 C++のvectorは、値型だと突っこめる奴がいないレベルの低さに涙が出る
15デフォルトの名無しさん (ワッチョイ ed18-TVXy)
2022/01/07(金) 19:34:32.36ID:qow9t6Ky0 恥ずかしい誤爆だな。
初心者のくせにマウンティングしようとするからだぞ。
初心者のくせにマウンティングしようとするからだぞ。
16デフォルトの名無しさん (ワッチョイ 2db3-qu6v)
2022/01/19(水) 13:00:14.97ID:sR6sbC/m0 .netframework4.7+WinFormでフォームのActiveControlがTextBoxで
そのコントロールのValidatingイベントが実装されていたらValidatingイベントを呼び出す
ってのをやりたいんですがいい方法はないですか?
if ((this.ActiveControl is TextBox box) && !(box.Validating is null))
{
var args = new CancelEventArgs(false);
box.Validating(args);
}
こんな感じに書ければいいんですが「Validatingは+=、-=の左辺のみ使用できます」とエラーになってしまいます
リフレクション使って無理矢理OnValidatingを呼び出すしかないんですかね?
そのコントロールのValidatingイベントが実装されていたらValidatingイベントを呼び出す
ってのをやりたいんですがいい方法はないですか?
if ((this.ActiveControl is TextBox box) && !(box.Validating is null))
{
var args = new CancelEventArgs(false);
box.Validating(args);
}
こんな感じに書ければいいんですが「Validatingは+=、-=の左辺のみ使用できます」とエラーになってしまいます
リフレクション使って無理矢理OnValidatingを呼び出すしかないんですかね?
17デフォルトの名無しさん (アウアウウー Sa05-1yOP)
2022/01/19(水) 13:42:26.63ID:oO7gN1wAa Textbox派生クラス作ってOnValidating()呼び出したら?
18デフォルトの名無しさん (ワッチョイ cd2f-Nrkm)
2022/01/19(水) 18:56:18.18ID:DmIv8IzU0 イベントの正体はマルチキャストデリゲートのはずだから
MulticastDelegate.GetInvocationList でいけんじゃね
つかコントロール参照とれてるなら普通にInvokeするだけで良い気がしてきた
MulticastDelegate.GetInvocationList でいけんじゃね
つかコントロール参照とれてるなら普通にInvokeするだけで良い気がしてきた
19デフォルトの名無しさん (ワッチョイ a9d2-gAe+)
2022/01/19(水) 22:31:55.60ID:hgfWYzZO0 ところがどっこいeventのマルチキャストデリゲートはprivate扱いなので外から触れないのだ
20デフォルトの名無しさん (ワッチョイ 25ad-gbad)
2022/01/20(木) 06:40:21.62ID:yvia8PDa0 デリケートな問題やね
21デフォルトの名無しさん (ブーイモ MMe5-+s31)
2022/01/20(木) 07:45:00.86ID:UFDwubQ6M ハートはもう気ままにreflection♪
22デフォルトの名無しさん (ワッチョイ ae33-Aojf)
2022/01/20(木) 19:49:35.36ID:4okD0pz10 デリケートゾーンのかゆみにはタイガーバーム♪
23デフォルトの名無しさん (ワッチョイ aeda-sFxD)
2022/01/20(木) 20:31:44.75ID:EmGHfkcx0 キンカンと薄荷油お勧め
24デフォルトの名無しさん (ブーイモ MM66-+s31)
2022/01/21(金) 07:25:25.81ID:Yyf/9wZ7M private をc# で突破するのは
system.reflectionをggrたまえ
system.reflectionをggrたまえ
25デフォルトの名無しさん (ワッチョイ c289-jdZh)
2022/01/21(金) 07:44:34.97ID:cI8Ya7xA0 それってリリースビルドでも大丈夫なん?
26デフォルトの名無しさん (ブーイモ MM66-+s31)
2022/01/21(金) 07:48:43.10ID:Yyf/9wZ7M もちろん
DataGridのプライベートメンバーを
操作するサンプルとかが転がっている
DataGridのプライベートメンバーを
操作するサンプルとかが転がっている
27デフォルトの名無しさん (アウアウウー Sa05-1yOP)
2022/01/21(金) 08:19:27.27ID:Gz0vCIiGa 正攻法は派生。次点でreflectionでprotected
それらで解決できる問題なのにreflectionでprivate触るのはただのバカだよ
privateは基本的に保証されないものだから突然使えなくなっても文句言えない
それらで解決できる問題なのにreflectionでprivate触るのはただのバカだよ
privateは基本的に保証されないものだから突然使えなくなっても文句言えない
28デフォルトの名無しさん (ブーイモ MM66-+s31)
2022/01/21(金) 11:22:05.14ID:Yyf/9wZ7M ネタにマジレスカッコ悪
29デフォルトの名無しさん (ドコグロ MM96-eOJp)
2022/01/21(金) 13:23:55.95ID:PpWisB0YM マ板ならともかくム板の相談スレで悪質なネタ書くような奴にはなりたくないな
30デフォルトの名無しさん (アウアウウー Sa05-1yOP)
2022/01/21(金) 13:58:52.25ID:Gz0vCIiGa どう見てもネタじゃないだろ。忘れてくださいってだけだよ
本気でネタだと思って書いてたなら単なる基地外。でもまあ5chには多いから本気でそう思ってたのかもしれないがw
本気でネタだと思って書いてたなら単なる基地外。でもまあ5chには多いから本気でそう思ってたのかもしれないがw
31デフォルトの名無しさん (ワッチョイ f901-+s31)
2022/01/22(土) 13:53:51.52ID:60KCKgbr0 どう考えても20からの流れはネタだろぅ
なんか悪いもんでも喰ったのか?
トウダイツブは毒腺除去せずに売っている場合があるから気をつけろよ。
なんか悪いもんでも喰ったのか?
トウダイツブは毒腺除去せずに売っている場合があるから気をつけろよ。
32デフォルトの名無しさん (ワッチョイ cd2f-sNUe)
2022/01/22(土) 15:39:53.29ID:rpi4epE/033デフォルトの名無しさん (ワッチョイ c701-X3yx)
2022/01/22(土) 19:54:59.23ID:60KCKgbr0 実装可否ではなく俺の美学に反する奴は全て悪。
って主張そのものがネタだと思っていたんだがマジだったのか。
そういう主張はnoteかquiitaにでも書きたまえ
って主張そのものがネタだと思っていたんだがマジだったのか。
そういう主張はnoteかquiitaにでも書きたまえ
34デフォルトの名無しさん (ワッチョイ 7f63-WKNR)
2022/01/22(土) 23:08:24.28ID:OPsihse90 ガイジ多すぎ
35デフォルトの名無しさん (テテンテンテン MM8f-ZwRN)
2022/01/24(月) 12:17:52.32ID:8sRMh2mLM いまいち何がしたいのか分からんが、Validatingの処理を別メソッドでやるようにしてEnterイベントでそのイベント実行すればいいんでないの
継承コントロール作れるなら継承した方がいいけど
継承コントロール作れるなら継承した方がいいけど
36デフォルトの名無しさん (ブーイモ MM8f-X3yx)
2022/01/24(月) 14:24:45.58ID:VRumLvNTM よくわからないが最近のC#は
private メンバーを派生クラスから
アクセス出来るようになったのかね?
19にはprivateと明記されているが
別の世界線の住人かな?w
private メンバーを派生クラスから
アクセス出来るようになったのかね?
19にはprivateと明記されているが
別の世界線の住人かな?w
37デフォルトの名無しさん (アウアウウー Sa4b-DZ2P)
2022/01/24(月) 14:37:40.44ID:zeqExr0Ka privateに格納されてるイベントを呼び出す処理が実装されてるんだよ
それがon〜系の関数でprotectedもしくはpublicになってる
今回はprotectedだから派生してやればそれを呼び出せるということ
それがon〜系の関数でprotectedもしくはpublicになってる
今回はprotectedだから派生してやればそれを呼び出せるということ
38デフォルトの名無しさん (ブーイモ MM8f-X3yx)
2022/01/24(月) 14:51:41.28ID:VRumLvNTM それは、19の時点で公開されている情報では無いな
只の後出しじゃんw
只の後出しじゃんw
39デフォルトの名無しさん (アウアウウー Sa4b-DZ2P)
2022/01/24(月) 14:55:19.40ID:zeqExr0Ka >>16-17 を見てみろ。質問主もon〜を把握してるとこから始まってるんだよ・・・
40デフォルトの名無しさん (ブーイモ MM8f-X3yx)
2022/01/24(月) 15:08:11.62ID:VRumLvNTM ならミスリードは19やね
41デフォルトの名無しさん (ワッチョイ 7fda-Wd2O)
2022/01/25(火) 06:41:35.44ID:iMjZ0/CX0 19で話の流れが変わった事に対して
別の回答を出した24に対して
いきりマウントした27がガイジという結論やな
別の回答を出した24に対して
いきりマウントした27がガイジという結論やな
42デフォルトの名無しさん (ドコグロ MM4f-x+w6)
2022/01/25(火) 09:43:08.82ID:9Tw1d9u5M43デフォルトの名無しさん (ブーイモ MMcf-X3yx)
2022/01/25(火) 10:48:13.94ID:f2t7Ea9PM 基地はNG推奨
44デフォルトの名無しさん (アウアウウー Sa9b-PN0l)
2022/02/05(土) 16:47:04.66ID:tJRnKD74a 構造体の配列のメモリ確保で
データを入れる事は
できますか
A[] ={{1,2,2},{3,4,2},{1,5,6}}
みたいなノリの
お願いいたします
データを入れる事は
できますか
A[] ={{1,2,2},{3,4,2},{1,5,6}}
みたいなノリの
お願いいたします
45デフォルトの名無しさん (アウアウウー Sa9b-PN0l)
2022/02/05(土) 16:51:55.17ID:gB/WrKWla それと多重配列で
初期値データ入れたり
初期値データ入れたり
46デフォルトの名無しさん (アウアウウー Sa9b-icCT)
2022/02/05(土) 17:50:07.67ID:B70fTfWxa A = new int[][] { new int[] { 1, 2, 2 }, new int[] { 3, 4, 2 }, new int[] { 1, 5, 6 } };
47デフォルトの名無しさん (アウアウウー Sa9b-PN0l)
2022/02/06(日) 06:30:33.16ID:SLNZfJCCa それと多重配列で
初期値データ入れたり
初期値データ入れたり
48デフォルトの名無しさん (アウアウウー Sa9b-icCT)
2022/02/06(日) 11:36:56.19ID:PShjp8Rsa 多重配列がどんなか知らないけどできるだろ。ぐぐれ
49デフォルトの名無しさん (ワッチョイ ff33-WCtq)
2022/02/06(日) 15:12:56.93ID:OIlcPbSe0 多重配列とか勝手に用語作って質問するのは良くないよ。
50デフォルトの名無しさん (ワッチョイ 9fad-9RcZ)
2022/02/06(日) 15:21:21.57ID:+LnLbHsI0 コマンドプロンプトで起動するソフトで
コマンドプロンプトだと途中処理取得できるけど
C#上でリアルタイムで途中処理表示させるのって
スレッドを非同期にするやりかたとか考えた方がいいの?
コマンドプロンプトだと途中処理取得できるけど
C#上でリアルタイムで途中処理表示させるのって
スレッドを非同期にするやりかたとか考えた方がいいの?
51デフォルトの名無しさん (アウアウウー Sa9b-icCT)
2022/02/06(日) 15:24:24.54ID:PShjp8Rsa プロセスの標準出力を読むだけ
C#側がシングルスレッドでもリアルタイムに取得して表示できる
C#側がシングルスレッドでもリアルタイムに取得して表示できる
52デフォルトの名無しさん (ワッチョイ 9f89-yHYo)
2022/02/06(日) 17:31:20.88ID:TTEcICQ7053デフォルトの名無しさん (ワッチョイ 9f89-yHYo)
2022/02/06(日) 17:34:23.14ID:TTEcICQ70 >>50
非同期にしなくても表示出来るが非同期の方がスマート
非同期にしなくても表示出来るが非同期の方がスマート
54デフォルトの名無しさん (ワッチョイ b702-zD41)
2022/02/06(日) 20:51:37.74ID:St9v7rC+0 C#で多次元配列とか速度も遅いし普通は使わん
55デフォルトの名無しさん (ワッチョイ ffda-u8OQ)
2022/02/07(月) 00:06:03.73ID:tbXg2wz+0 せやな
56デフォルトの名無しさん (ブーイモ MM8f-uPsg)
2022/02/07(月) 08:00:35.82ID:2lq/vobIM コンソールを開きたまえ
57デフォルトの名無しさん (ワッチョイ 175f-sf5L)
2022/02/07(月) 15:46:58.65ID:zWOfGBGY0 C#を独学で勉強したいんですが何から手をつけたら良いでしょうか
言語はシェルやvbaはできます、Pythonもちょっとだけ
言語はシェルやvbaはできます、Pythonもちょっとだけ
58デフォルトの名無しさん (アウアウウー Sa9b-icCT)
2022/02/07(月) 15:56:11.87ID:ZbbRMlPga なんでc#やりたくなったのか思い出してそのやりたかったことをどうやったらできるかぐぐってやればいい
とりあえずvsインストールしてさっさと始めろ
考えたり人に聞くよりもまずは手動かせ
とりあえずvsインストールしてさっさと始めろ
考えたり人に聞くよりもまずは手動かせ
59デフォルトの名無しさん (ワッチョイ 175f-sf5L)
2022/02/07(月) 16:05:15.62ID:zWOfGBGY0 C#ってvisualstudioのインストールだけで出来るの?
PythonみたいにC#自体はインストール不要なん?
PythonみたいにC#自体はインストール不要なん?
60デフォルトの名無しさん (アウアウウー Sa9b-icCT)
2022/02/07(月) 16:11:45.01ID:ZbbRMlPga vsのインストーラー起動したらc#をインストールするかどうかチェックするところがある
とりあえずやってみりゃ分かる
とりあえずやってみりゃ分かる
61デフォルトの名無しさん (ワッチョイ 175f-sf5L)
2022/02/07(月) 16:17:47.79ID:zWOfGBGY0 なるほど、ありがとうございます
ちなみにやりたいと思った理由はなんとなくの思いつきです
ちなみにやりたいと思った理由はなんとなくの思いつきです
62デフォルトの名無しさん (ワッチョイ 9fad-9RcZ)
2022/02/07(月) 17:33:25.04ID:CWmTnMKY0 最初に画面作る→コード作る
勝手にコード作るから書き換えるときリファクタリングでちゃんとなおさないと
ボタンとの連携が外れたりしてだるい
勝手にコード作るから書き換えるときリファクタリングでちゃんとなおさないと
ボタンとの連携が外れたりしてだるい
63デフォルトの名無しさん (ワッチョイ 1736-Jms/)
2022/02/11(金) 20:18:35.80ID:Wnuvjl9G0 C#EntityFrameworkでテーブルの有無をチェックする方法ってありますか?
今はDbSet<Entity>のFirst()で例外が出たら、で仮チェックしてます
SQL文で書けば良いと言われればそれまでですが、それとは別にLINQや
DbSet<Entity>.Where(x => x.~ = Id);
みたいな方法でチェックする事はできるのでしょうか?
今はDbSet<Entity>のFirst()で例外が出たら、で仮チェックしてます
SQL文で書けば良いと言われればそれまでですが、それとは別にLINQや
DbSet<Entity>.Where(x => x.~ = Id);
みたいな方法でチェックする事はできるのでしょうか?
64デフォルトの名無しさん (ワッチョイ ffbb-Ism9)
2022/02/11(金) 20:31:49.53ID:kVpyHF8c0 わいならSELECT文書くな
65デフォルトの名無しさん (ワッチョイ 37e6-n5CG)
2022/02/11(金) 20:38:37.22ID:dtTIM78z0 Dictionary<string, Func<T, TRESULT>>
みたいな事をやりたいのですが
どう書くのが正解でしょうか?
みたいな事をやりたいのですが
どう書くのが正解でしょうか?
66デフォルトの名無しさん (アウアウウー Sa9b-icCT)
2022/02/11(金) 20:57:51.73ID:vdb8lbDWa 適当な関数宣言をもったinterface作って、それ派生のclassで実装して
dictionary<string, interfacename>?
dictionary<string, interfacename>?
67デフォルトの名無しさん (ワッチョイ 1736-Jms/)
2022/02/11(金) 21:24:52.36ID:Wnuvjl9G0 適当だが書き方の話なら
どこかに書く
bool func(int n) { if (n <= 3) { return true; } else { return false; } }
var a = new Dictionary<string, Func<int, bool>>();
a.Add("test2", func);
bool b2_t1 = a["test2"](1);
bool b2_t3 = a["test2"](3);
bool b2_f5 = a["test2"](5);
ラムダ
a.Add("test1", x => { if (x == 1) { return true; } else { return false; } });
bool b_t1 = a["test1"](1);
bool b_f3 = a["test1"](3);
bool b_f5 = a["test1"](5);
Funcを加工するなら>>66のようにinterface、他オブジェクト型とか識別子渡して型チェックとか?
どこかに書く
bool func(int n) { if (n <= 3) { return true; } else { return false; } }
var a = new Dictionary<string, Func<int, bool>>();
a.Add("test2", func);
bool b2_t1 = a["test2"](1);
bool b2_t3 = a["test2"](3);
bool b2_f5 = a["test2"](5);
ラムダ
a.Add("test1", x => { if (x == 1) { return true; } else { return false; } });
bool b_t1 = a["test1"](1);
bool b_f3 = a["test1"](3);
bool b_f5 = a["test1"](5);
Funcを加工するなら>>66のようにinterface、他オブジェクト型とか識別子渡して型チェックとか?
68デフォルトの名無しさん (ワッチョイ 1736-Jms/)
2022/02/11(金) 21:26:42.58ID:Wnuvjl9G069デフォルトの名無しさん (ワッチョイ 37e6-n5CG)
2022/02/11(金) 22:10:25.35ID:dtTIM78z070デフォルトの名無しさん (ワッチョイ 372f-aqmw)
2022/02/11(金) 22:17:26.15ID:w2aWSXHv0 そもそもなぜテーブルがないとかいう状態になるのか
その設計を見直したほうが良いんじゃね
その設計を見直したほうが良いんじゃね
71デフォルトの名無しさん (ワッチョイ ffbb-Ism9)
2022/02/11(金) 22:20:58.05ID:kVpyHF8c0 あれだろ、ワークテーブルがもし存在したら消したりとか
年度でテーブルを分けたいとかわけわからんこと言われたりとか
そういう用途だろ
年度でテーブルを分けたいとかわけわからんこと言われたりとか
そういう用途だろ
72デフォルトの名無しさん (アウアウウー Sa9b-icCT)
2022/02/11(金) 22:26:34.03ID:vdb8lbDWa >>69
実際どんなのが欲しいのか知らないけどこんな感じでいいんじゃないの?
interface aaa
{
TRESULT bbb<T, TRESULT>(T n);
}
class AAA : aaa
{
public TRESULT bbb<T, TRESULT>(T n)
{
throw new NotImplementedException();
}
}
実際どんなのが欲しいのか知らないけどこんな感じでいいんじゃないの?
interface aaa
{
TRESULT bbb<T, TRESULT>(T n);
}
class AAA : aaa
{
public TRESULT bbb<T, TRESULT>(T n)
{
throw new NotImplementedException();
}
}
73デフォルトの名無しさん (ワッチョイ 17d2-EiVI)
2022/02/11(金) 22:30:29.44ID:Wu/zW80b074デフォルトの名無しさん (ワッチョイ 372f-aqmw)
2022/02/11(金) 22:34:33.50ID:w2aWSXHv0 Dictionary<string, Func<object, object>>ではだめなのか
75デフォルトの名無しさん (ワッチョイ 5289-5DHJ)
2022/02/12(土) 08:20:21.64ID:X2Srr7cu0 >>64
それが1番分かりやすくて単純だ
それが1番分かりやすくて単純だ
76デフォルトの名無しさん (ワッチョイ 9354-WOoO)
2022/02/12(土) 17:09:02.11ID:HCWO3i2I0 .net 6で、DataGridViewにDataSourceをバインドして表示する時、
データ量が多い(約24万レコード)と一時的に応答なしになります。
※データ取得は別スレッドで行っています。
サブフォームで表示しており、処理中はメインフォームも応答なしになりますが、
メインフォームとサブフォームを別スレッドにするみたいなのは無理ですか?
データ量が多い(約24万レコード)と一時的に応答なしになります。
※データ取得は別スレッドで行っています。
サブフォームで表示しており、処理中はメインフォームも応答なしになりますが、
メインフォームとサブフォームを別スレッドにするみたいなのは無理ですか?
77デフォルトの名無しさん (アウアウウー Sac3-9hE7)
2022/02/12(土) 17:25:09.00ID:XcSi1DQ3a VirtualMode=true
にする。その他もろもろ処理加える必要あるからぐぐれ
にする。その他もろもろ処理加える必要あるからぐぐれ
78デフォルトの名無しさん (ワッチョイ 5289-5DHJ)
2022/02/12(土) 18:34:31.92ID:X2Srr7cu079デフォルトの名無しさん (アウアウウー Sac3-B80Q)
2022/02/12(土) 21:15:10.31ID:wWgyF7+Aa 窓を閉じたときに
MethodInvokerの中の処理がまだ実行中で例外出すんだけど
停止させるか完了するまでフォームの廃棄を待つ方法は無いの?
MethodInvokerの中の処理がまだ実行中で例外出すんだけど
停止させるか完了するまでフォームの廃棄を待つ方法は無いの?
80デフォルトの名無しさん (ワッチョイ 122c-ShCo)
2022/02/12(土) 21:27:27.68ID:C+pjCsCl0 一旦FormClosingでキャンセルしたあと完了してから改めてCloseする
81デフォルトの名無しさん (ワッチョイ 3302-rCQD)
2022/02/13(日) 12:57:34.90ID:5Mv4IyiB082デフォルトの名無しさん (ワッチョイ b7d2-fdHv)
2022/02/13(日) 14:18:56.36ID:3OIdnfKh0 >>81
嘘教えんな
ジェネリクス定義側はFunc<T, TResult>みたいにコンパイルに型決まってないだろうが
Func<object, object> とかいうクソみたいな型を使わせようとするな
嘘教えんな
ジェネリクス定義側はFunc<T, TResult>みたいにコンパイルに型決まってないだろうが
Func<object, object> とかいうクソみたいな型を使わせようとするな
83デフォルトの名無しさん (ワッチョイ 122c-ShCo)
2022/02/13(日) 14:35:33.11ID:TxpWrVyK0 dic.Add("a", (int a) => a * 2);
dic.Add("b", (string b) => b + b);
をやりたいって質問であるという想定なんでしょ?
dic.Add("b", (string b) => b + b);
をやりたいって質問であるという想定なんでしょ?
84デフォルトの名無しさん (ワッチョイ 3302-rCQD)
2022/02/13(日) 14:40:02.85ID:5Mv4IyiB0 >>82
なら出来るやり方言ってみろよ
なら出来るやり方言ってみろよ
85デフォルトの名無しさん (ワッチョイ b7d2-fdHv)
2022/02/13(日) 14:40:38.46ID:3OIdnfKh0 いろんな型のFuncを受け付けるようにするならそれ用のclassを作ってしまった方が手っ取り早い
public class MyDictinary<T, TResult> : Dictinary<string, Func<T, TResult>{...}
Funcをなんでも受け付けるようにするなら
public class MyDictinary<TDelegate> : Dictinary<string, Func<T, TResult> where TDelegate: Delegate {...}
どうしてもinterfaceにしなくちゃいけないなら
public interface IMyDictinary<T, TResult> : IDictinary<string, Func<T, TResult>{...}
ごちゃ混ぜのFuncを受け付けるようにするとFunc呼び出し時に大変な思いをするだけだからやらん方がいい
public class MyDictinary<T, TResult> : Dictinary<string, Func<T, TResult>{...}
Funcをなんでも受け付けるようにするなら
public class MyDictinary<TDelegate> : Dictinary<string, Func<T, TResult> where TDelegate: Delegate {...}
どうしてもinterfaceにしなくちゃいけないなら
public interface IMyDictinary<T, TResult> : IDictinary<string, Func<T, TResult>{...}
ごちゃ混ぜのFuncを受け付けるようにするとFunc呼び出し時に大変な思いをするだけだからやらん方がいい
86デフォルトの名無しさん (テテンテンテン MMde-gtE8)
2022/02/13(日) 14:46:43.73ID:ifSJDHUhM ?
>>69はDictionaryいっこにいろんな引数型/戻り値のFuncを入れたいと言ってるみたいだから>>81しかないと思うんだけど・・・
引数型/戻り値型毎に別々のDictionaryにするだけなら、たとえば
var dic1 = new Dictionary<string,Func<int, string>>();
var dic2 = new Dictionary<string,Func<int, int>>();
var dic3 = new Dictionary<string,Func<string, string>>();
みたいにT/TResultの組み合わせに応じて別変数にするだけで解決するような・・?
なんでわざわざ>>85みたいなclassなりinterfaceなりを作る必要があるのかわからない
>>69はDictionaryいっこにいろんな引数型/戻り値のFuncを入れたいと言ってるみたいだから>>81しかないと思うんだけど・・・
引数型/戻り値型毎に別々のDictionaryにするだけなら、たとえば
var dic1 = new Dictionary<string,Func<int, string>>();
var dic2 = new Dictionary<string,Func<int, int>>();
var dic3 = new Dictionary<string,Func<string, string>>();
みたいにT/TResultの組み合わせに応じて別変数にするだけで解決するような・・?
なんでわざわざ>>85みたいなclassなりinterfaceなりを作る必要があるのかわからない
87デフォルトの名無しさん (ワッチョイ 3302-rCQD)
2022/02/13(日) 14:48:17.51ID:5Mv4IyiB088デフォルトの名無しさん (ワッチョイ b7d2-fdHv)
2022/02/13(日) 14:54:01.04ID:3OIdnfKh0 マジで1つのインスタンスに別の型のdelegateが入ればなんでもいい前提なん?
取り出して呼び出すときに引数/返り値型調べないといけないが
取り出して呼び出すときに引数/返り値型調べないといけないが
89デフォルトの名無しさん (スップ Sd32-WC3G)
2022/02/13(日) 14:56:56.20ID:+oV/29aBd DynamicInvoke使えばいい
90デフォルトの名無しさん (テテンテンテン MMde-gtE8)
2022/02/13(日) 15:19:09.62ID:ifSJDHUhM ていうか>>85ってコンパイル通る?
「>」ひとつ付け忘れとかDictionaryのミススペルはともかくとして、
2つめの書き方でT/TResultの型はどこから決まるんだろう?
それとも
public class MyDictinary<TDelegate> : Dictionary<string, TDelegate> where TDelegate: Delegate { }
を意図してるのだろうか
Func<object, object>をクソと言ってるからには引数1つの制約すらつかなくなるこんなクソ以下の書き方を意図してるとも思えないけど・・・
「>」ひとつ付け忘れとかDictionaryのミススペルはともかくとして、
2つめの書き方でT/TResultの型はどこから決まるんだろう?
それとも
public class MyDictinary<TDelegate> : Dictionary<string, TDelegate> where TDelegate: Delegate { }
を意図してるのだろうか
Func<object, object>をクソと言ってるからには引数1つの制約すらつかなくなるこんなクソ以下の書き方を意図してるとも思えないけど・・・
91デフォルトの名無しさん (ワッチョイ 3302-rCQD)
2022/02/13(日) 15:28:36.94ID:5Mv4IyiB0 そもそも、そのDictionary使って何したいかまでは知らんから
それを言えば、もう少しマシな案なりが出てくるとは思うが
それを言えば、もう少しマシな案なりが出てくるとは思うが
92デフォルトの名無しさん (ワッチョイ b7d2-fdHv)
2022/02/13(日) 15:30:03.46ID:3OIdnfKh0 >>90
携帯からやったから酷いミスしてるのは悪かった
T/TResultの型を決めないならって意図で書いてる
当然Func<object, object>と同じで使うときに酷い目に遭うが
Func<object, object> だと引数型がobjectを受け付けないといけない縛りができるから
「いろんな関数を受け付ける」という要件を満たせない
Delegateだとその縛りはなくなる
ラムダを受け付けられなくなるが
携帯からやったから酷いミスしてるのは悪かった
T/TResultの型を決めないならって意図で書いてる
当然Func<object, object>と同じで使うときに酷い目に遭うが
Func<object, object> だと引数型がobjectを受け付けないといけない縛りができるから
「いろんな関数を受け付ける」という要件を満たせない
Delegateだとその縛りはなくなる
ラムダを受け付けられなくなるが
93デフォルトの名無しさん (ワッチョイ d201-b83C)
2022/02/13(日) 15:34:09.27ID:Igq9caCG0 質問者は
1つのDictionaryの中に異なる型を混在させたいという話をしてるのか
1つのDictionaryの中は同じ型のみ入るが、型が異なる複数のDictionaryをジェネリックで統一して扱いたいという話をしてるのか
前者ならジェネリックを使うケースではなさそう
1つのDictionaryの中に異なる型を混在させたいという話をしてるのか
1つのDictionaryの中は同じ型のみ入るが、型が異なる複数のDictionaryをジェネリックで統一して扱いたいという話をしてるのか
前者ならジェネリックを使うケースではなさそう
94デフォルトの名無しさん (ワッチョイ 3302-rCQD)
2022/02/13(日) 16:07:38.09ID:5Mv4IyiB0 単純なインターフェース使う例だとこんなもんかな
受け取る結果の型が決まってるなら、dynamic使わんで済むけど
public interface IJob
{
dynamic Run();
}
public class SomeJob<T1, T2> : IJob
{
public T1 Param1 {get;}
public T2 Param2 {get;}
public SomeJob(T1 param1, T2 param2)
{
Param1 = param1;
Param2 = param2;
}
public dynamic Run() => (dynamic)Param1 + (dynamic)Param2;
}
public static void Main()
{
var dic = new Dictionary<string, IJob>()
{
{"a", new SomeJob<int, double>(2, 3.3) },
{"b", new SomeJob<float, double>(5.5f, 16.612340) },
};
Console.WriteLine(dic["a"].Run());
Console.WriteLine(dic["b"].Run());
}
受け取る結果の型が決まってるなら、dynamic使わんで済むけど
public interface IJob
{
dynamic Run();
}
public class SomeJob<T1, T2> : IJob
{
public T1 Param1 {get;}
public T2 Param2 {get;}
public SomeJob(T1 param1, T2 param2)
{
Param1 = param1;
Param2 = param2;
}
public dynamic Run() => (dynamic)Param1 + (dynamic)Param2;
}
public static void Main()
{
var dic = new Dictionary<string, IJob>()
{
{"a", new SomeJob<int, double>(2, 3.3) },
{"b", new SomeJob<float, double>(5.5f, 16.612340) },
};
Console.WriteLine(dic["a"].Run());
Console.WriteLine(dic["b"].Run());
}
95デフォルトの名無しさん (ワッチョイ 3302-rCQD)
2022/02/13(日) 16:11:15.84ID:5Mv4IyiB0 SomeJobをジェネリックにしたけど、別にIJobを実装したクラス個別に作っても構わない
96デフォルトの名無しさん (ブーイモ MM63-WC3G)
2022/02/13(日) 17:02:55.32ID:7+Po28QvM わざわざinterfaceを定義する意味がわからん
たぶん>>94はdynamic型にキャストしたデリゲートを直接呼び出せることを知らないんだろう
たぶん>>94はdynamic型にキャストしたデリゲートを直接呼び出せることを知らないんだろう
97デフォルトの名無しさん (ワッチョイ 3302-rCQD)
2022/02/13(日) 17:24:19.17ID:5Mv4IyiB0 さすがにそれは判るわw
>>69でinterfaceが判らんって書いてるからサンプルで出しただけ
>>69でinterfaceが判らんって書いてるからサンプルで出しただけ
98デフォルトの名無しさん (ワッチョイ 632f-TxqZ)
2022/02/13(日) 17:47:23.01ID:DvSkIP620 別にインターフェイスを使いたいってわけじゃないだろ
var dic = new Dictionary<string, Delegate>();
Func<int, int> f1 = (i => i + 1);
Func<string, string> f2 = (s => s + "さん");
dic.Add("1", f1);
dic.Add("2", f2);
Console.WriteLine(dic["1"].DynamicInvoke(2));
Console.WriteLine(dic["2"].DynamicInvoke("名無し"));
これでいいんじゃないか
var dic = new Dictionary<string, Delegate>();
Func<int, int> f1 = (i => i + 1);
Func<string, string> f2 = (s => s + "さん");
dic.Add("1", f1);
dic.Add("2", f2);
Console.WriteLine(dic["1"].DynamicInvoke(2));
Console.WriteLine(dic["2"].DynamicInvoke("名無し"));
これでいいんじゃないか
99デフォルトの名無しさん (ワッチョイ 96bb-neei)
2022/02/13(日) 19:33:32.60ID:gSu1aBn10100デフォルトの名無しさん (ワッチョイ 632f-TxqZ)
2022/02/13(日) 19:55:15.91ID:DvSkIP620101デフォルトの名無しさん (ワッチョイ 126a-iSvi)
2022/02/13(日) 20:48:10.88ID:7zxfmdEw0 本当にやりたいことを突き詰めるとそんな面倒なことをしなくてもよい解決方法があったりするのはよくある事よな
今回の件でも当てはまるかどうかは知らんけど
今回の件でも当てはまるかどうかは知らんけど
102デフォルトの名無しさん (ワッチョイ 92ad-Z1WE)
2022/02/15(火) 12:56:44.30ID:XMXX+kQj0 例えばFFMPEGをC#で起動させてるときに
エンコード処理みたいな定期的に値が返ってくるやつって
別スレッドでFFMPEGを走らせて
本スレッドではテキストボックスあたりに出力するようにしたいんだけど
これってFFMPEGの処理が終わるまでメインスレッドはwaitしないとダメってことですよね?
単独スレッドで終了した結果は表示できるんですけど
エンコード処理みたいな定期的に値が返ってくるやつって
別スレッドでFFMPEGを走らせて
本スレッドではテキストボックスあたりに出力するようにしたいんだけど
これってFFMPEGの処理が終わるまでメインスレッドはwaitしないとダメってことですよね?
単独スレッドで終了した結果は表示できるんですけど
103デフォルトの名無しさん (アウアウウー Sac3-9hE7)
2022/02/15(火) 13:01:30.90ID:XQ5fPZCEa そんなことはない
別スレッドで読みだした値をメインスレッドに送って、メインスレッドでその値を表示すればいい
別スレッドからUIに表示しようとしたらエラーになる
別スレッドで読みだした値をメインスレッドに送って、メインスレッドでその値を表示すればいい
別スレッドからUIに表示しようとしたらエラーになる
104デフォルトの名無しさん (ワッチョイ 12e4-EYbL)
2022/02/15(火) 17:00:40.59ID:/St4XHrW0 >>102
本スレッドのTextBox.TextにInvoke使って書き込むんだよ
本スレッドのTextBox.TextにInvoke使って書き込むんだよ
105デフォルトの名無しさん (スプッッ Sd52-fdHv)
2022/02/15(火) 19:16:59.08ID:jLK4fSzed たぶんGUIアプリ作ってるんだろうけど
GUIのデータはメインスレッドしか書き換えちゃダメなルールがある
TextBox.Invokeでメインスレッドに自分のデータ変えてくれってお願いするか、
WPFのBindingならメインスレッドがデータ持ってないからデータ取りに来いってできたりする
GUIのデータはメインスレッドしか書き換えちゃダメなルールがある
TextBox.Invokeでメインスレッドに自分のデータ変えてくれってお願いするか、
WPFのBindingならメインスレッドがデータ持ってないからデータ取りに来いってできたりする
106デフォルトの名無しさん (ワッチョイ 5289-CJof)
2022/02/15(火) 19:24:23.63ID:IqKJXua+0 今のc#はスレッドを安易に使えるがスレッドには深い闇がある。
107名無し募集中。。。 (ワッチョイ ffad-aF3f)
2022/02/20(日) 04:59:16.93ID:gLgXgTw20 c#ってvisual studio でテストする時って
アプリの前回値みたいの記憶できないの?
〇〇フォルダのパスとか記憶したいんだけど
アプリの前回値みたいの記憶できないの?
〇〇フォルダのパスとか記憶したいんだけど
108デフォルトの名無しさん (JP 0H1f-JnE0)
2022/02/20(日) 05:45:33.44ID:9eA/EulNH Windows上だと何日動かしてもメモリ使用量40MBくらいで安定してるプログラムが
(VS2002の診断ツールで確認)
ラズパイのMono上だと徐々にメモリ使用量が増え続けて
1日くらいで4GB到達して落ちるんだけど何故だろう
(VS2002の診断ツールで確認)
ラズパイのMono上だと徐々にメモリ使用量が増え続けて
1日くらいで4GB到達して落ちるんだけど何故だろう
109デフォルトの名無しさん (アウアウウー Sae7-iDSx)
2022/02/20(日) 08:10:15.15ID:k8LvFvhxa タイマーかなんか仕掛けて手動で↓を呼ぶ
GC.Collect(2, GCCollectionMode.Forced, false, true);
それで減らないならMonoのランタイムがそもそもUNCOと思われ。
Unity Profilerで表示されるMonoで使用メモリ量が膨大になってしまう
https://teratail.com/questions/238133
GC.Collect(2, GCCollectionMode.Forced, false, true);
それで減らないならMonoのランタイムがそもそもUNCOと思われ。
Unity Profilerで表示されるMonoで使用メモリ量が膨大になってしまう
https://teratail.com/questions/238133
110デフォルトの名無しさん (ワッチョイ ff89-xC0C)
2022/02/20(日) 08:11:50.49ID:/uCWXFvO0 VS2002?
111デフォルトの名無しさん (ワッチョイ ffad-u5El)
2022/02/20(日) 15:59:54.94ID:gLgXgTw20 dataGridView の中のリストの大きさってどうやって変えるの?
枠の大きさは変えられるんだけど
中のリストだけ小さいままでこまってる
枠の大きさは変えられるんだけど
中のリストだけ小さいままでこまってる
112デフォルトの名無しさん (ワッチョイ b302-mA98)
2022/02/20(日) 23:16:48.82ID:ppLUrwgj0 中のリストという意味がちょっと判らない、列や行の幅の事?
名前にWidthとかHeightが含まれるプロパティ片っ端から弄ってみたら
名前にWidthとかHeightが含まれるプロパティ片っ端から弄ってみたら
113デフォルトの名無しさん (アウアウウー Sae7-7p3p)
2022/02/21(月) 19:22:27.56ID:4hCK79/5a var form = new Form(){
Text = "たいとる"
FormBorderStyle = FormBorderStyle.FixedDialog
};
みたいに書けるやつ
一見VBのwith文っぽいけどプロパティの代入行為しかできなくて中途半端
Text = "たいとる"
FormBorderStyle = FormBorderStyle.FixedDialog
};
みたいに書けるやつ
一見VBのwith文っぽいけどプロパティの代入行為しかできなくて中途半端
114デフォルトの名無しさん (ワッチョイ ff6a-nAeH)
2022/02/22(火) 10:14:36.95ID:Q9cfD2FD0 そら、初期化のために用意されているものなんだからそういうもんだろ
115デフォルトの名無しさん (ワッチョイ cf63-3QhW)
2022/02/22(火) 13:36:13.33ID:j1m5S7Tk0 オブジェクト初期化子って名前を知らないとwith的なもんかと思ってしまうのかも知れないね
116デフォルトの名無しさん (テテンテンテン MM7f-lT30)
2022/02/22(火) 15:45:45.85ID:vNlU0s1vM VBのWith文読み難いから出来んでいい
117デフォルトの名無しさん (ワッチョイ ff89-xC0C)
2022/02/22(火) 15:53:33.83ID:PEuqNSu60 vb.netのオブジェクト初期化子はWithなんだよね。
冗長だ。
冗長だ。
118デフォルトの名無しさん (アウアウウー Sae7-8E80)
2022/02/22(火) 16:15:23.63ID:gr38xJ4ba c#のは同じような書き方でも意味が変わって一貫性のようなものがない(ように一見思える)
var form = new Form()
{Text = Text};
form.click += delegate
{Text=Text;};
vbのは普通の命令としてもwithがあり、そこに囲まれてる変数の頭にピリオドを付けるという書き方の一貫性のようなものがあるからな
どっちが初心者に優しいかと言えば今でもvbと感じる(vbがいいとは言ってない)
var form = new Form()
{Text = Text};
form.click += delegate
{Text=Text;};
vbのは普通の命令としてもwithがあり、そこに囲まれてる変数の頭にピリオドを付けるという書き方の一貫性のようなものがあるからな
どっちが初心者に優しいかと言えば今でもvbと感じる(vbがいいとは言ってない)
119デフォルトの名無しさん (ワッチョイ 6fe9-EcOz)
2022/02/23(水) 12:07:24.23ID:n7YEN9KD0 フレームワークの話でしょうが、フォームアプリでモーダルフォームの外を
クリックした時に、モーダルフォームを閉じる事って出来るでしょうか?
スマホのUIによくある挙動ですが、同等の動きを実現出来ないかなと。
クリックした時に、モーダルフォームを閉じる事って出来るでしょうか?
スマホのUIによくある挙動ですが、同等の動きを実現出来ないかなと。
120119 (ワッチョイ 6fe9-EcOz)
2022/02/23(水) 12:10:24.55ID:n7YEN9KD0 初心者板の内容でした。
失礼しました。
失礼しました。
121デフォルトの名無しさん (ワッチョイ ff02-9L8B)
2022/02/23(水) 12:26:47.20ID:n4QLtIZ70 薄毛や抜け毛にお悩みなら、発毛専門の*****へ。
一人ひとりの薄毛・脱毛原因を正確に突き止め、その原因を解消する独自の発毛システムを提供しています。
一人ひとりの薄毛・脱毛原因を正確に突き止め、その原因を解消する独自の発毛システムを提供しています。
122デフォルトの名無しさん (ワッチョイ cf2c-hSEA)
2022/02/23(水) 19:02:33.81ID:wKfqGXJ00 たぶん画面全体に、透明のレイヤーでも貼るのだろう
それで、そのレイヤーがクリックイベントを受け取れる
それで、そのレイヤーがクリックイベントを受け取れる
123デフォルトの名無しさん (ワッチョイ cf10-hSEA)
2022/02/23(水) 20:18:19.67ID:Mz9SDh4V0 すいません 教えてください
文字列変数の中に 変数をしてしておいて 実行時に指定する方法ありますか?
例:
目覚まし時計プログラムで
9:00の時
9:00になりました。 おはようございます。
12時の時
お昼です 12:00になりました。
って 入れ替えたいのだけど
$Time になりました。おはようございます。
12時の時の文字列は
お昼になりました$Timeになりました。
って指定しておき $Timeをあとから指定したいみたいな方法です。
文字列変数の中に 変数をしてしておいて 実行時に指定する方法ありますか?
例:
目覚まし時計プログラムで
9:00の時
9:00になりました。 おはようございます。
12時の時
お昼です 12:00になりました。
って 入れ替えたいのだけど
$Time になりました。おはようございます。
12時の時の文字列は
お昼になりました$Timeになりました。
って指定しておき $Timeをあとから指定したいみたいな方法です。
124デフォルトの名無しさん (ワッチョイ b378-9yE7)
2022/02/23(水) 20:28:47.29ID:RBoSgh/A0 Replace("$Time", "12:00")
125デフォルトの名無しさん (ワッチョイ ff6a-nAeH)
2022/02/23(水) 20:56:09.29ID:77XR+UNq0126デフォルトの名無しさん (ワッチョイ b35f-nZx7)
2022/02/23(水) 21:57:54.53ID:6Rc20OyP0 埋め込む文章も変えたいみたいだから
DateTimeによって適したフォーマット用文字列を返すようにして、その後string.Format()するとか
DateTimeによって適したフォーマット用文字列を返すようにして、その後string.Format()するとか
127デフォルトの名無しさん (ワッチョイ ff89-xC0C)
2022/02/24(木) 06:20:18.96ID:1wBDmGBO0 >>122
Webじゃないから難しいかな
Webじゃないから難しいかな
128デフォルトの名無しさん (ワッチョイ cfbb-iK/E)
2022/02/24(木) 10:51:32.90ID:N/yjILul0129デフォルトの名無しさん (ワッチョイ f32f-hSEA)
2022/02/24(木) 21:50:55.08ID:G5PhgONP0 >>119
Deactivateイベントで拾えないか?
Deactivateイベントで拾えないか?
130デフォルトの名無しさん (ワッチョイ cf10-iDSx)
2022/02/24(木) 22:02:34.13ID:eVS3l/k90131デフォルトの名無しさん (ワッチョイ cf2c-hSEA)
2022/02/25(金) 14:06:14.20ID:Eg3DloqN0 Ruby on Rails では、ERB(Embedded Ruby)で、何の文書にも、Rubyのコード片を埋め込める
例えば、a.rb 内で、ary = [ "a", "b" ]
と定義して、ERB のresult( binding )で、
この文脈を他のファイルへ、バインドできる
b.html.erb 内で、<% 〜 %>, <%= 〜 %> を使って、Rubyのコード片を埋め込む
<% ary.each do | elem | %>
<p><%=h elem %></p>
<% end %>
出力ファイル、b.html
<p>a</p>
<p>b</p>
他にも、カスタムフォーマットを自作して、その形式を日本語辞書に登録して、呼び出せる
ja:
time:
formats:
medium: "%Y年%m月%d日 (%a) %H:%M"
と定義したら、b.html.erb 内で、
<%=l( Time.current, format: :medium ) %>
と書くと、
出力ファイル、b.html
2022年02月25日 (金) 13:55
まあ、コミュニティーが配布している日本語辞書に、
最初から、幾つかの形式が登録されているから、自作する事は少ない
例えば、a.rb 内で、ary = [ "a", "b" ]
と定義して、ERB のresult( binding )で、
この文脈を他のファイルへ、バインドできる
b.html.erb 内で、<% 〜 %>, <%= 〜 %> を使って、Rubyのコード片を埋め込む
<% ary.each do | elem | %>
<p><%=h elem %></p>
<% end %>
出力ファイル、b.html
<p>a</p>
<p>b</p>
他にも、カスタムフォーマットを自作して、その形式を日本語辞書に登録して、呼び出せる
ja:
time:
formats:
medium: "%Y年%m月%d日 (%a) %H:%M"
と定義したら、b.html.erb 内で、
<%=l( Time.current, format: :medium ) %>
と書くと、
出力ファイル、b.html
2022年02月25日 (金) 13:55
まあ、コミュニティーが配布している日本語辞書に、
最初から、幾つかの形式が登録されているから、自作する事は少ない
132デフォルトの名無しさん (ワッチョイ cfbb-s8XF)
2022/02/25(金) 15:06:52.58ID:8px/N21n0 Rubyって使ったことなかったけど、
それAsp.netにそっくりやね
それAsp.netにそっくりやね
133デフォルトの名無しさん (ワッチョイ 5ae4-sFH0)
2022/03/01(火) 13:52:40.14ID:4BvRS+UW0 Console.writeline()はスレッドセーフでないというのは本当でしょうか?
今までシングルスレッドで動いていたプログラムを一部の処理だけマルチスレッドで動作するように変更中です
Console.writeline()の呼び出し箇所を全て変更する必要がありますか?
今までシングルスレッドで動いていたプログラムを一部の処理だけマルチスレッドで動作するように変更中です
Console.writeline()の呼び出し箇所を全て変更する必要がありますか?
134デフォルトの名無しさん (ワッチョイ 0a89-d1gR)
2022/03/01(火) 13:56:54.75ID:VTZdDdWR0 スレッドセーフです
135デフォルトの名無しさん (ワッチョイ de63-v7rK)
2022/03/01(火) 20:21:42.35ID:OUtPpYxS0136デフォルトの名無しさん (ワッチョイ ca02-Y5l0)
2022/03/01(火) 23:40:13.90ID:wsOShTVj0 この方は スレッガー ロウ です
137デフォルトの名無しさん (ワッチョイ a236-8qwV)
2022/03/15(火) 17:49:18.74ID:uT8cdwkS0 相談させてください。
IntPtr を ref int に変換するために以下のようなコードを書くと、期待通り False と表示されます。
IntPtr ptr = Marshal.AllocCoTaskMem(4);
ref int x = ref Unsafe.AddByteOffset(ref Unsafe.NullRef<int>(), ptr);
Console.WriteLine(Unsafe.IsNullRef(ref x)); // False と表示される
Marshal.FreeCoTaskMem(ptr);
しかし、以下のように意味のない for 文を追加すると、コードの最適化が有効な場合のみ True と表示されます。
for (int i = 0; i < 0; i++) { } // 意味のない for 文
IntPtr ptr = Marshal.AllocCoTaskMem(4);
ref int x = ref Unsafe.AddByteOffset(ref Unsafe.NullRef<int>(), ptr);
Console.WriteLine(Unsafe.IsNullRef(ref x)); // 最適化が有効な場合のみ True と表示される
Marshal.FreeCoTaskMem(ptr);
ただし、意味のない for 文があっても
Unsafe.AddByteOffset(ref Unsafe.NullRef<int>(), ptr)
→ Unsafe.SubtractByteOffset(ref Unsafe.NullRef<int>(), -(nint)ptr)
のように書き換えると常に False と表示されるようになります。
なぜこのようなことが起こるのかさっぱり見当がつかないので、お知恵を拝借できないでしょうか。
私の環境を分かる範囲で書くと以下のとおりですが、他に何か必要な情報があればお教えください。
Windows 10 Pro (21H2)
Microsoft Visual Studio Community 2022 (64 ビット) Version 17.1.1
コンソール アプリケーション、.NET 6.0
どうぞよろしくお願いいたします。
IntPtr を ref int に変換するために以下のようなコードを書くと、期待通り False と表示されます。
IntPtr ptr = Marshal.AllocCoTaskMem(4);
ref int x = ref Unsafe.AddByteOffset(ref Unsafe.NullRef<int>(), ptr);
Console.WriteLine(Unsafe.IsNullRef(ref x)); // False と表示される
Marshal.FreeCoTaskMem(ptr);
しかし、以下のように意味のない for 文を追加すると、コードの最適化が有効な場合のみ True と表示されます。
for (int i = 0; i < 0; i++) { } // 意味のない for 文
IntPtr ptr = Marshal.AllocCoTaskMem(4);
ref int x = ref Unsafe.AddByteOffset(ref Unsafe.NullRef<int>(), ptr);
Console.WriteLine(Unsafe.IsNullRef(ref x)); // 最適化が有効な場合のみ True と表示される
Marshal.FreeCoTaskMem(ptr);
ただし、意味のない for 文があっても
Unsafe.AddByteOffset(ref Unsafe.NullRef<int>(), ptr)
→ Unsafe.SubtractByteOffset(ref Unsafe.NullRef<int>(), -(nint)ptr)
のように書き換えると常に False と表示されるようになります。
なぜこのようなことが起こるのかさっぱり見当がつかないので、お知恵を拝借できないでしょうか。
私の環境を分かる範囲で書くと以下のとおりですが、他に何か必要な情報があればお教えください。
Windows 10 Pro (21H2)
Microsoft Visual Studio Community 2022 (64 ビット) Version 17.1.1
コンソール アプリケーション、.NET 6.0
どうぞよろしくお願いいたします。
138デフォルトの名無しさん (アウアウウー Sac5-I38D)
2022/03/15(火) 18:02:33.05ID:LD6RLXEha 一行目しか見てないけど、これはいいのか?(8)かもよ
IntPtr ptr = Marshal.AllocCoTaskMem(4);
IntPtr ptr = Marshal.AllocCoTaskMem(4);
139デフォルトの名無しさん (ワッチョイ ed2f-lWiN)
2022/03/15(火) 18:57:03.19ID:BlmPXv890 そもそも現在のポインタ値がヌル参照からのオフセットだって保証されてるのか?
140デフォルトの名無しさん (ワッチョイ e5ad-Yoff)
2022/03/15(火) 18:59:03.73ID:1RknuKaK0 for文に意味があるからじゃないかな
141デフォルトの名無しさん (ワッチョイ 7d02-WCXV)
2022/03/15(火) 20:05:41.25ID:NI5jmOXt0 最適化でなんか情報が消し飛んでるんだと思うけど、判らんな
[MethodImpl(MethodImplOptions.NoInlining)]
public static ref T AddByteOffset<T>(ref T reference, IntPtr offset)
=> ref Unsafe.AddByteOffset(ref reference, offset);
とかやってインライン展開抑制してみたら
[MethodImpl(MethodImplOptions.NoInlining)]
public static ref T AddByteOffset<T>(ref T reference, IntPtr offset)
=> ref Unsafe.AddByteOffset(ref reference, offset);
とかやってインライン展開抑制してみたら
142デフォルトの名無しさん (ワッチョイ 1232-IMun)
2022/03/15(火) 21:00:09.00ID:ZTE9InWz0 >>137
JIT最適化を抑制せずF11でデバッグして逆アセンブルすると
先にConsole.WriteLine(Boolean)がTrue固定で呼び出されて
その後にMarshal.IsNullOrWin32Atom(IntPtr)となってるね
未定義動作はタイムトラベルを…彷彿とさせるがC#なんだよなぁ
MSIL的にも&とnative intの結果型は&に定められている筈だし
とはいえ、管理下ポインタはnullになりえないとか有った気もするし
null参照への演算が未定義なら道理なのかもしれない、あるいはバグか
JIT最適化を抑制せずF11でデバッグして逆アセンブルすると
先にConsole.WriteLine(Boolean)がTrue固定で呼び出されて
その後にMarshal.IsNullOrWin32Atom(IntPtr)となってるね
未定義動作はタイムトラベルを…彷彿とさせるがC#なんだよなぁ
MSIL的にも&とnative intの結果型は&に定められている筈だし
とはいえ、管理下ポインタはnullになりえないとか有った気もするし
null参照への演算が未定義なら道理なのかもしれない、あるいはバグか
143デフォルトの名無しさん (ワッチョイ a236-8qwV)
2022/03/15(火) 21:23:35.68ID:uT8cdwkS0 皆様、返信どうもありがとうございます。
いただいたアドバイスを元に色々と確認をしていて反応が遅くなってしまいました。
申し訳ありません。
>>138
確認してみた所、C# では int は 32 ビットと決められているようです。
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/builtin-types/integral-numeric-types
ただ、可読性を考えると 4 ではなく sizeof(int) と書くべきでした。
ご指摘どうもありがとうございました。
>>139
Unsafe.NullRef<T>() と Marshal.ReadInt32(int) の実装を確認してみたところ、
おそらくその点は問題ないかと思います。
https://github.com/dotnet/corert/blob/master/src/System.Private.CoreLib/shared/Internal/Runtime/CompilerServices/Unsafe.cs
https://github.com/dotnet/corert/blob/master/src/System.Private.CoreLib/shared/System/Runtime/InteropServices/Marshal.cs
しかし、問題の原因は大抵こういう思い込みに隠れているものだと思うので、
可能性を一つ潰すことができてとても助かりました。
>>140
そうなんですよね。
for (int i = 0; i < 0; i++) {} は i++ に到達しないのは明らかだから
最適化でまるっと消えてしまうかと思っていたので、この結果には驚きました。
>>141
書いていただいたコードを試してみたところ、確かに最適化が有効でも期待通りの動作になりました。
それからもう一つ、書いていただいたコードを使わない場合、
プラットフォームが x86 と x64 の両方とも最適化有効時には期待通りの動作をしないことが分かりました。
(x86 の場合は常に期待通りに動作するならば問題の原因について一つ仮説が立てられるかと思ったのですが、
実際は違っていたので未だに原因はさっぱり見当がついていません…)
いただいたアドバイスを元に色々と確認をしていて反応が遅くなってしまいました。
申し訳ありません。
>>138
確認してみた所、C# では int は 32 ビットと決められているようです。
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/builtin-types/integral-numeric-types
ただ、可読性を考えると 4 ではなく sizeof(int) と書くべきでした。
ご指摘どうもありがとうございました。
>>139
Unsafe.NullRef<T>() と Marshal.ReadInt32(int) の実装を確認してみたところ、
おそらくその点は問題ないかと思います。
https://github.com/dotnet/corert/blob/master/src/System.Private.CoreLib/shared/Internal/Runtime/CompilerServices/Unsafe.cs
https://github.com/dotnet/corert/blob/master/src/System.Private.CoreLib/shared/System/Runtime/InteropServices/Marshal.cs
しかし、問題の原因は大抵こういう思い込みに隠れているものだと思うので、
可能性を一つ潰すことができてとても助かりました。
>>140
そうなんですよね。
for (int i = 0; i < 0; i++) {} は i++ に到達しないのは明らかだから
最適化でまるっと消えてしまうかと思っていたので、この結果には驚きました。
>>141
書いていただいたコードを試してみたところ、確かに最適化が有効でも期待通りの動作になりました。
それからもう一つ、書いていただいたコードを使わない場合、
プラットフォームが x86 と x64 の両方とも最適化有効時には期待通りの動作をしないことが分かりました。
(x86 の場合は常に期待通りに動作するならば問題の原因について一つ仮説が立てられるかと思ったのですが、
実際は違っていたので未だに原因はさっぱり見当がついていません…)
144デフォルトの名無しさん (ワッチョイ a236-8qwV)
2022/03/15(火) 21:24:27.40ID:uT8cdwkS0 >>142
null参照への演算が未定義というのは、AddByteOffset メソッド内の話でしょうか。
下記のページの AddByteOffset<T>(ref T, IntPtr) のところをみると
ldarg.0
ldarg.1
add
ret
とコメントされていて、少なくとも IL 的には一つ目の引数が null でも特に問題はないように思えてしまいます。
IL 的に問題がないかどうかは私は自信がないのですが、
もし IL に問題がないのに JIT 最適化で問題が起きてしまうとすれば、
バグと考えてもよいのでしょうか。
参考
https://github.com/dotnet/corert/blob/master/src/System.Private.CoreLib/shared/Internal/Runtime/CompilerServices/Unsafe.cs
null参照への演算が未定義というのは、AddByteOffset メソッド内の話でしょうか。
下記のページの AddByteOffset<T>(ref T, IntPtr) のところをみると
ldarg.0
ldarg.1
add
ret
とコメントされていて、少なくとも IL 的には一つ目の引数が null でも特に問題はないように思えてしまいます。
IL 的に問題がないかどうかは私は自信がないのですが、
もし IL に問題がないのに JIT 最適化で問題が起きてしまうとすれば、
バグと考えてもよいのでしょうか。
参考
https://github.com/dotnet/corert/blob/master/src/System.Private.CoreLib/shared/Internal/Runtime/CompilerServices/Unsafe.cs
145デフォルトの名無しさん (ワッチョイ 7d02-WCXV)
2022/03/15(火) 21:29:32.78ID:NI5jmOXt0 issue検索して無かったら、一応報告しといたほうがいいかもしらんね
146デフォルトの名無しさん (ワッチョイ 7d02-WCXV)
2022/03/15(火) 21:33:53.42ID:NI5jmOXt0 [Intrinsic]
がついてるメソッドは、Release時に特殊な最適化が走ってる筈なんだけど
それが誤動作するケースがあるのかもしらん(あくまで想像)
がついてるメソッドは、Release時に特殊な最適化が走ってる筈なんだけど
それが誤動作するケースがあるのかもしらん(あくまで想像)
147142 (ワッチョイ 1232-IMun)
2022/03/15(火) 21:41:55.33ID:ZTE9InWz0 あー同じような判定コードを読み間違えた
タイムトラベルは起きてないけど、代入もヌル判定もなくなってる感じかな
>>144
そう、片方が0なら実質意味はないから加算命令が現れなくても不思議ではないけど
Console.WriteLine(x);としてみても固定アドレス0をデリファレンスするので
xが常にぬるぽ扱いになってしまっている様ではある
C#的には未定義なら未定義でビルド時か実行時にエラーを出しそうだけど
Unsafeでチェックされないのか判断に困る。さもなければ最適化のバグだと思う
タイムトラベルは起きてないけど、代入もヌル判定もなくなってる感じかな
>>144
そう、片方が0なら実質意味はないから加算命令が現れなくても不思議ではないけど
Console.WriteLine(x);としてみても固定アドレス0をデリファレンスするので
xが常にぬるぽ扱いになってしまっている様ではある
C#的には未定義なら未定義でビルド時か実行時にエラーを出しそうだけど
Unsafeでチェックされないのか判断に困る。さもなければ最適化のバグだと思う
148デフォルトの名無しさん (ワッチョイ 8dc1-EzgM)
2022/03/15(火) 22:00:29.13ID:RZxqxi620 winforms
dbの値は、dataset . datatable以外で、どうやって取得するの? list?
dbの値は、dataset . datatable以外で、どうやって取得するの? list?
149デフォルトの名無しさん (ワッチョイ a236-8qwV)
2022/03/15(火) 22:07:11.34ID:uT8cdwkS0 >>145
そうですね。アドバイスありがとうございます。
私はこれまでこの手の問題は「まずは自分を疑え」と教わってきて
実際それで大抵の問題は解決してきたのですが、
皆様のお話をうかがうに、今回は自分の勘違いではなく
よそに原因があると考えたほうがいいのかもしれません。
これまで報告等は経験がないのですが、
それも視野に入れて調べてみたいと思います。
>>146
勉強になります。
その特殊な最適化で結果が変わることがバグなのか
私の力では判断が難しそうなのが歯がゆいところです。
>>147
> そう、片方が0なら実質意味はないから加算命令が現れなくても不思議ではないけど
> Console.WriteLine(x);としてみても固定アドレス0をデリファレンスするので
私の理解不足で、
「片方が0なら実質意味はない」 ← 0 + p の計算は必要ない?そりゃそうだ!
「固定アドレス0をデリファレンスする」 ← 0 + p = 0 ということ?p ではなくて?
という感想を持ってしまいました。
申し訳ないのですが、もしよろしければもう少し詳しく説明していただけないでしょうか。
> C#的には未定義なら未定義でビルド時か実行時にエラーを出しそうだけど
> Unsafeでチェックされないのか判断に困る。さもなければ最適化のバグだと思う
ご意見どうもありがとうございます。とても共感させていただきました。
未定義であればこそデバッグ時に教えてほしいものですが、
実際にはデバッグ時には期待通りに動作してしまうのが厄介なところです。
そうですね。アドバイスありがとうございます。
私はこれまでこの手の問題は「まずは自分を疑え」と教わってきて
実際それで大抵の問題は解決してきたのですが、
皆様のお話をうかがうに、今回は自分の勘違いではなく
よそに原因があると考えたほうがいいのかもしれません。
これまで報告等は経験がないのですが、
それも視野に入れて調べてみたいと思います。
>>146
勉強になります。
その特殊な最適化で結果が変わることがバグなのか
私の力では判断が難しそうなのが歯がゆいところです。
>>147
> そう、片方が0なら実質意味はないから加算命令が現れなくても不思議ではないけど
> Console.WriteLine(x);としてみても固定アドレス0をデリファレンスするので
私の理解不足で、
「片方が0なら実質意味はない」 ← 0 + p の計算は必要ない?そりゃそうだ!
「固定アドレス0をデリファレンスする」 ← 0 + p = 0 ということ?p ではなくて?
という感想を持ってしまいました。
申し訳ないのですが、もしよろしければもう少し詳しく説明していただけないでしょうか。
> C#的には未定義なら未定義でビルド時か実行時にエラーを出しそうだけど
> Unsafeでチェックされないのか判断に困る。さもなければ最適化のバグだと思う
ご意見どうもありがとうございます。とても共感させていただきました。
未定義であればこそデバッグ時に教えてほしいものですが、
実際にはデバッグ時には期待通りに動作してしまうのが厄介なところです。
150デフォルトの名無しさん (ワッチョイ 7d02-WCXV)
2022/03/15(火) 22:26:59.94ID:NI5jmOXt0 >>148
DataReaderで読むとか、EntityFrameworkやDapperみたいなフレームワーク使うとか
DataReaderで読むとか、EntityFrameworkやDapperみたいなフレームワーク使うとか
151デフォルトの名無しさん (ワッチョイ ed2f-lWiN)
2022/03/15(火) 22:47:23.94ID:BlmPXv890 そもそも値型にたいするヌル参照が未定義な気がするが
最適化で数値ゼロとヌル参照が同一視されてるとか?
最適化で数値ゼロとヌル参照が同一視されてるとか?
152デフォルトの名無しさん (ワッチョイ 1232-IMun)
2022/03/15(火) 23:25:37.07ID:ZTE9InWz0 >>149
件の部分はJITコンパイルされたマシンコードの話で、ref intを参照する際に
xからでなくても「mov ecx, dword ptr [ptr]」的であっても整合性は取れるが
逆アセが「mov ecx, dword ptr [0]」になるので、xはnullにされてるという話
それならばIsNullRefが消えるのは順当としても、xがnullになる代入の欠落が
NullRef<int>が宜しくないのか、それをAddByteOffsetに与えるのがダメなのか
単なるバグか…、Unsafe.AsRefに直接IntPtr渡せれば/unsafeとせず済むのにね
件の部分はJITコンパイルされたマシンコードの話で、ref intを参照する際に
xからでなくても「mov ecx, dword ptr [ptr]」的であっても整合性は取れるが
逆アセが「mov ecx, dword ptr [0]」になるので、xはnullにされてるという話
それならばIsNullRefが消えるのは順当としても、xがnullになる代入の欠落が
NullRef<int>が宜しくないのか、それをAddByteOffsetに与えるのがダメなのか
単なるバグか…、Unsafe.AsRefに直接IntPtr渡せれば/unsafeとせず済むのにね
153デフォルトの名無しさん (ワッチョイ a236-8qwV)
2022/03/16(水) 00:04:15.38ID:pAqxvPky0 >>151
なるほど…。
ただ、Unsafe.IsNullRef(ref Unsafe.NullRef<int>()) と書けてこれが true を返すので、
値型に対するヌル参照が定められていない場合は Unsafe.NullRef<T> の T に int が
指定できること自体がバグということになってしまうような気もします。
一応未定義ではないけど、CLR 外部との相互利用等で必要に迫られない限り
使ってくれるなという感じなのでしょうか。
>>152
ご親切に説明していただきどうもありがとうございます。
逆アセンブルの結果に “なぜだか理由は分からないが” 0 になっている部分があって、
そこから x が null にされているというという事実が読み取れる、ということですね。
(まだ間違っていたら大変申し訳ありません)
> NullRef<int>が宜しくないのか、それをAddByteOffsetに与えるのがダメなのか
NullRef<T> と AddByteOffset<T> のソースコードのコメントにはそれぞれ
ldc.i4.0
conv.u
ret
ldarg.0
ldarg.1
add
ret
とあって、これを見る限り、NullRef<int>() を AddByteOffset<int> に与えることの問題は
私には読み取れませんでした。
(そもそもこの問題で IL を持ち出すこと自体が見当外れなのでしょうか)
もちろん、実際には特殊な JIT 最適化が行われているのでしょうが、
その結果 IL から期待される動作と変わってしまうようなら、
やはりバグとして報告したほうがよいのかなというのが今のところの考えです。
なるほど…。
ただ、Unsafe.IsNullRef(ref Unsafe.NullRef<int>()) と書けてこれが true を返すので、
値型に対するヌル参照が定められていない場合は Unsafe.NullRef<T> の T に int が
指定できること自体がバグということになってしまうような気もします。
一応未定義ではないけど、CLR 外部との相互利用等で必要に迫られない限り
使ってくれるなという感じなのでしょうか。
>>152
ご親切に説明していただきどうもありがとうございます。
逆アセンブルの結果に “なぜだか理由は分からないが” 0 になっている部分があって、
そこから x が null にされているというという事実が読み取れる、ということですね。
(まだ間違っていたら大変申し訳ありません)
> NullRef<int>が宜しくないのか、それをAddByteOffsetに与えるのがダメなのか
NullRef<T> と AddByteOffset<T> のソースコードのコメントにはそれぞれ
ldc.i4.0
conv.u
ret
ldarg.0
ldarg.1
add
ret
とあって、これを見る限り、NullRef<int>() を AddByteOffset<int> に与えることの問題は
私には読み取れませんでした。
(そもそもこの問題で IL を持ち出すこと自体が見当外れなのでしょうか)
もちろん、実際には特殊な JIT 最適化が行われているのでしょうが、
その結果 IL から期待される動作と変わってしまうようなら、
やはりバグとして報告したほうがよいのかなというのが今のところの考えです。
154デフォルトの名無しさん (ワッチョイ a236-8qwV)
2022/03/16(水) 00:10:04.98ID:pAqxvPky0 >>152
> Unsafe.AsRefに直接IntPtr渡せれば/unsafeとせず済むのにね
そうなんです!というか、本来私がしたいことからいうと
MemoryMarshal.CreateSpan<int> メソッドに IntPtr 型を渡せると一番よいのですが、
それができないのでこのメソッドが受け付けてくれる ref int を作るという方向で考えています。
> Unsafe.AsRefに直接IntPtr渡せれば/unsafeとせず済むのにね
そうなんです!というか、本来私がしたいことからいうと
MemoryMarshal.CreateSpan<int> メソッドに IntPtr 型を渡せると一番よいのですが、
それができないのでこのメソッドが受け付けてくれる ref int を作るという方向で考えています。
155デフォルトの名無しさん (ワッチョイ 1232-IMun)
2022/03/16(水) 01:45:02.44ID:lykY2TTP0 >>153-154
仰る通りです
ECMA-335の文言"Managed pointers cannot be null"で検索してみたら案の定ツッコミありましたが
https://github.com/dotnet/runtime/issues/41418#issuecomment-681177889
これを受けてか、トップのNullRef<T>()に関する注釈にも
(10) Per ECMA-335, Sec. II.14.4.2, it is not strictly legal for a gcref to point to null.
However, all .NET runtimes allow this and treat it in a type-safe fashion,
including guarding accesses to null gcrefs by throwing NullReferenceException as appropriate.
と書かれていて問題なさそうな見解です
仕様に準拠していないというのは…JITコンパイラ的にどうなのか
言及を忘れていましたが、アセンブリにコード欠落は見受けられないのでC#コンパイラの問題ではないし
AddByteOffset<T>(ref T, IntPtr)にしても関連する注釈は
(1) Arithmetic operations on gcrefs (such as via Unsafe.Add) are not checked for correctness by the runtime.
The resulting gcref may point to invalid memory or to a different object. See ECMA-335, Sec. III.1.5.
のみですし、また前項と合わせてECMA-335が示されていますから、ILと無関係でもないでしょう
System.Runtime.CompilerServices.Unsafe.dllをデコンパイルしてみてもコメントと同じコードが示されます
Framework時代ならSafeBuffer継承とかやってましたが(SafeMemoryMappedViewHandleはコンストラクタがinternalなので)
これもこれで今見たら「SafeBuffer may be unavailable in future releases.」で笑えぬ
仰る通りです
ECMA-335の文言"Managed pointers cannot be null"で検索してみたら案の定ツッコミありましたが
https://github.com/dotnet/runtime/issues/41418#issuecomment-681177889
これを受けてか、トップのNullRef<T>()に関する注釈にも
(10) Per ECMA-335, Sec. II.14.4.2, it is not strictly legal for a gcref to point to null.
However, all .NET runtimes allow this and treat it in a type-safe fashion,
including guarding accesses to null gcrefs by throwing NullReferenceException as appropriate.
と書かれていて問題なさそうな見解です
仕様に準拠していないというのは…JITコンパイラ的にどうなのか
言及を忘れていましたが、アセンブリにコード欠落は見受けられないのでC#コンパイラの問題ではないし
AddByteOffset<T>(ref T, IntPtr)にしても関連する注釈は
(1) Arithmetic operations on gcrefs (such as via Unsafe.Add) are not checked for correctness by the runtime.
The resulting gcref may point to invalid memory or to a different object. See ECMA-335, Sec. III.1.5.
のみですし、また前項と合わせてECMA-335が示されていますから、ILと無関係でもないでしょう
System.Runtime.CompilerServices.Unsafe.dllをデコンパイルしてみてもコメントと同じコードが示されます
Framework時代ならSafeBuffer継承とかやってましたが(SafeMemoryMappedViewHandleはコンストラクタがinternalなので)
これもこれで今見たら「SafeBuffer may be unavailable in future releases.」で笑えぬ
156デフォルトの名無しさん (ワッチョイ 7d02-WCXV)
2022/03/16(水) 02:59:05.97ID:b5JRB2Cp0 最近の標準ライブラリの実装を見るに、.NET開発チームはIntPtrを使わせたくないように感じる
ポインタ弄るなら、あぶねー事やってんだから明確にunsafe宣言しろって事なんだろうな
ポインタ弄るなら、あぶねー事やってんだから明確にunsafe宣言しろって事なんだろうな
157デフォルトの名無しさん (ワッチョイ 1232-IMun)
2022/03/16(水) 15:09:58.97ID:lykY2TTP0 >>137>>153
よくよく調べてみたらズバリそのものが有りました
https://github.com/dotnet/runtime/issues/61510
>>156で言われている様な主旨のコメントもありますね
元コードの添え書きを見るに意図されたものと見受けられますが
ぬるぽを多少オフセットした所でデリファンレスしたら一緒という事でしょうか
昨年の時点で修正が入っていますが、マイルストーンは7.0.0とされ6.0.3でも取りこまれていません
https://github.com/dotnet/runtime/blob/v6.0.3/src/coreclr/jit/morph.cpp#L12906-L12918
.NET 7.0 Previewにはマージされており、その後さらに周辺コードはリファクタリングされ移動しています
https://github.com/dotnet/runtime/commit/132cc2f2d00e00b7f0dfd43498077da65cc27d29#diff-5b83397bbbdd17bb9457998b520fdaaa474d165390985b66f32371561b6d0bacR13505
まぁやはり本来は相対オフセットが期待されるところですから
絶対オフセットではなく大人しくAsRefを使うべきなのかもしれません
よくよく調べてみたらズバリそのものが有りました
https://github.com/dotnet/runtime/issues/61510
>>156で言われている様な主旨のコメントもありますね
元コードの添え書きを見るに意図されたものと見受けられますが
ぬるぽを多少オフセットした所でデリファンレスしたら一緒という事でしょうか
昨年の時点で修正が入っていますが、マイルストーンは7.0.0とされ6.0.3でも取りこまれていません
https://github.com/dotnet/runtime/blob/v6.0.3/src/coreclr/jit/morph.cpp#L12906-L12918
.NET 7.0 Previewにはマージされており、その後さらに周辺コードはリファクタリングされ移動しています
https://github.com/dotnet/runtime/commit/132cc2f2d00e00b7f0dfd43498077da65cc27d29#diff-5b83397bbbdd17bb9457998b520fdaaa474d165390985b66f32371561b6d0bacR13505
まぁやはり本来は相対オフセットが期待されるところですから
絶対オフセットではなく大人しくAsRefを使うべきなのかもしれません
158137 (ワッチョイ 6136-KDK6)
2022/03/16(水) 16:49:39.25ID:TbbZbi5h0 すみません。規制にあってしまったのか、パソコンから書き込めなくなってしまいました。
この文章も書き込めるかどうか分かりませんが、
ひとまず、親切にしてくださった皆様に心からお礼申し上げます。
この文章も書き込めるかどうか分かりませんが、
ひとまず、親切にしてくださった皆様に心からお礼申し上げます。
159デフォルトの名無しさん (ワッチョイ 7d02-WCXV)
2022/03/16(水) 18:13:49.44ID:b5JRB2Cp0 >>157 のリンク先の、
> Sergio0694 commented on 13 Nov 2021
> Having fake "safe" code using APIs like this instead of properly using built-in unsafe syntax is objectively worse and should be avoided. It makes it harder to see when code is actually doing unsafe things. It effectively makes your code more unsafe. It's an ongoing problem that has been here forever, certainly not helped by the existence of some APIs (looking at you Marshal...).
このコメントに激しく同意するわ。
ポインタ操作やってるのに、Unsafeクラスで無理矢理unsafeブロック書くの回避したところで、
それは危険なコードである事に変わりはない。
> Sergio0694 commented on 13 Nov 2021
> Having fake "safe" code using APIs like this instead of properly using built-in unsafe syntax is objectively worse and should be avoided. It makes it harder to see when code is actually doing unsafe things. It effectively makes your code more unsafe. It's an ongoing problem that has been here forever, certainly not helped by the existence of some APIs (looking at you Marshal...).
このコメントに激しく同意するわ。
ポインタ操作やってるのに、Unsafeクラスで無理矢理unsafeブロック書くの回避したところで、
それは危険なコードである事に変わりはない。
160デフォルトの名無しさん (ワッチョイ 8dc1-EzgM)
2022/03/16(水) 19:44:50.55ID:Eqgki5Lk0 vs2022 c# winforms .net6
画面作って、vs再起動すると
フォームが読込エラーが発生する
おまえら、発生しないの?
画面作って、vs再起動すると
フォームが読込エラーが発生する
おまえら、発生しないの?
161デフォルトの名無しさん (アウアウウー Sac5-I38D)
2022/03/16(水) 19:53:52.54ID:KaTnXwmea 発生するぞw
162デフォルトの名無しさん (ワッチョイ 3d78-9pEf)
2022/03/16(水) 20:33:39.98ID:paMiN66w0 >>160
タブオーダーの変更も無効化されててマジゴミ
タブオーダーの変更も無効化されててマジゴミ
163デフォルトの名無しさん (ワッチョイ 4289-r+i/)
2022/03/16(水) 20:40:08.63ID:DWqldl790 .NET framework 4.8は永遠に不滅です( ー`дー´)キリッ
164デフォルトの名無しさん (ワッチョイ 7d02-WCXV)
2022/03/16(水) 21:36:45.42ID:b5JRB2Cp0 WindowsFormでやるなら、実際.NET framework安定だと思う
.NET5とか6でやるなら、他のUI選択した方がいい
.NET5とか6でやるなら、他のUI選択した方がいい
165デフォルトの名無しさん (アウウィフ FFcd-XTxC)
2022/03/26(土) 10:57:27.94ID:klc4wM2MF 初心者ですまんが、async/awaitでtaskの実行とtask自体の生成の責務が分離されてない気がするんだが
asyncの中にはawaitがあるもの(ないと警告)という連鎖はどこで切ればいいの?
最終的にインフラまで行ったとしてそこのasyncメソッドはawaitするものがなくなってしまうよな?
末端は警告を無視するか、Task.Runとかを作ってTaskを返すかなりしろってこと?
asyncの中にはawaitがあるもの(ないと警告)という連鎖はどこで切ればいいの?
最終的にインフラまで行ったとしてそこのasyncメソッドはawaitするものがなくなってしまうよな?
末端は警告を無視するか、Task.Runとかを作ってTaskを返すかなりしろってこと?
166デフォルトの名無しさん (アウアウウー Sacd-JpNp)
2022/03/26(土) 11:26:01.00ID:opZhrmyVa await hogesync();
↓
_= hogesync();
これで警告連鎖から逃げれる
↓
_= hogesync();
これで警告連鎖から逃げれる
167デフォルトの名無しさん (アウウィフ FFcd-XTxC)
2022/03/26(土) 11:38:25.92ID:klc4wM2MF >>166
いやそっちじゃなくCS1998の方
↓みたいなの
async Task hogeA {await hogeB();}
// 警告 CS1998
async Task hogeB{Console.WriteLine("hogeB");}
いやそっちじゃなくCS1998の方
↓みたいなの
async Task hogeA {await hogeB();}
// 警告 CS1998
async Task hogeB{Console.WriteLine("hogeB");}
168デフォルトの名無しさん (アウアウウー Sacd-JpNp)
2022/03/26(土) 12:14:52.53ID:opZhrmyVa asyncにする必要がないのはしなければいいだけ
async Task hogeB{Console.WriteLine("hogeB");}
↓
void hogeB(){}
asincじゃないけど、hogeB();って呼び出せばawait hogeB();と意味は変わらない
async Task hogeB{Console.WriteLine("hogeB");}
↓
void hogeB(){}
asincじゃないけど、hogeB();って呼び出せばawait hogeB();と意味は変わらない
169デフォルトの名無しさん (ブーイモ MM96-nQMq)
2022/03/26(土) 12:22:02.66ID:sDWgty5NM >>165
TaskCompletionSouece
TaskCompletionSouece
170デフォルトの名無しさん (ブーイモ MM96-nQMq)
2022/03/26(土) 12:30:11.96ID:sDWgty5NM あと、インターフェースの都合でasyncだけど実装は非同期である必要がない場合には、Task.FromResultやValueTaskやCompletedTaskを使うとよい
171デフォルトの名無しさん (アウアウウー Sacd-XTxC)
2022/03/26(土) 12:40:15.39ID:pvkpV0Laa >>168-170
サンクス
中身が同期やけど呼び出し元はそいつを非同期で待機したけりゃTask.Runとか使うしかないって事だよな
asyncの中身を同期だけにすると混乱を招きかねないけどawait可能なTaskを自動で作ってくれてスレッド復帰なんかも勝手にやってくれる分利点もありそうな気がするんだが
どうなんだろ
asyncじゃないTaskを返すメソッドを作る法がええんかも知れんけどめんどいよね
サンクス
中身が同期やけど呼び出し元はそいつを非同期で待機したけりゃTask.Runとか使うしかないって事だよな
asyncの中身を同期だけにすると混乱を招きかねないけどawait可能なTaskを自動で作ってくれてスレッド復帰なんかも勝手にやってくれる分利点もありそうな気がするんだが
どうなんだろ
asyncじゃないTaskを返すメソッドを作る法がええんかも知れんけどめんどいよね
172デフォルトの名無しさん (オッペケ Sr79-jbHl)
2022/03/26(土) 16:33:46.27ID:7Z9PIxRJr 違うんじゃね?
ある関数の内部処理で
状況によって同期の場合と非同期の場合に
スィッチする事は良くある
ある関数の内部処理で
状況によって同期の場合と非同期の場合に
スィッチする事は良くある
173デフォルトの名無しさん (ワッチョイ 0d32-S2l7)
2022/04/06(水) 10:28:00.42ID:OCQcEzvM0 ご存知の方いらっしゃいましたら教えてください
StreamReader urlReader = new StreamReader(urlStream, Encoding.UTF8);
string urlReadString = urlReader.ReadLine();
上記の関数使ってcharset=UTF-8が設定されてるURLを読み込んだときに
普通にテキストとして読み込めるときと、UTF-8の読み込みに失敗してEF BF BDが出力されるときがあるけど、
失敗するときって何か初期設定が足りてない?
それともReadLine()じゃなくて別の関数を使う?
StreamReader urlReader = new StreamReader(urlStream, Encoding.UTF8);
string urlReadString = urlReader.ReadLine();
上記の関数使ってcharset=UTF-8が設定されてるURLを読み込んだときに
普通にテキストとして読み込めるときと、UTF-8の読み込みに失敗してEF BF BDが出力されるときがあるけど、
失敗するときって何か初期設定が足りてない?
それともReadLine()じゃなくて別の関数を使う?
174デフォルトの名無しさん (テテンテンテン MM4b-g8k9)
2022/04/06(水) 10:40:24.67ID:/2SYAuGyM エンコーディング関係は、まず生バイトコードを確認しなさい
175デフォルトの名無しさん (スプッッ Sde1-z1p6)
2022/04/06(水) 11:06:48.61ID:BAnc7YwEd バイトコードでなくバイナリデータな
バイナリモードでファイル開いて読み込んで16進出力するか、
BZとかのバイナリエディタでファイルのバイナリを見るのがいい
バイナリモードでファイル開いて読み込んで16進出力するか、
BZとかのバイナリエディタでファイルのバイナリを見るのがいい
176デフォルトの名無しさん (テテンテンテン MM4b-g8k9)
2022/04/06(水) 12:14:51.33ID:XIBRKt28M URL言うとるやん
UTF8EncodingクラスでBOMの有無指定出来るけど、結局バイトコード確認しないと判定出来ん
UTF8EncodingクラスでBOMの有無指定出来るけど、結局バイトコード確認しないと判定出来ん
177デフォルトの名無しさん (ワッチョイ 45ac-ceAq)
2022/04/06(水) 18:52:21.62ID:IJ3XlCfB0 ばいなり()
178デフォルトの名無しさん (アウアウウー Sae9-xcJo)
2022/04/06(水) 19:11:31.46ID:oIHs85Eca バイナリであってるだろ。むしろバイトコードって使いかた初めて聞いたぞ
urlならその内容をファイルに落として開いて確認するのが楽
それが面倒な場合はコードからstreamをファイルに落として確認
urlならその内容をファイルに落として開いて確認するのが楽
それが面倒な場合はコードからstreamをファイルに落として確認
179デフォルトの名無しさん (ワッチョイ 2d02-KXHF)
2022/04/06(水) 19:15:36.12ID:aGcf2Kai0 ファイル落とさんでもVSで配列取得すればデバッグで確認できるやろ
180デフォルトの名無しさん (アウアウウー Sae9-xcJo)
2022/04/06(水) 19:26:15.02ID:oIHs85Eca streamはデバッガで直接中身見れない(よな?)のと
(俺が使ってる外部バイナリエディタは)エンコーディング自動判別してくれるから俺にとってはファイルの方が楽
ほかの人にとってはわからないな
(俺が使ってる外部バイナリエディタは)エンコーディング自動判別してくれるから俺にとってはファイルの方が楽
ほかの人にとってはわからないな
181デフォルトの名無しさん (ワッチョイ 1b10-hDwl)
2022/04/06(水) 19:26:20.34ID:8tuXZutt0 EF BB BFってUTF-8のBOMだよね
detectEncodingFromByteOrderMarksの指定がある
詳しくはEncoding.GetPreambleで調べる
detectEncodingFromByteOrderMarksの指定がある
詳しくはEncoding.GetPreambleで調べる
182デフォルトの名無しさん (ワッチョイ 2d02-KXHF)
2022/04/06(水) 19:27:06.07ID:aGcf2Kai0 文字コードを判別する
https://dobon.net/vb/dotnet/string/detectcode.html
ReadJEnc C#(.NET)用ファイル文字コード種類自動判別ライブラリ
https://github.com/hnx8/ReadJEnc
このへんでいけるんじゃないかね
https://dobon.net/vb/dotnet/string/detectcode.html
ReadJEnc C#(.NET)用ファイル文字コード種類自動判別ライブラリ
https://github.com/hnx8/ReadJEnc
このへんでいけるんじゃないかね
183デフォルトの名無しさん (ワッチョイ 2d02-KXHF)
2022/04/06(水) 19:32:51.40ID:aGcf2Kai0 >>181
指定だけで自動判定出来るなら、そっちの方が楽そうね
指定だけで自動判定出来るなら、そっちの方が楽そうね
184デフォルトの名無しさん (ワッチョイ 6f24-soYJ)
2022/04/11(月) 20:16:43.58ID:2IiYezuY0 ソースジェネレーターってnetstandard2.0だからWinFormsは参照不可能?
ソースジェネレーター側で参照できずともまあ良いんだけど、出来ればWinFormsのいくつかのクラスからコンパイル時リフレクションで色々取り出したいのだが
ソースジェネレーター側で参照できずともまあ良いんだけど、出来ればWinFormsのいくつかのクラスからコンパイル時リフレクションで色々取り出したいのだが
185デフォルトの名無しさん (ワッチョイ cb02-9+GH)
2022/04/11(月) 20:33:51.13ID:M/snaKK00 ソースジェネレータで何を生成したいん?
186デフォルトの名無しさん (ワッチョイ c28b-xb3m)
2022/04/13(水) 17:04:49.00ID:5l1VnwO30 C#からPowserShellを実行して
登録済みのVPN一覧を取得しようとしています。
コマンド発行までは出来たのですが戻り値
Name ServerAddress の取得が出来ません。
どの様なコードを書けばよいでしょうか?
using (var invoker = new RunspaceInvoke())
{
var result = invoker.Invoke(source);
}
resultに値が入るハズなのですが・・・分かりません。
PowerShell上で実行するとVPN一覧が表示されています。
登録済みのVPN一覧を取得しようとしています。
コマンド発行までは出来たのですが戻り値
Name ServerAddress の取得が出来ません。
どの様なコードを書けばよいでしょうか?
using (var invoker = new RunspaceInvoke())
{
var result = invoker.Invoke(source);
}
resultに値が入るハズなのですが・・・分かりません。
PowerShell上で実行するとVPN一覧が表示されています。
187デフォルトの名無しさん (ワッチョイ 0b78-EhK1)
2022/04/13(水) 18:50:59.56ID:e0uLmTvD0 マルチ死ね
188デフォルトの名無しさん (ワッチョイ c633-iXSd)
2022/04/13(水) 18:59:25.77ID:zw+GE19b0 >>186
グロ
グロ
189デフォルトの名無しさん (ワッチョイ 2289-Otnk)
2022/04/13(水) 19:26:25.04ID:nybfnzFR0 >>186
resultの中身をデバッガーで見てみなよ
resultの中身をデバッガーで見てみなよ
190デフォルトの名無しさん (ワッチョイ c28b-xb3m)
2022/04/13(水) 19:52:25.67ID:5l1VnwO30 >>189
動的ビューというところに値がありました。
new Microsoft.CSharp.RuntimeBinder.DynamicMetaObjectProviderDebugView(result[0]).Items[24]
result[0]
BaseObject
ImmediateBaseObject
Members
Methods
Properties
TypeNames
本来であれば、この中のどこかに入ると思うのですが見つかりません。
動的ビューというところに値がありました。
new Microsoft.CSharp.RuntimeBinder.DynamicMetaObjectProviderDebugView(result[0]).Items[24]
result[0]
BaseObject
ImmediateBaseObject
Members
Methods
Properties
TypeNames
本来であれば、この中のどこかに入ると思うのですが見つかりません。
191デフォルトの名無しさん (ワッチョイ c633-iXSd)
2022/04/13(水) 20:53:24.06ID:zw+GE19b0 >>190
もう一方の方でも返信きてるぞ
もう一方の方でも返信きてるぞ
192デフォルトの名無しさん (ワッチョイ c28b-xb3m)
2022/04/13(水) 23:57:25.49ID:5l1VnwO30 >>191
ありがとうございます。
ありがとうございます。
193デフォルトの名無しさん (ワッチョイ ffe3-X/6k)
2022/04/18(月) 12:25:35.83ID:UzqEtN9Q0 これはマルチのお手本
194デフォルトの名無しさん (アウアウウー Sa1b-Om2K)
2022/04/22(金) 17:18:18.78ID:11YPP3hWa 内部クラスから外のprivateなenumの型を直接参照できるのはどうしてでしょうか?
public class A {
private enum ZZZ {a, b, c}
class B {
Console.Writeline("number = " + (int)ZZZ.a); // なぜenumだけこれが許されるのか
}}
public class A {
private enum ZZZ {a, b, c}
class B {
Console.Writeline("number = " + (int)ZZZ.a); // なぜenumだけこれが許されるのか
}}
195デフォルトの名無しさん (ブーイモ MM8f-m76R)
2022/04/22(金) 17:20:58.21ID:QpAASndCM enumだけが許されるわけではない
196デフォルトの名無しさん (アウアウウー Sa1b-Om2K)
2022/04/22(金) 17:32:06.89ID:11YPP3hWa よろしければそのルールについて学べるようなヒントとかキーワードを教えて頂けると助かります。
197デフォルトの名無しさん (アウアウウー Sa1b-MZ5k)
2022/04/22(金) 17:56:13.35ID:cNb4vicFa privateはそこに含まれるのに対してアクセスおkって定義だからアクセスできる
https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/basic-concepts#752-declared-accessibility
https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/basic-concepts#752-declared-accessibility
198デフォルトの名無しさん (アウアウウー Sa1b-Om2K)
2022/04/22(金) 19:10:42.44ID:11YPP3hWa ありがとうございます。enumが暗黙的にstaticなら都合がいいのでそういう事にします
199デフォルトの名無しさん (ワッチョイ ff33-VvbW)
2022/04/22(金) 19:17:02.27ID:X/HcvjX50 親のオブジェクトも取得できれば便利なのにな。
200デフォルトの名無しさん (スッップ Sdbf-RPPK)
2022/04/22(金) 20:30:49.13ID:XRzGPZH0d 派生クラスとInnerクラスをごっちゃにするなよ?
外側のクラスのインスタンスさえ得られればprivateにアクセスし放題だったり
外側のクラスのインスタンスさえ得られればprivateにアクセスし放題だったり
201デフォルトの名無しさん (オイコラミネオ MM6b-+1fN)
2022/04/22(金) 21:18:57.90ID:gmnEH6VvM >>199
循環参照になるから…
循環参照になるから…
202デフォルトの名無しさん (ワッチョイ 3a10-fLUy)
2022/04/25(月) 12:56:21.20ID:zhSuRXyD0 xxxx.exeで
var args = Environment.GetCommandLineArgs()
のargs[0]が xxxx.dll だった・・・
var args = Environment.GetCommandLineArgs()
のargs[0]が xxxx.dll だった・・・
203デフォルトの名無しさん (ワッチョイ ce6e-ZXX2)
2022/04/29(金) 23:05:58.93ID:ZxkWaM0v0 関数のエラーを表現するのってどういうのが一番C#のスタイルに合うんでしょうか
例えば公式のtryparseなんてbool返しますよね。でも例外投げるって手もありますよね。なんか職場の古いおっさんははるか昔のCのやり方そのまま0とか-1とか返してるし
例えば公式のtryparseなんてbool返しますよね。でも例外投げるって手もありますよね。なんか職場の古いおっさんははるか昔のCのやり方そのまま0とか-1とか返してるし
204デフォルトの名無しさん (ワッチョイ ae2c-dMjb)
2022/04/29(金) 23:18:22.51ID:Hw91ocej0 メソッド次第、エラー次第 これ一つでオールオッケーなんて物はない
って当たり前の答えにしかならないよ
って当たり前の答えにしかならないよ
205デフォルトの名無しさん (アウアウウー Sab5-mHJH)
2022/04/29(金) 23:19:40.25ID:oqakQFJca 普通はboolでいいよ
処理中断したいよってな想定外の失敗は例外
処理中断したいよってな想定外の失敗は例外
206デフォルトの名無しさん (ワッチョイ 8cbb-z20x)
2022/04/29(金) 23:54:03.84ID:ojB4mgIH0 例外は重いからね
207デフォルトの名無しさん (ワッチョイ 0702-hGrh)
2022/04/30(土) 00:24:41.78ID:QtDBeglS0208デフォルトの名無しさん (ワッチョイ df01-nj6J)
2022/04/30(土) 06:39:16.16ID:OR8SZm5l0 >>203
> 例えば公式のtryparseなんてbool返しますよね。でも例外投げるって手もありますよね。
だからTryParseとParseの両方あるでしょ
汎用性を求めるなら両方用意すればいいし特定の場合だけなら使いやすい方を用意すればいいと思うよ
> 例えば公式のtryparseなんてbool返しますよね。でも例外投げるって手もありますよね。
だからTryParseとParseの両方あるでしょ
汎用性を求めるなら両方用意すればいいし特定の場合だけなら使いやすい方を用意すればいいと思うよ
209デフォルトの名無しさん (テテンテンテン MM8f-dUGE)
2022/04/30(土) 07:00:58.78ID:OalUk2/jM 「エラー」を表すなら例外一択
そうするとtryブロック内に書かれている処理は正常系だけ、catchブロック内が異常系だけになって
ソースコードが明瞭になるし異常系ロジックをcatchの1か所に集約できる
こういう書き方に慣れるといちいち1処理行うごとに戻り値if分岐してるような書き方のダサさが分かる
例外が重いってのもたしかにその通りなんだけどまあ1回こっきり投げるだけなら許容範囲かな
そうするとtryブロック内に書かれている処理は正常系だけ、catchブロック内が異常系だけになって
ソースコードが明瞭になるし異常系ロジックをcatchの1か所に集約できる
こういう書き方に慣れるといちいち1処理行うごとに戻り値if分岐してるような書き方のダサさが分かる
例外が重いってのもたしかにその通りなんだけどまあ1回こっきり投げるだけなら許容範囲かな
210デフォルトの名無しさん (ワッチョイ 7fcf-Vdv4)
2022/04/30(土) 07:37:56.60ID:3TsZhUq60 >>203
C流儀のintは成功が0だからboolと混在させると厄介なんだよな。
C流儀のintは成功が0だからboolと混在させると厄介なんだよな。
211デフォルトの名無しさん (ワッチョイ df01-nj6J)
2022/04/30(土) 08:06:49.00ID:OR8SZm5l0212デフォルトの名無しさん (ワッチョイ 7fcf-Vdv4)
2022/04/30(土) 08:13:30.52ID:3TsZhUq60 ほら、成功か失敗かを返すだけなら成功=0が一般的だったんだよ。
https://www.jpcert.or.jp/sc-rules/c-err33-c.html
https://www.jpcert.or.jp/sc-rules/c-err33-c.html
213デフォルトの名無しさん (アウアウウー Saab-qJ84)
2022/04/30(土) 08:14:04.30ID:VP7AAWWpa やっぱboolってintみたいな構造体より重いんか?
214デフォルトの名無しさん (ワッチョイ 7fda-w47B)
2022/04/30(土) 08:15:37.08ID:Ce086BTG0 どちらもスカラーやろ
215デフォルトの名無しさん (ワッチョイ df89-p2QP)
2022/04/30(土) 08:17:51.61ID:Hl+yZMpS0 >>203
普通は例外一択です。
普通は例外一択です。
216デフォルトの名無しさん (ワッチョイ c749-c3mi)
2022/04/30(土) 09:29:44.98ID:/k/F8o6k0 おじいちゃんも多いので意見が分かれやすいですね
217デフォルトの名無しさん (ワッチョイ 0702-hGrh)
2022/04/30(土) 10:04:25.38ID:QtDBeglS0 エラーの内容を精査する必要があるなら、エラーコードなりを持たせた例外スローするけど
単純な失敗成功だけ見たいならbool返すかな
単純な失敗成功だけ見たいならbool返すかな
218デフォルトの名無しさん (ワッチョイ 7fda-w47B)
2022/04/30(土) 10:32:08.49ID:Ce086BTG0 例外のコストが高いからね
219デフォルトの名無しさん (ワッチョイ e724-OrLt)
2022/04/30(土) 11:13:28.89ID:UYlijuGg0 >>211
C/CPPのライブラリは0が成功って割と多い
多分210が言いたいのはCにはbool型なんて無くてintをBOOLとして扱ってるからC的には0x100000はTRUE、C#的にはbyte化されて0となりfalseになるから注意ってことを言いたいんだと思うが
C/CPPのライブラリは0が成功って割と多い
多分210が言いたいのはCにはbool型なんて無くてintをBOOLとして扱ってるからC的には0x100000はTRUE、C#的にはbyte化されて0となりfalseになるから注意ってことを言いたいんだと思うが
220デフォルトの名無しさん (ワッチョイ e724-OrLt)
2022/04/30(土) 11:14:35.66ID:UYlijuGg0 >>213
別に重くない
例えば関数の戻り値でtrue表現するためのアセンブラは
intだとmov eax, 1
boolだとmov al, 1
アセンブリコードの使用バイト数的には同じか後者の方が小さかったはず
別に重くない
例えば関数の戻り値でtrue表現するためのアセンブラは
intだとmov eax, 1
boolだとmov al, 1
アセンブリコードの使用バイト数的には同じか後者の方が小さかったはず
221デフォルトの名無しさん (アウアウウー Saab-qJ84)
2022/04/30(土) 11:34:36.31ID:VP7AAWWpa >>220
ありがとう。delegateにPredicateってあるからその用途でfuncだと重いのかと思ってた
ありがとう。delegateにPredicateってあるからその用途でfuncだと重いのかと思ってた
222デフォルトの名無しさん (ワッチョイ 7fda-w47B)
2022/04/30(土) 11:39:28.25ID:Ce086BTG0 C#がネイティブコード出力するならそうだろうなぁ
223デフォルトの名無しさん (ワッチョイ df01-nj6J)
2022/04/30(土) 12:00:38.37ID:OR8SZm5l0224デフォルトの名無しさん (ワッチョイ e724-OrLt)
2022/04/30(土) 12:01:55.46ID:UYlijuGg0225デフォルトの名無しさん (ワッチョイ df89-p2QP)
2022/04/30(土) 12:13:31.51ID:Hl+yZMpS0 >>224
最終的にはマシン語になるわけだから同じでしょ。
最終的にはマシン語になるわけだから同じでしょ。
226デフォルトの名無しさん (ブーイモ MM8f-LGrz)
2022/04/30(土) 12:20:54.96ID:UbbzWFWaM >>221
デリゲート呼び出しはそれ自体がまあまあ重いぞ
少なくとも条件分岐にboolとintどっちを使用するかなどという微々たる差を全く無視できる程度にはな
そしてデリゲート呼び出しも普通はIOに比べたら誤差だから全く無視してよい
デリゲート呼び出しはそれ自体がまあまあ重いぞ
少なくとも条件分岐にboolとintどっちを使用するかなどという微々たる差を全く無視できる程度にはな
そしてデリゲート呼び出しも普通はIOに比べたら誤差だから全く無視してよい
227デフォルトの名無しさん (ワッチョイ 0702-hGrh)
2022/04/30(土) 12:49:03.04ID:QtDBeglS0 簡易的に確認したいなら、
https://sharplab.io/
でResultにJIT Asm選べばアセンブリコード見れるぞ
単純な型なら、Release選ぶと殆ど元の型や関数呼び出し残らないのが確認出来る
https://sharplab.io/
でResultにJIT Asm選べばアセンブリコード見れるぞ
単純な型なら、Release選ぶと殆ど元の型や関数呼び出し残らないのが確認出来る
228デフォルトの名無しさん (ワッチョイ e724-OrLt)
2022/04/30(土) 13:57:37.11ID:UYlijuGg0229デフォルトの名無しさん (ワッチョイ fb6e-S2Xa)
2022/05/09(月) 19:30:59.59ID:BZKielY90 C#/MVVMでお絵かきソフトのようなことをやる必要があります。ドラッグして長方形を書いたり、それを選択して移動したりみたいな。多分inkcanvasとか使うんですかね?
それで色々と調べているのですが、コードビハインドから除外するというのがどうも難しくて何がなんだかわかりません。ビヘイビアだのコマンドだのどうやって実装したものか途方に暮れています
以前formsで同じようなものを作ってそのときは普通に実装出来たのでコードビハインドさえ使っていいなら普通に行けるだろうにという状況です
MVVMでviewのビハインドからコードを除外するというのはもう絶対に守るべきものなのでしょうか
それで色々と調べているのですが、コードビハインドから除外するというのがどうも難しくて何がなんだかわかりません。ビヘイビアだのコマンドだのどうやって実装したものか途方に暮れています
以前formsで同じようなものを作ってそのときは普通に実装出来たのでコードビハインドさえ使っていいなら普通に行けるだろうにという状況です
MVVMでviewのビハインドからコードを除外するというのはもう絶対に守るべきものなのでしょうか
230デフォルトの名無しさん (ワッチョイ cfe6-u2F+)
2022/05/09(月) 19:40:32.75ID:TPAlWSfJ0 必要なんだろ
出題者に聞けよ
出題者に聞けよ
231デフォルトの名無しさん (ワッチョイ aaf1-9/7F)
2022/05/09(月) 19:41:23.37ID:YUxIU5Ky0232デフォルトの名無しさん (ワッチョイ aa89-JO+5)
2022/05/09(月) 20:21:28.09ID:mjdEI+Ny0 >>229
原理主義者やっても幸せにはなれないぞ
原理主義者やっても幸せにはなれないぞ
233デフォルトの名無しさん (ブーイモ MMe6-nt15)
2022/05/09(月) 20:24:22.51ID:ns3gCkSAM234デフォルトの名無しさん (ワッチョイ da42-zDU0)
2022/05/09(月) 21:43:08.37ID:UnFDSJiw0 MVVM原理主義から見たらかなりインチキ臭いServiceってやり方で、MやVMからControlにアクセスするやり方が一般的かな
Canvasのプロパティーを持って、そこにアクセスするためのメソッドやプロパティーが入ったServiceクラスを作って、それを例えばVMのプロパティーにする
で、Viewが初期化された時にそのクラスを生成してプロパティーのCanvasに実態を設定する
そのクラスをVMの該当プロパティーにインジェクションする
わかりにくいだろうが、どっかに上手いこと書いてある解説でも探してくれ
Canvasのプロパティーを持って、そこにアクセスするためのメソッドやプロパティーが入ったServiceクラスを作って、それを例えばVMのプロパティーにする
で、Viewが初期化された時にそのクラスを生成してプロパティーのCanvasに実態を設定する
そのクラスをVMの該当プロパティーにインジェクションする
わかりにくいだろうが、どっかに上手いこと書いてある解説でも探してくれ
235デフォルトの名無しさん (ワッチョイ aaf1-9/7F)
2022/05/10(火) 08:48:07.33ID:CCpF9W9X0 普段c++でUIコントロール作ってるような開発者が
c#版作るからってわざわざMVVMなんか使うわけないでしょーーが
c#版作るからってわざわざMVVMなんか使うわけないでしょーーが
236デフォルトの名無しさん (ワッチョイ 3ebb-0tmp)
2022/05/10(火) 16:27:35.44ID:A0speGA90 普段WinFormとかでUI作ってる人に聞きたいんだけど
値の変化をリアルタイムでUIに反映する場合ってどうやってんの?
値が変化する箇所全てに画面の更新処理入れる感じ?
値の変化をリアルタイムでUIに反映する場合ってどうやってんの?
値が変化する箇所全てに画面の更新処理入れる感じ?
237デフォルトの名無しさん (ワッチョイ 7e33-SYw5)
2022/05/10(火) 17:07:52.87ID:Qwl7JHFX0 >>236
うちの場合は画面にUpdate()なりをつくって、そのメソッド内に基本的に全部のコントロールの更新処理を書いて、必要な時に呼び出してる。
DataGridViewなど必要な時にしか更新しないものは、Update(bool all)などで処理を分けて対応してるかな。
パフォーマンスに問題ない限りは、富豪的プログラミングが管理しやすいと思う。
うちの場合は画面にUpdate()なりをつくって、そのメソッド内に基本的に全部のコントロールの更新処理を書いて、必要な時に呼び出してる。
DataGridViewなど必要な時にしか更新しないものは、Update(bool all)などで処理を分けて対応してるかな。
パフォーマンスに問題ない限りは、富豪的プログラミングが管理しやすいと思う。
238デフォルトの名無しさん (アウアウウー Sa1f-e+q+)
2022/05/10(火) 17:15:20.22ID:O/q6MN3Ra SetValueWithRefresh(newvalue)みたいな代入と更新同時にする関数作って代入はそれでやれってするとか
プロパティのsetterにonvaluechangeみたいなeventhandlerおいといてそこ経由して更新させるとか
ちまちま代入と同時に更新処理直接呼ぶとか
>>237みたいな富豪的なのもあるな
状況によりけりだよ
プロパティのsetterにonvaluechangeみたいなeventhandlerおいといてそこ経由して更新させるとか
ちまちま代入と同時に更新処理直接呼ぶとか
>>237みたいな富豪的なのもあるな
状況によりけりだよ
239デフォルトの名無しさん (オイコラミネオ MM9b-1CQB)
2022/05/10(火) 17:40:18.23ID:e+qIs2vlM >>236
ReactiveExtensions
ReactiveExtensions
240デフォルトの名無しさん (ワッチョイ 9f02-HkNE)
2022/05/10(火) 17:58:34.60ID:Bl3IG8H50 シンプルにやるなら、Timerから更新用のメソッド呼べばいいんじゃね
241デフォルトの名無しさん (ワッチョイ 2f2f-vjB4)
2022/05/10(火) 22:55:43.68ID:eH6jeiBY0242デフォルトの名無しさん (テテンテンテン MMe6-0R8h)
2022/05/13(金) 13:29:25.82ID:c/0e0c1OM 初心者です。
c#でアプリ作成したのですが、自己署名証明書がないと、アプリ起動時、発行元不明の警告が出ますよね?
みなさんどうやってその警告を回避してますか?
何かいい方法があれば教えてほしいです。
c#でアプリ作成したのですが、自己署名証明書がないと、アプリ起動時、発行元不明の警告が出ますよね?
みなさんどうやってその警告を回避してますか?
何かいい方法があれば教えてほしいです。
243デフォルトの名無しさん (アウアウウー Sa1f-e+q+)
2022/05/13(金) 14:18:26.21ID:UQ7pCVsua 配布するなら正攻法は証明書取得
個人でもできる。公証人に書類つくってもらって証明機関に申請すればいい。5年ごとに8万円ぐらい
個人でもできる。公証人に書類つくってもらって証明機関に申請すればいい。5年ごとに8万円ぐらい
244デフォルトの名無しさん (ワッチョイ da42-zDU0)
2022/05/13(金) 14:33:27.72ID:msJ+xhZt0 一番安いのはWindowsStoreで、一度だけ18か18ドルぐらい払えばよかったはず
245デフォルトの名無しさん (ワッチョイ cbba-0R8h)
2022/05/13(金) 18:46:21.48ID:TYJN2jsR0246デフォルトの名無しさん (ワッチョイ 2f2f-vjB4)
2022/05/13(金) 22:05:38.65ID:pmeFRqGo0 つか自己署名なら自分で勝手に作ればいいわけで...
自己署名じゃないちゃんとした証明書が必要なんだろうと
自己署名じゃないちゃんとした証明書が必要なんだろうと
247デフォルトの名無しさん (ワッチョイ cbba-0R8h)
2022/05/13(金) 22:24:43.10ID:TYJN2jsR0 >>246
自己署名の話を皆様に聞いた理由は、他の人のPCにインストールした際に、不明な発行元と表示されてしまうのを回避したい と言う理由だけなんです。
不明な発行元と警告が出る種類も何パターンかありますよね?
フォームで出るパターン と、ブルースクリーンの様な画面で出るパターン
この両方の警告に対応するには、お金を支払い自己署名するしかないのかなあと漠然と考えてました。
その自分で作成する方法(オレオレ自己署名)も見たのですが、アプリではない感じだったので、、あまり詳しく理解できていません。。
自己署名の話を皆様に聞いた理由は、他の人のPCにインストールした際に、不明な発行元と表示されてしまうのを回避したい と言う理由だけなんです。
不明な発行元と警告が出る種類も何パターンかありますよね?
フォームで出るパターン と、ブルースクリーンの様な画面で出るパターン
この両方の警告に対応するには、お金を支払い自己署名するしかないのかなあと漠然と考えてました。
その自分で作成する方法(オレオレ自己署名)も見たのですが、アプリではない感じだったので、、あまり詳しく理解できていません。。
248デフォルトの名無しさん (ワッチョイ becf-HkNE)
2022/05/13(金) 22:29:59.42ID:cpvIzMAY0 「自己署名」を間違えて理解してるんじゃね?
249デフォルトの名無しさん (ワッチョイ cbba-0R8h)
2022/05/13(金) 22:55:59.91ID:TYJN2jsR0250デフォルトの名無しさん (ワッチョイ 2e2d-HNGk)
2022/05/13(金) 23:18:12.14ID:S8Zs+Y9A0251デフォルトの名無しさん (アウアウウー Sa1f-e+q+)
2022/05/13(金) 23:41:37.05ID:btyzcX5fa >>249は認識あってるよ
>>248はたぶん自己署名=オレオレ署名と勘違いしてるだけ
発行してもらった正規のでもオレオレのを使っても自己署名には変わらない
自己署名 =自分でexeに対して電子署名すること
電子署名 =電子的な署名
電子証明書=自己署名やsslなどで必要になるやつ(一般的には公的機関からのものを指すけど、自分で作ったのも含む)
オレオレ証明書 =自分で作った電子証明書
オレオレ署名 =オレオレ証明書を使った電子署名
コードサイニング証明書=電子証明書のうち、exeなどの署名に特化したもの(公的機関から買う。自分で作ったのは汎用的だからこう呼ぶことはない)
自己署名証明書 ≒コードサイニング証明書
>>248はたぶん自己署名=オレオレ署名と勘違いしてるだけ
発行してもらった正規のでもオレオレのを使っても自己署名には変わらない
自己署名 =自分でexeに対して電子署名すること
電子署名 =電子的な署名
電子証明書=自己署名やsslなどで必要になるやつ(一般的には公的機関からのものを指すけど、自分で作ったのも含む)
オレオレ証明書 =自分で作った電子証明書
オレオレ署名 =オレオレ証明書を使った電子署名
コードサイニング証明書=電子証明書のうち、exeなどの署名に特化したもの(公的機関から買う。自分で作ったのは汎用的だからこう呼ぶことはない)
自己署名証明書 ≒コードサイニング証明書
252デフォルトの名無しさん (ブーイモ MM8a-vr7z)
2022/05/13(金) 23:59:49.70ID:I/jceGHeM すごい認識だな
253デフォルトの名無しさん (ワッチョイ 9b2f-PM07)
2022/05/14(土) 00:14:27.18ID:3IgnexNy0254デフォルトの名無しさん (ワッチョイ 736a-Q28P)
2022/05/14(土) 00:31:05.21ID:multK6hC0 あ、オレオレ定義のアウアウウーさんだ
255デフォルトの名無しさん (アウアウウー Sa31-mOD9)
2022/05/14(土) 00:45:49.42ID:q1SIpySda256デフォルトの名無しさん (ワッチョイ 9b2f-PM07)
2022/05/14(土) 01:12:09.43ID:3IgnexNy0 >>255
つまりお前は自己署名証明書での署名も「まともな署名」としてあつかうんだな
つまりお前は自己署名証明書での署名も「まともな署名」としてあつかうんだな
257デフォルトの名無しさん (ワッチョイ abcf-7P1Y)
2022/05/14(土) 01:17:06.48ID:YyWH0a110258デフォルトの名無しさん (ワッチョイ abcf-7P1Y)
2022/05/14(土) 01:23:01.16ID:YyWH0a110 >自己署名 =自分でexeに対して電子署名すること
なんだこれ?こんな用法見たことない。
なんだこれ?こんな用法見たことない。
259デフォルトの名無しさん (ワッチョイ d32d-hFP2)
2022/05/14(土) 01:40:53.18ID:41BaXtRu0 >>251,255
その出鱈目どこで覚えた?
字面から想像しただけかな
https://e-words.jp/w/%E8%87%AA%E5%B7%B1%E7%BD%B2%E5%90%8D%E8%A8%BC%E6%98%8E%E6%9B%B8.html
その出鱈目どこで覚えた?
字面から想像しただけかな
https://e-words.jp/w/%E8%87%AA%E5%B7%B1%E7%BD%B2%E5%90%8D%E8%A8%BC%E6%98%8E%E6%9B%B8.html
260デフォルトの名無しさん (テテンテンテン MM17-7Nhq)
2022/05/14(土) 10:41:44.00ID:XXC0KMFKM261デフォルトの名無しさん (ワッチョイ 3133-Q+cg)
2022/05/14(土) 21:16:53.25ID:D+nf+blC0 C#って移植性は高いんですか?入門書をのぞいてみたけどGUIの項目ではWindows限定でした
262デフォルトの名無しさん (ワッチョイ abba-tmIb)
2022/05/14(土) 23:51:51.56ID:6ACM/5dE0 242 の質問者です。
僕の質問が悪かったせいで、少し雰囲気を悪くさせてしまった様で申し訳ありませんでした。
改めて質問させてください。
コードサイニング証明書の取得はどこが1番、費用が安いでしょうか?
聞くだけではダメなので、自分でもネットで調べてみました。
個人的にてはありますが、海外のECサイトで、1年で99ドルというものもありました。
ttps://blog.katsubemakito.net/articles/buy-comodo-codesigning
日本だと、1年で2万円が最安値?と認識してます。
僕の質問が悪かったせいで、少し雰囲気を悪くさせてしまった様で申し訳ありませんでした。
改めて質問させてください。
コードサイニング証明書の取得はどこが1番、費用が安いでしょうか?
聞くだけではダメなので、自分でもネットで調べてみました。
個人的にてはありますが、海外のECサイトで、1年で99ドルというものもありました。
ttps://blog.katsubemakito.net/articles/buy-comodo-codesigning
日本だと、1年で2万円が最安値?と認識してます。
263デフォルトの名無しさん (ワッチョイ c702-yXul)
2022/05/15(日) 00:04:11.57ID:tGTiPFBf0 それ、そんなに必要なものか?
ネットに転がってるフリーソフト使ってたらガンガン出るけど
ネットに転がってるフリーソフト使ってたらガンガン出るけど
264デフォルトの名無しさん (ワッチョイ c702-yXul)
2022/05/15(日) 00:06:57.20ID:tGTiPFBf0 そもそも海外のよくわかんねー機関に金積んで得られるものに何の信用があるのよ?
265デフォルトの名無しさん (ワッチョイ d32d-hFP2)
2022/05/15(日) 00:26:37.67ID:Ipi6C5sV0 WIndowsで使えるってことはMSがその認証機関を信用してるってこと
認証機関がいい加減な仕事をして信用を失うとそこのルート証明書が無効化される
認証機関がいい加減な仕事をして信用を失うとそこのルート証明書が無効化される
266デフォルトの名無しさん (ワッチョイ b342-lIli)
2022/05/15(日) 00:57:30.11ID:ZqvBN/g40 圧倒的に安いのはMSのWindowsStore
費用は大体2000円ぐらいで生涯使えるし、一つのアカウントを使い続けるならアプリは何本でも追加費用は取られない
問題はUWP,WinUI3で作るか、WpfやWinFormsならMSIX形式のインストーラに変更することとMSの審査があるのでそれを通さないといけないこと
Windows10仕様のアイコンも作らないといけない
費用は大体2000円ぐらいで生涯使えるし、一つのアカウントを使い続けるならアプリは何本でも追加費用は取られない
問題はUWP,WinUI3で作るか、WpfやWinFormsならMSIX形式のインストーラに変更することとMSの審査があるのでそれを通さないといけないこと
Windows10仕様のアイコンも作らないといけない
267デフォルトの名無しさん (ワッチョイ efd2-ydBh)
2022/05/15(日) 00:58:59.47ID:LE0M373c0 便乗して質問だけどこういう認証ってのは
配布するインストーラのバイナリが「改竄されていない」、「配布元が会社名 CO LTD.を名乗る権利がある」ってのを保証してくれるだけ?
保証元として信用するのはデフォルトではMicrosoft(かMicrosoftが認証してる保証会社)だけって認識だけど
配布するインストーラのバイナリが「改竄されていない」、「配布元が会社名 CO LTD.を名乗る権利がある」ってのを保証してくれるだけ?
保証元として信用するのはデフォルトではMicrosoft(かMicrosoftが認証してる保証会社)だけって認識だけど
268デフォルトの名無しさん (ワッチョイ d32d-hFP2)
2022/05/15(日) 01:38:10.49ID:Ipi6C5sV0 >>267
「配布元が会社名 CO LTD.を名乗る権利がある」じゃなくて「アプリの配布元(がなりすましされていないこと)」の保証だね
個人でも取得できるコードサイニング証明書は無条件にはMSに信用されてなくて最初の内はSmartScreenが表示される(らしい)
法人しか取得できないEVコードサイニング証明書なら最初からSmartScreenは表示されない
後者は法人の存在確認が定期的にあったりより厳密
「配布元が会社名 CO LTD.を名乗る権利がある」じゃなくて「アプリの配布元(がなりすましされていないこと)」の保証だね
個人でも取得できるコードサイニング証明書は無条件にはMSに信用されてなくて最初の内はSmartScreenが表示される(らしい)
法人しか取得できないEVコードサイニング証明書なら最初からSmartScreenは表示されない
後者は法人の存在確認が定期的にあったりより厳密
269デフォルトの名無しさん (ワッチョイ d32d-hFP2)
2022/05/15(日) 01:38:43.97ID:Ipi6C5sV0 厳密じゃなくて厳格か
270デフォルトの名無しさん (ワッチョイ c702-yXul)
2022/05/15(日) 03:02:38.88ID:tGTiPFBf0 成りすまし/改ざん防止なら最近添えるのが流行りのpgpとかで十分なんじゃないの、何か悪い事が起きても俺じゃなくて他人が手を加えたせいだ、という証明にはなるから自己防衛には十分だろ
逆に言えば何かあったら言い逃れできないけど、認証機関を介さないが故に個人情報とは切り離せるわけで、トンズラも可能
書き手にとってはとても都合がいい
逆に言えば何かあったら言い逃れできないけど、認証機関を介さないが故に個人情報とは切り離せるわけで、トンズラも可能
書き手にとってはとても都合がいい
271デフォルトの名無しさん (ワッチョイ d32d-hFP2)
2022/05/15(日) 10:26:11.54ID:Ipi6C5sV0272デフォルトの名無しさん (テテンテンテン MM17-Hrmj)
2022/05/15(日) 15:14:46.24ID:F+SXCyPNM サイン証明って実はリソース部分書き換えてもついたままなをだよな。
273デフォルトの名無しさん (ワッチョイ 9fda-Zpy8)
2022/05/15(日) 21:35:20.30ID:9FqWYCkM0 リソースってのはCOFF的には只の特殊セグメントなんでな
更に、ユーザー定義リソースってどんなデーターでも
格納出来る形式があってだな、we留守の格納に...おや誰か来たようだ
更に、ユーザー定義リソースってどんなデーターでも
格納出来る形式があってだな、we留守の格納に...おや誰か来たようだ
274デフォルトの名無しさん (ワッチョイ 737f-yvGd)
2022/05/16(月) 06:56:14.67ID:6t2iMJ0O0 SmartScreenの警告はダウンロードしたときに
「ファイル名:Zone.Identifier」が勝手に作成されて起動時にチェックしてる
「ファイル名:Zone.Identifier」が勝手に作成されて起動時にチェックしてる
275デフォルトの名無しさん (ワッチョイ 27e6-hFP2)
2022/05/17(火) 22:43:59.32ID:U++gJ6eR0 TreeViewとかListViewの使い方が載っている本を教えてください。
276デフォルトの名無しさん (ワッチョイ 2b6e-Suzn)
2022/05/17(火) 22:55:59.31ID:vPKF91U40277デフォルトの名無しさん (オイコラミネオ MM49-yvGd)
2022/05/17(火) 23:41:38.48ID:C7nZqj5bM278デフォルトの名無しさん (ワッチョイ 9fda-Zpy8)
2022/05/18(水) 00:14:57.64ID:2qQDAoA/0279デフォルトの名無しさん (ワッチョイ 27e6-hFP2)
2022/05/18(水) 21:10:13.07ID:dKdqkOyw0280デフォルトの名無しさん (ワッチョイ b342-lIli)
2022/05/18(水) 21:31:33.31ID:diUTiqLR0 nLogは5.0からdatabase名前空間のパッケージが独立した
破壊的変更の場合はもう少しわかりやすいところに変更書いてくれよ
nlog.databaseを追加すりゃいいだけなんだけどさ
破壊的変更の場合はもう少しわかりやすいところに変更書いてくれよ
nlog.databaseを追加すりゃいいだけなんだけどさ
281デフォルトの名無しさん (ワッチョイ f101-Lfyp)
2022/05/18(水) 21:35:57.04ID:iR7wkq9I0 >>279
本屋さんにこの手の専門書はほぼないだろうなぁ
本屋さんにこの手の専門書はほぼないだろうなぁ
282デフォルトの名無しさん (オイコラミネオ MM49-yvGd)
2022/05/18(水) 23:44:43.59ID:5wqn8ALkM 本には詳しい説明は書いてないのでやりたいことを検索窓に突っ込んだ方がまし
listview databinding item 幅いっぱいとかw
listview databinding item 幅いっぱいとかw
283デフォルトの名無しさん (ワッチョイ 3fac-YYQQ)
2022/05/19(木) 00:15:57.29ID:uGnwJzVO0 NLogお世話になってます
284デフォルトの名無しさん (ワッチョイ 27e6-hFP2)
2022/05/19(木) 23:10:43.67ID:VcSHhdY40 Windows95の時代にC#があったかな。
285デフォルトの名無しさん (ワッチョイ 2b68-yvGd)
2022/05/20(金) 00:57:04.11ID:R6FV90Kc0 相談です。
ランチャーを作りたいなと思い起動時は非表示(非アクティブ)に
何かのキーを押されたら表示したいのです。
アプリが非アクティブの時でもキーボードの入力イベントを取得する方法は無いでしょうか?
ランチャーを作りたいなと思い起動時は非表示(非アクティブ)に
何かのキーを押されたら表示したいのです。
アプリが非アクティブの時でもキーボードの入力イベントを取得する方法は無いでしょうか?
286デフォルトの名無しさん (ワッチョイ 2d5f-ljAb)
2022/05/20(金) 01:34:48.57ID:eaUqMOJr0 >>285
グローバルフック
グローバルフック
287デフォルトの名無しさん (ワッチョイ 0e68-eugl)
2022/05/21(土) 02:00:44.14ID:pmnVOflo0 >>286
サンクス!
WPFで作ってるんだけどグローバルフックを調べて組み込んでみました。
MainWindowをHideするとグローバルフックが効かなくなるので
MainWindowは描画をせずグローバルフックを動かして、
子WindowにWindowを描画してHide/Showするようにしたらなんとか形になりました。
こんなのでいいのかなんだかすっきりせず。
サンクス!
WPFで作ってるんだけどグローバルフックを調べて組み込んでみました。
MainWindowをHideするとグローバルフックが効かなくなるので
MainWindowは描画をせずグローバルフックを動かして、
子WindowにWindowを描画してHide/Showするようにしたらなんとか形になりました。
こんなのでいいのかなんだかすっきりせず。
288デフォルトの名無しさん (ワッチョイ bb5f-fQ5s)
2022/05/21(土) 10:29:06.89ID:XiDxIIx00 >>287
なんでだろ?メインウィンドウからフック仕掛けてる?
Formsの頃の記憶だけど、Application.run以前にSingletonな管理クラス作ってやってた。
そいつからイベント送られてくるようにしてたよ。
それで問題なかったはずだけど、なんか変わったんのかな。
なんでだろ?メインウィンドウからフック仕掛けてる?
Formsの頃の記憶だけど、Application.run以前にSingletonな管理クラス作ってやってた。
そいつからイベント送られてくるようにしてたよ。
それで問題なかったはずだけど、なんか変わったんのかな。
289デフォルトの名無しさん (ワッチョイ 8b01-H9jD)
2022/05/21(土) 14:05:38.07ID:2Lltosx/0 以前HotKeyで作ったけど中身はグローバルフックなんかな
290デフォルトの名無しさん (ワッチョイ 5b24-HkEA)
2022/05/21(土) 15:40:41.47ID:4jCCGHc40 Utf8Parser.TryParse(span, out DateTime date, out _, 'O')について聞きたいんだけど、以下の文字列はUtf8Bytesとして
"2022-01-01T00:00:00.0000000Z" ← 28文字のこれなら正常に成功するのに
"2022-01-01T00:00:00.000000Z" ← 27文字のこっちは失敗する
DateTime.TryParseなら後者も成功するんだけどこれはUtf8Parserがポンコツってこと?
それともDateTime.TryParseがオーバー解析してくれてるだけで28文字未満の"O"形式のDateTime投げてくる方が非常識?
"2022-01-01T00:00:00.0000000Z" ← 28文字のこれなら正常に成功するのに
"2022-01-01T00:00:00.000000Z" ← 27文字のこっちは失敗する
DateTime.TryParseなら後者も成功するんだけどこれはUtf8Parserがポンコツってこと?
それともDateTime.TryParseがオーバー解析してくれてるだけで28文字未満の"O"形式のDateTime投げてくる方が非常識?
291デフォルトの名無しさん (ワッチョイ 6778-eugl)
2022/05/21(土) 15:55:42.97ID:cfNQUnEf0292デフォルトの名無しさん (ワッチョイ 3e2d-5qYK)
2022/05/21(土) 16:15:24.74ID:ec9yQBCj0 >>290
失敗しても仕様の範囲内ぽい
> ラウンドトリップ ("O"、"o") 書式指定子
> "O" または "o" 標準書式指定子は、DateTime 値の "yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffffK" カスタム書式指定文字列と
> DateTimeOffset 値の "yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffffzzz" カスタム書式指定文字列に対応します。
失敗しても仕様の範囲内ぽい
> ラウンドトリップ ("O"、"o") 書式指定子
> "O" または "o" 標準書式指定子は、DateTime 値の "yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffffK" カスタム書式指定文字列と
> DateTimeOffset 値の "yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffffzzz" カスタム書式指定文字列に対応します。
293sage (ワッチョイ cebb-8jyA)
2022/05/21(土) 16:43:22.42ID:0fNBsESd0 27文字のが来る状況あるんだっけ?
294デフォルトの名無しさん (ワッチョイ 0e68-eugl)
2022/05/21(土) 18:38:40.30ID:hT1fnPAH0 >>288
レスありがとう!
MainWindowからフックしています。
シングルトンにはしてないですが、MainWindowは生きているので、
フック自体は破棄されていませんが、どうもダメでした・・・
レスありがとう!
MainWindowからフックしています。
シングルトンにはしてないですが、MainWindowは生きているので、
フック自体は破棄されていませんが、どうもダメでした・・・
295デフォルトの名無しさん (ワッチョイ 4e7b-fxJh)
2022/05/21(土) 21:45:54.24ID:8HM5gfhu0 >>285
特定のキーで表示ならSystem.Timers.Timer使ってGetKeyStateとかでキー入力監視
キーがヒットしたらタイマー止めて目的のウィンドウを表示
ずっと監視するのが嫌でなければ実装はかなり楽な方かと
アプリランチャーならタスクトレイに格納してマウスクリックで表示させての方が使いやすい気がするけど
特定のキーで表示ならSystem.Timers.Timer使ってGetKeyStateとかでキー入力監視
キーがヒットしたらタイマー止めて目的のウィンドウを表示
ずっと監視するのが嫌でなければ実装はかなり楽な方かと
アプリランチャーならタスクトレイに格納してマウスクリックで表示させての方が使いやすい気がするけど
296デフォルトの名無しさん (ワッチョイ 2702-SjAR)
2022/05/22(日) 01:09:06.35ID:7HW4nX7o0 RawInputでいいんじゃね
297デフォルトの名無しさん (ワッチョイ 0e68-eugl)
2022/05/22(日) 01:44:20.92ID:xpEgvjj30298デフォルトの名無しさん (ワッチョイ 5b24-HkEA)
2022/05/22(日) 09:35:29.30ID:gmOf9ICx0299デフォルトの名無しさん (ブーイモ MMe7-WhUL)
2022/05/22(日) 10:21:24.48ID:GyF0oANxM 悪いけど、Webのレスポンスだったら最初から全部UTF16でやっても全くパフォーマンス変わらないと思うよ
300デフォルトの名無しさん (ワッチョイ 5b24-HkEA)
2022/05/22(日) 11:48:59.69ID:gmOf9ICx0 >>299
そんな大きなペナルティがあるとは思ってないけど全く変わらないというのはどういう原理で?
JsonDocument.Parse(response.Content.ReadAsStream())みたいな感じでやってるけど、これだとUtf8のままパースされてるよね
そんな大きなペナルティがあるとは思ってないけど全く変わらないというのはどういう原理で?
JsonDocument.Parse(response.Content.ReadAsStream())みたいな感じでやってるけど、これだとUtf8のままパースされてるよね
301デフォルトの名無しさん (スッップ Sdba-WhUL)
2022/05/22(日) 15:34:34.14ID:Nn/6kHB8d 用途次第じゃない?
HTTPSの通信に比べればJSONのデコードなんか誤差だから単一の処理で見るなら全く意味ないだろうけど、
もし大量のリクエストを捌くサーバーを作っているならCPUやメモリの使用率を削減することでサーバーのインスタンス数を削減できるかもしれない
HTTPSの通信に比べればJSONのデコードなんか誤差だから単一の処理で見るなら全く意味ないだろうけど、
もし大量のリクエストを捌くサーバーを作っているならCPUやメモリの使用率を削減することでサーバーのインスタンス数を削減できるかもしれない
302デフォルトの名無しさん (ワッチョイ 2702-SjAR)
2022/05/22(日) 16:53:52.96ID:7HW4nX7o0 そこまでシビアなら、他にもっと先に見直す所があると思うけど
303デフォルトの名無しさん (ワッチョイ f96e-yO3c)
2022/05/29(日) 18:01:05.65ID:Gx8AtDBv0 WindowsFormはそれなりに少し経験はあるんですが行き詰まっているので相談です
centos7にapach上で、これまでhttpd.confにAliasで特定のドキュメントルーツを設定して
phpでつくったWebアプリをいくつか動かしている環境があり、ここに新たに
Blazorサーバやってみようと、dotnetインストールしてrunまではできてます
(配置したdllを実行するserviceをつくってそれも起動可能な状態)
phpでつくったアプリのようにAliasで簡単にできるかなと思ってたらそうでもなく
サイトググるとVirtualHostの例がちらほら
example.com/app1 ・・・ var/www/app1 にphpアプリ配置
example.com/app2 ・・・var/www/app2 にphpアプリ配置
example.com/blazor を新たに配置するにはどの辺調べればいいですかね
MSのドキュメントやBlazorや先日でたNET6の書籍とか見ながらいろいろやってはみたものの
どれもうまくいかず、行き詰まっております(方向性を見失ってます)
リクエストきたものをkestrelに渡してやらなきゃいけないってのはなんとなく理解してますが
VirtualHostとリバースプロキシをきちんと理解しないでできないですかね
centos7にapach上で、これまでhttpd.confにAliasで特定のドキュメントルーツを設定して
phpでつくったWebアプリをいくつか動かしている環境があり、ここに新たに
Blazorサーバやってみようと、dotnetインストールしてrunまではできてます
(配置したdllを実行するserviceをつくってそれも起動可能な状態)
phpでつくったアプリのようにAliasで簡単にできるかなと思ってたらそうでもなく
サイトググるとVirtualHostの例がちらほら
example.com/app1 ・・・ var/www/app1 にphpアプリ配置
example.com/app2 ・・・var/www/app2 にphpアプリ配置
example.com/blazor を新たに配置するにはどの辺調べればいいですかね
MSのドキュメントやBlazorや先日でたNET6の書籍とか見ながらいろいろやってはみたものの
どれもうまくいかず、行き詰まっております(方向性を見失ってます)
リクエストきたものをkestrelに渡してやらなきゃいけないってのはなんとなく理解してますが
VirtualHostとリバースプロキシをきちんと理解しないでできないですかね
304デフォルトの名無しさん (ワッチョイ f96e-yO3c)
2022/05/29(日) 18:02:59.94ID:Gx8AtDBv0 ドキュメントルーツ・・・ドキュメントルートです
すみません
すみません
305デフォルトの名無しさん (ブーイモ MM4b-1gLZ)
2022/05/29(日) 19:36:38.11ID:kVtoPC2XM IISでホストしてApache側でVirtualHostの指定でリバースプロキシすりゃいいよ
頭悪い構成だが、その調子だとリバースプロキシの設定はなんとかなってもどうせdotnetアプリを常時起動する方法が見当つかないんだろ?
頭悪い構成だが、その調子だとリバースプロキシの設定はなんとかなってもどうせdotnetアプリを常時起動する方法が見当つかないんだろ?
306デフォルトの名無しさん (ワッチョイ 3978-yO3c)
2022/05/29(日) 20:08:21.68ID:DRuRn6I70 >>303
リバースプロキシ使用時はhttps使わない構成にしなきゃダメだぞ
リバースプロキシ使用時はhttps使わない構成にしなきゃダメだぞ
307デフォルトの名無しさん (オイコラミネオ MM9d-rAsz)
2022/05/29(日) 20:15:46.80ID:1ETRcw7wM308デフォルトの名無しさん (アウアウウー Sac5-sxTc)
2022/05/30(月) 04:15:11.38ID:JkhndRSZa 数か月ぶりでここ覗いてみたけどまだ結構人がいるみたいでちょっと安心したw
以前は旧FireFoxのChaikaってアドオンをだましだまし使ってたんだが、(それがいよいよ
使えなくなったのが来なくなった理由)今回JaneStyleを入れてみたが、作者さんを批判する訳じゃないが、
UIは25年前のWin98時代のものだし鬱陶しいエロ広告は表示されるし結構萎えるなこれ
C#といっこも関係ない話題ですまん
以前は旧FireFoxのChaikaってアドオンをだましだまし使ってたんだが、(それがいよいよ
使えなくなったのが来なくなった理由)今回JaneStyleを入れてみたが、作者さんを批判する訳じゃないが、
UIは25年前のWin98時代のものだし鬱陶しいエロ広告は表示されるし結構萎えるなこれ
C#といっこも関係ない話題ですまん
309デフォルトの名無しさん (ワッチョイ f96e-yO3c)
2022/05/30(月) 08:09:38.08ID:n9/aIkj20 みなさんレスありがとうございます
>>305
serviceつくって常時起動はできてるかなと思います
>>306 >>307
稼働WEBサーバはhttpsのみなので、ってことは今の構成でそのままっていかないんですね
(Rewriteでhttpをhttpsにしている)
ネットの設定例にある、http://localhost~; をhttpsにしていましたが
ネットで見つけられた設定例って、そのサーバの全アクセスをリバースプロキシさせるようなものがほとんどで
自ドメインの特定のアドレス(上でいう、example.com/blazor)だけを
リバースプロキシさせてdotnetが受け取れるようにってできないもんでしょうか?
できるということであれば、どうにかして調べます
バーチャルホストは複数のドメインを扱ってて、Aliasは同じドメインで複数のドキュメントルートを扱えると
考えているので、やりたいことはバーチャルホストでできないんじゃないかなと思ってるんですが
サブドメインにしちゃえば1つのドメインでもやれますかね
>>305
serviceつくって常時起動はできてるかなと思います
>>306 >>307
稼働WEBサーバはhttpsのみなので、ってことは今の構成でそのままっていかないんですね
(Rewriteでhttpをhttpsにしている)
ネットの設定例にある、http://localhost~; をhttpsにしていましたが
ネットで見つけられた設定例って、そのサーバの全アクセスをリバースプロキシさせるようなものがほとんどで
自ドメインの特定のアドレス(上でいう、example.com/blazor)だけを
リバースプロキシさせてdotnetが受け取れるようにってできないもんでしょうか?
できるということであれば、どうにかして調べます
バーチャルホストは複数のドメインを扱ってて、Aliasは同じドメインで複数のドキュメントルートを扱えると
考えているので、やりたいことはバーチャルホストでできないんじゃないかなと思ってるんですが
サブドメインにしちゃえば1つのドメインでもやれますかね
310デフォルトの名無しさん (オイコラミネオ MM9d-rAsz)
2022/05/30(月) 08:44:27.76ID:terzLTfjM できるよ
311デフォルトの名無しさん (ワッチョイ 4910-yO3c)
2022/05/30(月) 14:27:32.28ID:rKCebS3v0 >>310
ありがとうございます
後者の方はhttpでうまくできました
ただ、実際はユーザーからhttpsでつながせたいのですが
証明書がないのでブラウザで開いても動作確認できず
メインドメインのSSL証明書だと、ワイルドカードだと割高なのでドメインを
追加するしかないかなと思うのですが、
VirtualHostの設定内に取得した証明書の設定書いてやれば
httpsで動作させることができると考えてもいいんでしょうか?
下みたいな感じで。前者の方ならそんな手間も費用もいらないんでしょうが、方法がみつからない
<VirtualHost *:443>
ServerName hoge.example.com
ProxyPreserveHost On
ProxyPass / https://localhost:5001/
ProxyPassReverse / https://localhost:5001/
RewriteEngine on
RewriteCond %{HTTPS} on
RewriteCond %{HTTPS:UPGRADE} ^WebSocket$ [NC]
RewriteCond %{HTTPS:CONNECTION} Upgrade$ [NC]
RewriteRule /(.*) ws://127.0.0.1:5001/$1 [P]
ありがとうございます
後者の方はhttpでうまくできました
ただ、実際はユーザーからhttpsでつながせたいのですが
証明書がないのでブラウザで開いても動作確認できず
メインドメインのSSL証明書だと、ワイルドカードだと割高なのでドメインを
追加するしかないかなと思うのですが、
VirtualHostの設定内に取得した証明書の設定書いてやれば
httpsで動作させることができると考えてもいいんでしょうか?
下みたいな感じで。前者の方ならそんな手間も費用もいらないんでしょうが、方法がみつからない
<VirtualHost *:443>
ServerName hoge.example.com
ProxyPreserveHost On
ProxyPass / https://localhost:5001/
ProxyPassReverse / https://localhost:5001/
RewriteEngine on
RewriteCond %{HTTPS} on
RewriteCond %{HTTPS:UPGRADE} ^WebSocket$ [NC]
RewriteCond %{HTTPS:CONNECTION} Upgrade$ [NC]
RewriteRule /(.*) ws://127.0.0.1:5001/$1 [P]
312デフォルトの名無しさん (ワッチョイ 4910-yO3c)
2022/05/30(月) 14:30:41.80ID:rKCebS3v0 SSL部分書き忘れましたが、書き方は省略します
SSLEngine on
SSLCertificateFile [crtのパス]~~以下略
SSLEngine on
SSLCertificateFile [crtのパス]~~以下略
313デフォルトの名無しさん (ワッチョイ d38b-yO3c)
2022/05/30(月) 15:23:01.71ID:/JK2MYXZ0 俺はPHPも使えるんだぜ
すげーなおれ
すげーなおれ
314デフォルトの名無しさん (ワッチョイ 4910-yO3c)
2022/05/30(月) 16:31:04.22ID:rKCebS3v0 >>311はいちど撤回します
Program.csでapp.UseHttpsRedirection()が抜けてたのでそれを加えつつ
前者の方をLocationでなんとかhttpsでの表示までたどり着きましたが
どうも完全な動作をしてない様子です
(Blazorの学習用のテンプレートでメニューやテキストだけだけ羅列された状態)
<Location "/blazor">
ProxyPreserveHost On
ProxyPass http://localhost:5000/
ProxyPassReverse http://localhost:5000/
RewriteEngine on
RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]
RewriteCond %{HTTP:CONNECTION} Upgrade$ [NC]
RewriteRule /(.*) ws://127.0.0.1:5000/$1 [P]
</Location>
もう一息な感じなんですが・・・
Program.csでapp.UseHttpsRedirection()が抜けてたのでそれを加えつつ
前者の方をLocationでなんとかhttpsでの表示までたどり着きましたが
どうも完全な動作をしてない様子です
(Blazorの学習用のテンプレートでメニューやテキストだけだけ羅列された状態)
<Location "/blazor">
ProxyPreserveHost On
ProxyPass http://localhost:5000/
ProxyPassReverse http://localhost:5000/
RewriteEngine on
RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]
RewriteCond %{HTTP:CONNECTION} Upgrade$ [NC]
RewriteRule /(.*) ws://127.0.0.1:5000/$1 [P]
</Location>
もう一息な感じなんですが・・・
315314 (ワッチョイ f96e-yO3c)
2022/05/30(月) 19:40:46.77ID:n9/aIkj20 解決しました
サーバー側でなく、ソース側の修正で表示できました
サーバー側でなく、ソース側の修正で表示できました
316デフォルトの名無しさん (ワッチョイ 236e-fUg7)
2022/06/18(土) 22:52:15.42ID:5N4YYnEs0 古い話題で恐縮なんですが質問です。
https://docs.microsoft.com/ja-jp/dotnet/standard/asynchronous-programming-patterns/calling-synchronous-methods-asynchronously#executing-a-callback-method-when-an-asynchronous-call-completes
IAsyncResult result = caller.BeginInvoke(3000,
out dummy,
new AsyncCallback(CallbackMethod),
"The call executed on thread {0}, with return value \"{1}\".");
begininvokeで呼び出されたのが終わるとき、callbackmethodが呼び出されることまではわかりました。
https://docs.microsoft.com/ja-jp/dotnet/standard/asynchronous-programming-patterns/calling-synchronous-methods-asynchronously#executing-a-callback-method-when-an-asynchronous-call-completes
IAsyncResult result = caller.BeginInvoke(3000,
out dummy,
new AsyncCallback(CallbackMethod),
"The call executed on thread {0}, with return value \"{1}\".");
begininvokeで呼び出されたのが終わるとき、callbackmethodが呼び出されることまではわかりました。
317デフォルトの名無しさん (ワッチョイ 236e-fUg7)
2022/06/18(土) 22:53:28.07ID:5N4YYnEs0 途中送信すみません。
callbackmethodを見ると引数にIAsyncResult arとありますが、これはどこから来たものでしょうか?
begininvokeでは呼び出す関数を指定してはいますが、その関数に渡す引数は指定していないように見えます。
よろしくお願いします。
callbackmethodを見ると引数にIAsyncResult arとありますが、これはどこから来たものでしょうか?
begininvokeでは呼び出す関数を指定してはいますが、その関数に渡す引数は指定していないように見えます。
よろしくお願いします。
318デフォルトの名無しさん (テテンテンテン MMb6-BknV)
2022/06/19(日) 00:17:36.07ID:TrF8/kJeM https://docs.microsoft.com/ja-jp/dotnet/api/system.asynccallback?view=net-6.0
のとおり、AsyncCallbackは
「public delegate void AsyncCallback(IAsyncResult ar);」
と定義されてるデリゲートだけど・・・?
のとおり、AsyncCallbackは
「public delegate void AsyncCallback(IAsyncResult ar);」
と定義されてるデリゲートだけど・・・?
319デフォルトの名無しさん (ワッチョイ 9bad-Ko7F)
2022/06/19(日) 01:35:57.45ID:NHHRNcNt0 関数ポインタというか関数オブジェクト
320デフォルトの名無しさん (ワッチョイ 9a01-ylO7)
2022/06/19(日) 08:04:27.42ID:Nk1h87ob0 >>317
> callbackmethodを見ると引数にIAsyncResult arとありますが、これはどこから来たものでしょうか?
.NET側で作成して必要な情報をセットしてCallbackMethodを呼び出すようになってるだけだよ
> callbackmethodを見ると引数にIAsyncResult arとありますが、これはどこから来たものでしょうか?
.NET側で作成して必要な情報をセットしてCallbackMethodを呼び出すようになってるだけだよ
321デフォルトの名無しさん (ワッチョイ 236e-fUg7)
2022/06/19(日) 10:47:43.19ID:O3VLYjye0322デフォルトの名無しさん (ワッチョイ 0eda-G5eL)
2022/06/19(日) 10:52:20.66ID:nWWcJPGW0 セグメント的な意味ならスタックじゃね?
323デフォルトの名無しさん (ワッチョイ cebb-643o)
2022/06/19(日) 11:41:03.45ID:7K+FVRoS0 この質問の的はずれな感じ初心者だろうからこっち行け
https://mevius.5ch.net/test/read.cgi/tech/1655422932/l50
https://mevius.5ch.net/test/read.cgi/tech/1655422932/l50
324デフォルトの名無しさん (アウアウウー Sa47-/Z3s)
2022/06/19(日) 12:21:28.04ID:+YnI+5A8a あなたの心の中にあるよ
325デフォルトの名無しさん (ワッチョイ a702-KtZt)
2022/06/19(日) 14:14:38.43ID:YZZ11uFp0 CのDLLから呼び出し規約cdeclのコールバック用の関数ポインタを要求された場合、
C#のデリゲートを受け渡し出来る方法、もしくはC#側でcdeclの関数を作る方法はありますか?
C#のデリゲートを受け渡し出来る方法、もしくはC#側でcdeclの関数を作る方法はありますか?
326デフォルトの名無しさん (ワッチョイ db63-PIvG)
2022/06/19(日) 15:01:29.91ID:mFXr9uBN0 GetFunctionPointerの説明にはDelegateの定義にUnmanagedFunctionPointerAttributeをつけるとCallingConventionを制御できると書いてある
327デフォルトの名無しさん (ワッチョイ a702-KtZt)
2022/06/19(日) 15:23:57.91ID:YZZ11uFp0 なるほど、属性で指定するんですね
ちょっと試してみます
ちょっと試してみます
328デフォルトの名無しさん (ワッチョイ 4f5f-WSeP)
2022/06/26(日) 10:39:56.55ID:UB4e87n30 半角の#は制御文字で
しょうもないバグの要因になるから使いたく無いんだよな
なんで#なんか名前に使ったん?
しょうもないバグの要因になるから使いたく無いんだよな
なんで#なんか名前に使ったん?
329デフォルトの名無しさん (ワッチョイ 4f78-tCSL)
2022/06/26(日) 10:47:20.23ID:ljaQjS590 C++++って呼べばいいと思うよ
330デフォルトの名無しさん (ワッチョイ 8fcf-HIN6)
2022/06/26(日) 10:53:50.00ID:mb7mYMEr0 >>328
どういう意味の「制御文字」?制御文字というとふつうは0x00-0x1fを想像してしまうが。
どういう意味の「制御文字」?制御文字というとふつうは0x00-0x1fを想像してしまうが。
331デフォルトの名無しさん (ドコグロ MM4f-85MC)
2022/06/26(日) 11:09:18.97ID:4GsWpWI+M non-alphanumeric
332デフォルトの名無しさん (ワッチョイ 7fbb-XsAS)
2022/06/26(日) 11:17:43.56ID:NLYG3vIc0 C++はいいのか?
333デフォルトの名無しさん (スププ Sd5f-G2Dv)
2022/06/29(水) 11:22:11.80ID:rVQ8qMbxd まあ#よりはマシなのでは
ただしcppって略してc preprocessorと被せるのは許さん
ただしcppって略してc preprocessorと被せるのは許さん
334デフォルトの名無しさん (ワッチョイ 3f42-tCSL)
2022/06/29(水) 11:41:40.54ID:B8mpBogv0 どう見ても問題になるのは+の方
正規表現で邪魔になる
正規表現で邪魔になる
335デフォルトの名無しさん (オッペケ Sra3-5iuk)
2022/06/29(水) 11:54:18.32ID:anfh1Uacr c+4ってなるよりはマシ、、、
もっといいセンスあったやろなあ今更やが
もっといいセンスあったやろなあ今更やが
336デフォルトの名無しさん (ワッチョイ 4f5f-WSeP)
2022/06/29(水) 20:32:03.37ID:5BRKVkZj0 おジャ魔女どれみ#
337デフォルトの名無しさん (アウアウウー Sad3-GDq9)
2022/06/29(水) 21:36:03.92ID:ZbbkHISNa しょうがないんだ
あの時代は自称ヒッピーのキモオタ世界だったし、Microsoftはすべての商品名の他に社名までが究極的にゴミクソ脱糞太郎だからな
何が.NETだボケ
あの時代は自称ヒッピーのキモオタ世界だったし、Microsoftはすべての商品名の他に社名までが究極的にゴミクソ脱糞太郎だからな
何が.NETだボケ
338デフォルトの名無しさん (スップ Sd5f-hjm/)
2022/06/29(水) 22:13:24.27ID:MHsZYoUcd マイクロソフトボブおじさんおったよな
339デフォルトの名無しさん (アウアウウー Sad3-7uco)
2022/06/30(木) 08:36:25.96ID:vvnSi9+Ba csharpでよかったのに
340デフォルトの名無しさん (スッップ Sd5f-hjm/)
2022/06/30(木) 08:44:23.01ID:mxGmIKrnd +を四つ組み合わせたんやろ
341デフォルトの名無しさん (ワッチョイ cfad-GKPB)
2022/06/30(木) 09:02:49.53ID:RS+78JOl0 +++だとモデムがコマンドモードに入って具合悪いからな
342デフォルトの名無しさん (アウアウウー Sad3-sbT5)
2022/06/30(木) 11:25:19.25ID:l3rHcZB/a Cpp って C pre processor のことだろ
343デフォルトの名無しさん (ワッチョイ 3f3e-sii1)
2022/06/30(木) 23:55:35.01ID:yANzD8P40 底辺職業ランキングで c# プログラマが一位を獲得。
底辺職業の条件 3つ
1. 同じことを繰り返す。
for ループつかってるよね。
2. 誰でもできる
スタックオーバーフローを見れば、c#プログラミングなんて誰でもできる。
3. 体力勝負
https://i.imgur.com/0BRVa3M.jpg
c# アプリケーションのビルドが含まれているとのこと。
底辺職業の条件 3つ
1. 同じことを繰り返す。
for ループつかってるよね。
2. 誰でもできる
スタックオーバーフローを見れば、c#プログラミングなんて誰でもできる。
3. 体力勝負
https://i.imgur.com/0BRVa3M.jpg
c# アプリケーションのビルドが含まれているとのこと。
344デフォルトの名無しさん (ワッチョイ 8f63-2c2u)
2022/07/01(金) 02:57:28.78ID:I3o7r2ai0 はえ~最近の生ゴミは掲示板に投稿できるんですね
345デフォルトの名無しさん (ワッチョイ 0f63-tCSL)
2022/07/01(金) 15:22:31.26ID:svwhpzKm0 VisualStudio 2015 ターゲットフレームワーク .Net Framework 4.5.2
Shownイベントで発生した例外をApplication.ThreadExceptionでキャッチ
したいのですが期待する例外が届きません。
何が原因なのでしょうか。
public partial class Form1 : Form {
[STAThread] static void Main() {
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.ThreadException += ShowException;
Application.Run(new Form1());
}
private static void ShowException(object sender, ThreadExceptionEventArgs e) {
MessageBox.Show(e.Exception.ToString());
}
private void Test() {
try {
throw new Exception("1 起点");
}
catch (Exception ex) {
throw new Exception("2 期待する例外", ex);
}
}
public Form1() { InitializeComponent(); }
private void Form1_Shown(object sender, EventArgs e) { Test(); } //1が届く
private void button1_Click(object sender, EventArgs e) { Test(); } //2が届く
}
Shownイベントで発生した例外をApplication.ThreadExceptionでキャッチ
したいのですが期待する例外が届きません。
何が原因なのでしょうか。
public partial class Form1 : Form {
[STAThread] static void Main() {
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.ThreadException += ShowException;
Application.Run(new Form1());
}
private static void ShowException(object sender, ThreadExceptionEventArgs e) {
MessageBox.Show(e.Exception.ToString());
}
private void Test() {
try {
throw new Exception("1 起点");
}
catch (Exception ex) {
throw new Exception("2 期待する例外", ex);
}
}
public Form1() { InitializeComponent(); }
private void Form1_Shown(object sender, EventArgs e) { Test(); } //1が届く
private void button1_Click(object sender, EventArgs e) { Test(); } //2が届く
}
346デフォルトの名無しさん (ワッチョイ 3fad-boEX)
2022/07/01(金) 16:11:44.24ID:3n4aX0eh0 なぜサポート切れのバージョンを…
347デフォルトの名無しさん (ワッチョイ 0f6e-H0HQ)
2022/07/01(金) 20:14:48.14ID:dkEku/by0 古いのを使わないといけないプロジェクトに放り込まれる辛さってあるよね……
客先行ったらvisual studio 2010だと言われたときの絶望
客先行ったらvisual studio 2010だと言われたときの絶望
348デフォルトの名無しさん (ワッチョイ cf78-auNL)
2022/07/02(土) 00:00:46.05ID:thG8tJ450 >>345
https://referencesource.microsoft.com/#System.Windows.Forms/winforms/Managed/System/WinForms/Form.cs,4908
理由は分らないけど↓が原因っぽい
this.BeginInvoke(new MethodInvoker(CallShownEvent));
試しにbuttun2を追加して以下のコードを実行したら同じ現象が発生した
private void button2_Click(object sender, EventArgs e) { BeginInvoke(new MethodInvoker(Test)); }
https://referencesource.microsoft.com/#System.Windows.Forms/winforms/Managed/System/WinForms/Form.cs,4908
理由は分らないけど↓が原因っぽい
this.BeginInvoke(new MethodInvoker(CallShownEvent));
試しにbuttun2を追加して以下のコードを実行したら同じ現象が発生した
private void button2_Click(object sender, EventArgs e) { BeginInvoke(new MethodInvoker(Test)); }
349デフォルトの名無しさん (アウアウウー Sacf-l9hR)
2022/07/02(土) 04:41:25.58ID:F5+MIbFGa >>347
使わなければいけない理由って何だろう?慣例で使い続けてるのなら承諾得てバージョンアップするべきだし、予算の都合なら上を説得して稟議出すべき
使わなければいけない理由って何だろう?慣例で使い続けてるのなら承諾得てバージョンアップするべきだし、予算の都合なら上を説得して稟議出すべき
350デフォルトの名無しさん (ワッチョイ ca89-tv2t)
2022/07/02(土) 07:08:15.65ID:39Wf3KWj0351デフォルトの名無しさん (ワッチョイ 8a01-BQ8I)
2022/07/02(土) 09:45:46.45ID:At3W7bIA0 >>349
受託でも自社でもいいけど売り物の開発したことないのか?
新しいVSでる度に新バージョンに移行なんてやってられないぞ
なんのためにMSがサブスクで過去バージョン使えるようにしてると思ってるんだよ
受託でも自社でもいいけど売り物の開発したことないのか?
新しいVSでる度に新バージョンに移行なんてやってられないぞ
なんのためにMSがサブスクで過去バージョン使えるようにしてると思ってるんだよ
352デフォルトの名無しさん (スッップ Sdaa-8NLY)
2022/07/02(土) 10:15:43.97ID:2EN85JI9d VS2022スレに書くか迷ったけどスレの勢いがありそうなこちらに
razorページ書いてて、コード部分や変数部分が色が変わるけど、ページスクロールさせていくと一定の場所からプロパティの色がとぶ
上に戻ると表示は直る、消えているときは数秒ごとに付くべき色が一瞬ちらつく
メソッドの定義なんかは色が付いたまま
考えられる原因ってありますかねぇ
伝わるかどうか不安ですが、、、
razorページ書いてて、コード部分や変数部分が色が変わるけど、ページスクロールさせていくと一定の場所からプロパティの色がとぶ
上に戻ると表示は直る、消えているときは数秒ごとに付くべき色が一瞬ちらつく
メソッドの定義なんかは色が付いたまま
考えられる原因ってありますかねぇ
伝わるかどうか不安ですが、、、
353デフォルトの名無しさん (ワッチョイ 27ad-96ld)
2022/07/02(土) 10:47:08.32ID:Nqfsnfr90 VSが力尽きた
354デフォルトの名無しさん (ワッチョイ 8a02-yupI)
2022/07/02(土) 10:49:08.06ID:3bhPD9xQ0 メモリを32GBは積まないと無理だぞ
355デフォルトの名無しさん (ワッチョイ 8710-auNL)
2022/07/02(土) 14:01:01.27ID:qdkCWbbw0356デフォルトの名無しさん (ワッチョイ a3e3-NvsD)
2022/07/02(土) 15:55:12.45ID:Hl2BGrbY0 >>349
上がVSとターゲットビルドバージョンの区別がついてないから
上がVSとターゲットビルドバージョンの区別がついてないから
357デフォルトの名無しさん (アウアウウー Sacf-zUVh)
2022/07/06(水) 10:36:39.11ID:Eu330xAsa C#の関数ポインタでstaticなメソッド(GC管理下)のアドレスを保持するとき、GCによってアドレスが移動して参照出来なくなる、といったことはありえますか?
358デフォルトの名無しさん (ワッチョイ 0a24-Zn5V)
2022/07/06(水) 12:46:13.50ID:I0+9VWih0 関数のアドレスが移動することはない
dllのアンロードにより消え去ることはあり得るがそれはプログラマの責任
dllのアンロードにより消え去ることはあり得るがそれはプログラマの責任
359デフォルトの名無しさん (アウアウウー Sacf-zUVh)
2022/07/06(水) 13:18:48.55ID:Eu330xAsa >>358
ありがとうございます。うまく調べられなかったので助かりました
ありがとうございます。うまく調べられなかったので助かりました
360デフォルトの名無しさん (ワッチョイ 8749-hFrK)
2022/07/06(水) 14:13:11.32ID:L8iINPbs0 いえいえ
361デフォルトの名無しさん (ワッチョイ 27ad-96ld)
2022/07/06(水) 16:59:30.96ID:4c2uM/uj0 あたらなければどうということはない
362デフォルトの名無しさん (ワッチョイ 8a02-yupI)
2022/07/06(水) 22:44:44.73ID:VxYrHSBA0 夏は〆鯖に限るな
363デフォルトの名無しさん (ワッチョイ 5301-bw8e)
2022/07/06(水) 23:10:42.62ID:c/WBgrCD0 猪&鹿&鳥の刺身とセットでドゾー
364デフォルトの名無しさん (アウアウウー Sacf-96ld)
2022/07/07(木) 05:50:37.22ID:Zmd+D9aAa 蝶もうまいよ
365デフォルトの名無しさん (スプッッ Sd43-UXSH)
2022/07/11(月) 08:41:37.48ID:9VbmZwXxd blazor触ってるんですが、デバッグでチェックしていると
開発ツールでbodyタグの最後に
live-preview-rootというタグが入って
hiddenのdiv内にsrcがYouTubeのアドレスの入ったiframeが入るんですが、なんですかねこれ、、、
アドレスはyotubeのあとにstaticやらscheduleなどが続いていて、踏んでもソースがでるだけ
ページ表示させただけでは出てなくて、開発ツールの要素にだけ出てくるのですが、ビルドしてサーバに置いた場合は出ない、、、あくまでもデバッグ中のページのみ
そもそもプロジェクト内にはYouTubeの文言はないし、クロームでもedgeでもでます
vsの仕様なのか、なんなのか、、、
心当たりある方いますか?
開発ツールでbodyタグの最後に
live-preview-rootというタグが入って
hiddenのdiv内にsrcがYouTubeのアドレスの入ったiframeが入るんですが、なんですかねこれ、、、
アドレスはyotubeのあとにstaticやらscheduleなどが続いていて、踏んでもソースがでるだけ
ページ表示させただけでは出てなくて、開発ツールの要素にだけ出てくるのですが、ビルドしてサーバに置いた場合は出ない、、、あくまでもデバッグ中のページのみ
そもそもプロジェクト内にはYouTubeの文言はないし、クロームでもedgeでもでます
vsの仕様なのか、なんなのか、、、
心当たりある方いますか?
366デフォルトの名無しさん (スプッッ Sd43-UXSH)
2022/07/11(月) 08:44:44.50ID:9VbmZwXxd ちなみにテンプレートからの新規作成プロジェクトの時点出てるので、ソースそのものの問題ではないと思うのですが
367デフォルトの名無しさん (オイコラミネオ MM51-TkQT)
2022/07/11(月) 09:04:43.64ID:DQKxRie+M Choromeだけじゃなくて他のでもひらいてみ
368デフォルトの名無しさん (スプッッ Sd43-UXSH)
2022/07/11(月) 12:21:14.47ID:iwvb/poMd >>367
最初に気づいたのがEdgeで、Chromeでも同じでした
Firefoxだと、live-preview-root #shadow-root(open)までで
iframeにYouTubeへのリンクは出ませんでした
EdgeってChromeベースで、Googleのスクリプトみたいなのが
勝手に差し込まれるんですかね、、、
最初に気づいたのがEdgeで、Chromeでも同じでした
Firefoxだと、live-preview-root #shadow-root(open)までで
iframeにYouTubeへのリンクは出ませんでした
EdgeってChromeベースで、Googleのスクリプトみたいなのが
勝手に差し込まれるんですかね、、、
369デフォルトの名無しさん (ワッチョイ cb2c-0UEB)
2022/07/11(月) 19:29:42.75ID:plmq8H3m0 たぶん、便利な開発用ツールか何かじゃないの?
370デフォルトの名無しさん (アウアウウー Sa09-WuFg)
2022/07/30(土) 18:54:16.32ID:jErZjSQja 皆さん、インクリメントとデクリメントについてどのようにお考えですか?
個人的にこれを使うことに抵抗があります(無知が理由で)
特に、内部メソッド等にローカルなintを渡して処理後に1だけ加算したいときってよくあると思うんですが、
int num = 0;
M(num); num++; これと
M(num++); これは、本当に常に一致してくれるんでしょうか?
IL上での違いはこんな感じでした
// M(num);
IL_0003: ldloc.0
IL_0004: call void C::'<M>g__M|0_0'(int32)
IL_0009: nop
// num++;
IL_000a: ldloc.0
IL_000b: ldc.i4.1
IL_000c: add
IL_000d: stloc.0
IL_000e: nop
// M(num++);
IL_0003: ldloc.0
IL_0004: dup
IL_0005: ldc.i4.1
IL_0006: add
IL_0007: stloc.0
IL_0008: call void C::'<M>g__M|0_0'(int32)
IL_000d: nop
IL_000e: nop
これって最終的には同じコードなんでしょうか?
可読性以外の差異がありましたら教えていただけないでしょうか。よろしくお願いします
個人的にこれを使うことに抵抗があります(無知が理由で)
特に、内部メソッド等にローカルなintを渡して処理後に1だけ加算したいときってよくあると思うんですが、
int num = 0;
M(num); num++; これと
M(num++); これは、本当に常に一致してくれるんでしょうか?
IL上での違いはこんな感じでした
// M(num);
IL_0003: ldloc.0
IL_0004: call void C::'<M>g__M|0_0'(int32)
IL_0009: nop
// num++;
IL_000a: ldloc.0
IL_000b: ldc.i4.1
IL_000c: add
IL_000d: stloc.0
IL_000e: nop
// M(num++);
IL_0003: ldloc.0
IL_0004: dup
IL_0005: ldc.i4.1
IL_0006: add
IL_0007: stloc.0
IL_0008: call void C::'<M>g__M|0_0'(int32)
IL_000d: nop
IL_000e: nop
これって最終的には同じコードなんでしょうか?
可読性以外の差異がありましたら教えていただけないでしょうか。よろしくお願いします
371デフォルトの名無しさん (ワッチョイ f102-1wwR)
2022/07/30(土) 19:14:00.13ID:Syvf1c+c0 そんなに気になるならデバッグで逆アセンブルコードでも見ればええやん
372デフォルトの名無しさん (ラクッペペ MMee-kNao)
2022/07/30(土) 19:16:04.98ID:1KJkNmDVM >>370
引数の値の評価が違う
前者
numを評価(変数numの値は0)→M呼出し(引数の値は0)→num++を評価(変数numの値は1)
後者
num++を評価(変数numの値は1)→M呼出し(引数の値は1)→変数numの値は1
引数の値の評価が違う
前者
numを評価(変数numの値は0)→M呼出し(引数の値は0)→num++を評価(変数numの値は1)
後者
num++を評価(変数numの値は1)→M呼出し(引数の値は1)→変数numの値は1
373デフォルトの名無しさん (テテンテンテン MMee-D2l6)
2022/07/30(土) 19:48:51.18ID:Qp1EMWGTM あれ、
「m(++num)」ってインクリメントが前なら引数が加算後の1になるのは分かるんだけど
「m(num++)」だと加算前の0が引数になるんじゃ?と思った
個人的にはインクリメント結果を代入したり引数にしたりする使い方は禁忌とすべきだと思う
使っていいのは単項目で「i++;」みたいなことをするときだけにしておきたい
できることならfor (var i=0; i<length; i++)みたいな定型for以外は面倒でも
「i = i + 1;」と書かせたいくらいだなあ
「m(++num)」ってインクリメントが前なら引数が加算後の1になるのは分かるんだけど
「m(num++)」だと加算前の0が引数になるんじゃ?と思った
個人的にはインクリメント結果を代入したり引数にしたりする使い方は禁忌とすべきだと思う
使っていいのは単項目で「i++;」みたいなことをするときだけにしておきたい
できることならfor (var i=0; i<length; i++)みたいな定型for以外は面倒でも
「i = i + 1;」と書かせたいくらいだなあ
374デフォルトの名無しさん (ワッチョイ 0a2d-gOJn)
2022/07/30(土) 19:49:39.77ID:x7sp4WG30375デフォルトの名無しさん (ラクッペペ MMee-kNao)
2022/07/30(土) 20:09:53.26ID:2QzW5DDXM 言語仕様としては厳密には未定義なのかも知れないが、少なくとも>>370のILの中身見た限りでは引数評価後に関数呼び出しが行われる様に実装されてる
376デフォルトの名無しさん (ラクッペペ MMee-kNao)
2022/07/30(土) 20:14:24.72ID:2QzW5DDXM 未定義というより環境依存かな
大抵の言語では関数の呼出しと引数の評価順は明確化されてないのでいわゆる副作用として扱われる
大抵の言語では関数の呼出しと引数の評価順は明確化されてないのでいわゆる副作用として扱われる
377デフォルトの名無しさん (ワッチョイ 0a2d-gOJn)
2022/07/30(土) 20:48:41.87ID:x7sp4WG30378デフォルトの名無しさん (ワッチョイ 7a01-Jv5Y)
2022/07/30(土) 22:50:30.62ID:zHogqexf0 >>376
複数の引数の評価順が未規定なのはよくあるけど引数の評価前に関数呼出するような言語なんてあったっけ?
複数の引数の評価順が未規定なのはよくあるけど引数の評価前に関数呼出するような言語なんてあったっけ?
379デフォルトの名無しさん (ワッチョイ f102-1wwR)
2022/07/30(土) 22:54:13.72ID:Syvf1c+c0 そういう読み違いが発生しそうなコーディングすんなって事でいいのでは
380デフォルトの名無しさん (ワッチョイ 7a01-Jv5Y)
2022/07/30(土) 23:20:24.67ID:zHogqexf0 言語仕様の話とコーディングルールの話をごっちゃにすんなよ
381デフォルトの名無しさん (ワッチョイ f102-1wwR)
2022/07/30(土) 23:41:50.24ID:Syvf1c+c0 https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/expressions#1141-general
Operands in an expression are evaluated from left to right.
Example: In F(i) + G(i++) * H(i),
method F is called using the old value of i,
then method G is called with the old value of i, and,
finally, method H is called with the new value of i.
This is separate from and unrelated to operator precedence.
Operands in an expression are evaluated from left to right.
Example: In F(i) + G(i++) * H(i),
method F is called using the old value of i,
then method G is called with the old value of i, and,
finally, method H is called with the new value of i.
This is separate from and unrelated to operator precedence.
382デフォルトの名無しさん (ワッチョイ 7a01-Jv5Y)
2022/07/31(日) 00:12:35.62ID:UwyiR8NW0383デフォルトの名無しさん (スップ Sd9a-V/2h)
2022/08/01(月) 13:24:37.35ID:kNeknzrgd 複数の評価が連続した場合の副作用完了点は大抵の言語で規定されてない
例えば上の様に関数に与える引数の中の式で副作用を起こす場合これに該当する
例えば上の様に関数に与える引数の中の式で副作用を起こす場合これに該当する
384デフォルトの名無しさん (オイコラミネオ MMed-woMg)
2022/08/07(日) 00:16:44.36ID:pGypWfdHM VC++は未定義動作でーすでバージョン変わったら評価順も変わって結果が変わる
cout <<i++ <<i++<<i++<<i++<<i++<<i++;
cout <<i++ <<i++<<i++<<i++<<i++<<i++;
385デフォルトの名無しさん (ワッチョイ 1324-SMvG)
2022/08/08(月) 16:40:20.17ID:Zu2CvCE20 C++は17か20で言語として評価順定義されるようになった
386デフォルトの名無しさん (ワッチョイ ebbb-qy/x)
2022/08/08(月) 16:57:09.86ID:0tCAtbwJ0 この辺の仕様全然詳しくないけどさ
++numとか分かりにくいし行儀悪いし個人的にはいらないと感じる
num++だけありゃいい
for文の++iteとかこんがらがるからマジやめてほしい
++numとか分かりにくいし行儀悪いし個人的にはいらないと感じる
num++だけありゃいい
for文の++iteとかこんがらがるからマジやめてほしい
387デフォルトの名無しさん (ワッチョイ 0101-GG26)
2022/08/08(月) 18:45:13.05ID:D1YR1/+G0 static int i;
i += i++ + ++i;
i += i++ + ++i;
388デフォルトの名無しさん (ワッチョイ 1324-SMvG)
2022/08/09(火) 11:28:31.41ID:fi8MqYS+0 >>386
for (int i = 0; i < end; ++i)とした方がコンパイラへの負担が少なく最適化が効きやすかった時代があったからな
前方演算は一時バッファが必要ないからね
そもそも前方演算は普通に多用するし意味も一目で分かると思うが
for (int i = 0; i < end; ++i)とした方がコンパイラへの負担が少なく最適化が効きやすかった時代があったからな
前方演算は一時バッファが必要ないからね
そもそも前方演算は普通に多用するし意味も一目で分かると思うが
389デフォルトの名無しさん (ワッチョイ 1310-woMg)
2022/08/09(火) 11:36:38.83ID:niqQpNGr0 >>387
これの結果を教えてください
これの結果を教えてください
390デフォルトの名無しさん (ワッチョイ ebbb-qy/x)
2022/08/09(火) 12:52:49.39ID:r/lnXFyZ0 >>388
書き方が悪かったな
記法はnum++か++numのどっちかに限定されてりゃ機能的には前方演算だけでいいと思ってるよ
for文の中とかで++iteって書くかite++って書くかで挙動が変わるのが直感的じゃないって話な
そもそもC#はforeach使うんだから++ite or ite++なんてC/C++でしか見ないし
使い分けるメリットより処理の流れがぱっと見で分かりにくくなるデメリットのがでかい
書き方が悪かったな
記法はnum++か++numのどっちかに限定されてりゃ機能的には前方演算だけでいいと思ってるよ
for文の中とかで++iteって書くかite++って書くかで挙動が変わるのが直感的じゃないって話な
そもそもC#はforeach使うんだから++ite or ite++なんてC/C++でしか見ないし
使い分けるメリットより処理の流れがぱっと見で分かりにくくなるデメリットのがでかい
391デフォルトの名無しさん (テテンテンテン MM8b-ZZ1N)
2022/08/09(火) 13:49:05.69ID:2iss01tUM C++は欠陥言語
392デフォルトの名無しさん (ワッチョイ 1301-lJ3c)
2022/08/09(火) 13:59:36.63ID:1M0VmsOK0 そりゃ整数とかなら n++ でも ++n でもほぼ変わらんコード吐くけどクラスのインタンス変数だと n++ は前の値をコピーしとかないとダメなケースがあるからまとめられたら困るよ
393デフォルトの名無しさん (ワッチョイ 0101-GG26)
2022/08/09(火) 18:49:35.78ID:FsWZlIco0394デフォルトの名無しさん (スップ Sd73-mkdh)
2022/08/10(水) 08:46:49.99ID:hWDzUiQ9d C++の++の意味を考えようね
395デフォルトの名無しさん (アウアウウー Sa55-gTvx)
2022/08/12(金) 14:03:40.45ID:KG7cCtIla >>392
クラスのこれがあるから++nが身に染み付いたわ
クラスのこれがあるから++nが身に染み付いたわ
396デフォルトの名無しさん (ワッチョイ aebb-oUG4)
2022/08/13(土) 00:12:15.52ID:bvO6Jh/U0397デフォルトの名無しさん (アウアウウー Saa5-Uudr)
2022/08/13(土) 04:27:04.87ID:OsxM9aZ0a398デフォルトの名無しさん (ワッチョイ c224-lIuZ)
2022/08/18(木) 12:03:10.49ID:4iAYLuqc0 .Net Core以上だとビッグエンディアン環境にも対応するようだけど、ターゲットOSをWindowsにしてビルドする限りは100%リトルエンディアンって認識で大丈夫?
窓用である限り絶対にLEであるならLEなバイナリファイルに対してポインタ使いたいんだけど
窓用である限り絶対にLEであるならLEなバイナリファイルに対してポインタ使いたいんだけど
399デフォルトの名無しさん (ワッチョイ 2e2c-O3lh)
2022/08/18(木) 12:14:08.73ID:1q98B+xd0 そこまで実行環境限定できないなら
Main直後にエンディアン調べてビッグエンディアンでは動きませーんってメッセージだしときゃいいんじゃね
今なくても未来永劫ないとはいえんわけだし
Main直後にエンディアン調べてビッグエンディアンでは動きませーんってメッセージだしときゃいいんじゃね
今なくても未来永劫ないとはいえんわけだし
400デフォルトの名無しさん (テテンテンテン MM26-BbL+)
2022/08/18(木) 12:14:49.68ID:nbqSIqDKM いいのでは
っていうか、今の時代のビッグエンディアン環境ってどんなんだろ
っていうか、今の時代のビッグエンディアン環境ってどんなんだろ
401デフォルトの名無しさん (アウアウウー Saa5-KAJr)
2022/08/18(木) 12:26:04.24ID:zre7odKUa ネットワークバイトオーダーは死んだのか
402デフォルトの名無しさん (ササクッテロル Spf1-18Wl)
2022/08/18(木) 13:30:14.03ID:oAeyX7Mzp 国葬されました
403デフォルトの名無しさん (ワッチョイ aebb-oUG4)
2022/08/18(木) 15:34:48.73ID:SUTQRi3H0 反対します!
404デフォルトの名無しさん (ワッチョイ 4201-8lLW)
2022/08/18(木) 16:39:49.05ID:X/mZUHYK0 >>400
汎用機で動かすとか
汎用機で動かすとか
405デフォルトの名無しさん (ワッチョイ 9901-kLe4)
2022/08/18(木) 17:19:03.68ID:PFNC2u5+0 >>400
powerpc とか
powerpc とか
406デフォルトの名無しさん (ワッチョイ dd5f-AF7r)
2022/08/18(木) 18:28:37.54ID:q5oXxkWm0 64bitの時代でもリトルエンディアンとか関係あるのか
バイナリデータを直接操作する用途以外は関係ないんじゃないの
バイナリデータを直接操作する用途以外は関係ないんじゃないの
407デフォルトの名無しさん (ワッチョイ 9901-kLe4)
2022/08/18(木) 19:20:00.05ID:PFNC2u5+0 I/Oが一切発生しないコンピューターならそうかもな
408デフォルトの名無しさん (ワッチョイ 4d2f-O3lh)
2022/08/19(金) 00:53:24.27ID:OSKKwF+I0 バイナリ「データ」のファイルなら、自分でフォーマット決めとけばいいだけじゃ?
コードを直接バイナリファイルでどうこうするって話?
.NETのプログラムってVM上で動いていると思ったんだが、CORE以降だと違うのか?
コードを直接バイナリファイルでどうこうするって話?
.NETのプログラムってVM上で動いていると思ったんだが、CORE以降だと違うのか?
409デフォルトの名無しさん (ワッチョイ 4201-8lLW)
2022/08/19(金) 06:05:35.26ID:MAIXTOEK0410デフォルトの名無しさん (ワッチョイ dd5f-vHmA)
2022/08/19(金) 06:23:56.59ID:YuhQFNoo0 マシン語やアセンブリ言語だと
CPUの仕様によってコードの並び順を考えなきゃいけないだろうが
C#ではコンパイラで全部やってくれるから気にしなくて良いんじゃないの
CPUの仕様によってコードの並び順を考えなきゃいけないだろうが
C#ではコンパイラで全部やってくれるから気にしなくて良いんじゃないの
411デフォルトの名無しさん (アウアウウー Saa5-KAJr)
2022/08/19(金) 07:13:48.79ID:QMISJLeVa なにをいってるんだ
412デフォルトの名無しさん (オイコラミネオ MM49-5Ix7)
2022/08/19(金) 19:22:41.70ID:CKALhjuSM バイナリファイルがあってそれがビッグエンディアンかリトルエンディアンか分かってないなら
どちらにしても意味がない
プログラムがとかc#がとかいう前の段階
どちらにしても意味がない
プログラムがとかc#がとかいう前の段階
413デフォルトの名無しさん (アウアウウー Sa63-ruds)
2022/08/25(木) 12:01:45.09ID:Kj4JFaopa414デフォルトの名無しさん (アウアウウー Sa63-ruds)
2022/08/25(木) 12:06:29.77ID:Kj4JFaopa415デフォルトの名無しさん (ワッチョイ eebb-JjaS)
2022/08/30(火) 23:48:03.75ID:wcZ40xDv0 IEnumrable<T>に.ForEach拡張がデフォルトで用意されてないのは端的に言って何故?
List<T>にはあるのに
↓の問題は?速度?
public static void ForEach<T>(this IEnumerable<T> items, Action<T> action) {
foreach (var item in items) {
action(item);
}
}
List<T>にはあるのに
↓の問題は?速度?
public static void ForEach<T>(this IEnumerable<T> items, Action<T> action) {
foreach (var item in items) {
action(item);
}
}
416デフォルトの名無しさん (ワッチョイ 4201-hjXB)
2022/08/31(水) 00:06:13.35ID:IP5lcB3x0417デフォルトの名無しさん (スップ Sdea-TRym)
2022/09/12(月) 18:39:52.16ID:Ws5FMSEUd ソートの質問です。
タブ区切りのCSVファイルを1行ずつそのままlistに入れた後、list の区切り[16]と[17]に数字が入っていてこれを[17]優先、次に[16]で降順ソートがしたいです。
調べるとラムダ式という便利そうなものが引っかかるのですが、区切って使用することは出来るんですかね?
タブ区切りのCSVファイルを1行ずつそのままlistに入れた後、list の区切り[16]と[17]に数字が入っていてこれを[17]優先、次に[16]で降順ソートがしたいです。
調べるとラムダ式という便利そうなものが引っかかるのですが、区切って使用することは出来るんですかね?
418デフォルトの名無しさん (ワッチョイ 1507-Nn/6)
2022/09/12(月) 18:48:00.24ID:pGdD9pkE0 CSVをそのまま使うんじゃねえ
読み込んだらパースしてオブジェクトに直せ
パースはstring.splitとか使ってるやつ多いがバグを防ぐためにcsvhelperとか使え
読み込んだらパースしてオブジェクトに直せ
パースはstring.splitとか使ってるやつ多いがバグを防ぐためにcsvhelperとか使え
419デフォルトの名無しさん (ワッチョイ 3d24-/v0B)
2022/09/12(月) 21:33:05.70ID:57KFzM310 >>417
var sorted = File.ReadAllLines("data.csv").Select(line => line.Split(',')).OrderByDescending(x => int.Parse(x[17])).ThenByDescending(x => int.Parse(x[16]));
var sorted = File.ReadAllLines("data.csv").Select(line => line.Split(',')).OrderByDescending(x => int.Parse(x[17])).ThenByDescending(x => int.Parse(x[16]));
420デフォルトの名無しさん (ワッチョイ 3d24-/v0B)
2022/09/12(月) 21:37:18.87ID:57KFzM310 タブ区切りか
それTSVやん
まあソートの方が要点だろうからパースの方はご自由に
それTSVやん
まあソートの方が要点だろうからパースの方はご自由に
421デフォルトの名無しさん (アウアウウー Sa21-Nn/6)
2022/09/12(月) 21:41:44.89ID:WJNzCKdga tsvはcsvの一種だがどうしてお前らはsplitを使いたがるんだ
422デフォルトの名無しさん (ワッチョイ 6978-OdF3)
2022/09/12(月) 21:49:03.68ID:LNujs6wk0 区切りが制御文字だったらまぁ許せる
423デフォルトの名無しさん (ワッチョイ 3abd-TRym)
2022/09/12(月) 23:47:17.20ID:dk7j9tfb0424デフォルトの名無しさん (ワッチョイ 1507-Nn/6)
2022/09/13(火) 01:03:32.30ID:8hsXm+8m0 今度はsortedが文字列になってないと言い出すぞ
425デフォルトの名無しさん (ワッチョイ 3d24-/v0B)
2022/09/13(火) 09:51:22.32ID:ezVKzpwg0 >>423
File.ReadAllLines("data.csv").Select(line => line.Split(','))
↑ここまでがcsvをカンマで区切るコードでタブ区切りならSplit('\t')に変えてね
上で言われてるようにSplitだとセル内文字として'\t'が入ってると全てズレてきてしまうのでガチでやるなら専用のパーサーライブラリに頼るべきだが
File.ReadAllLines("data.csv").Select(line => line.Split(','))
↑ここまでがcsvをカンマで区切るコードでタブ区切りならSplit('\t')に変えてね
上で言われてるようにSplitだとセル内文字として'\t'が入ってると全てズレてきてしまうのでガチでやるなら専用のパーサーライブラリに頼るべきだが
426デフォルトの名無しさん (テテンテンテン MM3e-F+o0)
2022/09/13(火) 12:26:30.00ID:I78luoMLM 手抜きCSV実装はバグの元なのでライブラリ使え
規格に沿って真面目に実装するとそれなりに面倒
規格に沿って真面目に実装するとそれなりに面倒
427デフォルトの名無しさん (ワッチョイ e6bb-VPVD)
2022/09/13(火) 12:40:20.37ID:IWUAvQuR0 csvの標準って無かったはずだけど?
infoのrfcのこと言ってる?
infoのrfcのこと言ってる?
428デフォルトの名無しさん (ワッチョイ b501-lsvC)
2022/09/13(火) 12:43:16.28ID:OYU/TjHO0 csvはsuper calc のデータ形式
429デフォルトの名無しさん (ワッチョイ 1110-OdF3)
2022/09/13(火) 18:29:27.33ID:N+nHMRy40 Microsoft.VisualBasic.FileIO.TextFieldParser がお勧め。
本来はVB用のライブラリだが普通にC#からも呼び出せる。
本来はVB用のライブラリだが普通にC#からも呼び出せる。
430デフォルトの名無しさん (ワッチョイ eaad-5ozR)
2022/09/13(火) 19:05:00.69ID:Q9r0zfg80 何がおすすめなんだか…
431デフォルトの名無しさん (ラクッペペ MM3e-jm1v)
2022/09/13(火) 19:09:49.55ID:zXX+ut2QM dllがいらない!
432デフォルトの名無しさん (ワッチョイ a902-2m22)
2022/09/13(火) 19:13:35.91ID:u48XvMAP0 フィールドに改行もダブルクォートもカンマも使わんならSplitでええけど
そうじゃないならCSVHelper使っとけ
そうじゃないならCSVHelper使っとけ
433デフォルトの名無しさん (ワッチョイ ea2c-aQ9k)
2022/09/14(水) 00:45:14.45ID:Y/jBtdol0 Ruby で作った
タブ区切りの入力ファイル・input.tsv が以下の時、
-1 1.1
-2 -2.2
5 1.1
3 3.3
1 1.1
require 'csv'
# タブ区切りで、:numeric は、:integer と :float の組み合わせ
options = { col_sep: "\t", converters: :numeric }
table = CSV.read( "input.tsv", options )
sorted_ary = table.sort_by do |col_0, col_1|
[ col_1, -col_0 ] # col_1 の昇順で、col_0 の降順
end
p sorted_ary
出力
[[-2, -2.2], [5, 1.1], [1, 1.1], [-1, 1.1], [3, 3.3]]
タブ区切りの入力ファイル・input.tsv が以下の時、
-1 1.1
-2 -2.2
5 1.1
3 3.3
1 1.1
require 'csv'
# タブ区切りで、:numeric は、:integer と :float の組み合わせ
options = { col_sep: "\t", converters: :numeric }
table = CSV.read( "input.tsv", options )
sorted_ary = table.sort_by do |col_0, col_1|
[ col_1, -col_0 ] # col_1 の昇順で、col_0 の降順
end
p sorted_ary
出力
[[-2, -2.2], [5, 1.1], [1, 1.1], [-1, 1.1], [3, 3.3]]
434デフォルトの名無しさん (ワッチョイ e5ad-XV74)
2022/09/14(水) 01:24:45.04ID:ZnLQmmJg0 ルビ基地
435デフォルトの名無しさん (ワッチョイ 1507-QIIi)
2022/09/16(金) 14:23:45.81ID:zgH3cb2a0 >>427
ExcelのCSVが扱えれば問題はまずおきない
ExcelのCSVが扱えれば問題はまずおきない
436デフォルトの名無しさん (ワッチョイ 1e66-OVjx)
2022/09/16(金) 15:43:00.15ID:wH2I1UzM0 Excelのセル中途中改行、途中ダブルクォーテーション、途中¥
の全てが複雑に1つのセルに入ってても問題なくExcelと同じ解釈になるのが、事実上の要件やろな。
の全てが複雑に1つのセルに入ってても問題なくExcelと同じ解釈になるのが、事実上の要件やろな。
437デフォルトの名無しさん (アウアウウー Sa21-QIIi)
2022/09/16(金) 16:31:46.42ID:1woCku44a カンマと改行と"を何らかの方法でエスケープすればスプリットでも問題ないな
CSV化はエンコーディングした文字列をstring.Joinでカンマ区切り
読み取りはカンマでスプリットした後デコード
エンコーディングにBASE64とかパーセントエンコーディングが使えれば面倒無さそうな気がしたがどっちも半角記号をそのまま通すからだめだわ
自作しても大した手間はかからんけどCsvHelper使う方が明らかに楽だからなあ
あとExcelで開いて文字化けと思われる可能性も無くはない
CSV化はエンコーディングした文字列をstring.Joinでカンマ区切り
読み取りはカンマでスプリットした後デコード
エンコーディングにBASE64とかパーセントエンコーディングが使えれば面倒無さそうな気がしたがどっちも半角記号をそのまま通すからだめだわ
自作しても大した手間はかからんけどCsvHelper使う方が明らかに楽だからなあ
あとExcelで開いて文字化けと思われる可能性も無くはない
438デフォルトの名無しさん (ラクッペペ MM3e-jm1v)
2022/09/16(金) 16:48:41.84ID:HkImjBxjM 今更熱く語られても
439デフォルトの名無しさん (アウアウウー Sa21-QIIi)
2022/09/16(金) 16:50:44.61ID:1woCku44a >>437
正規表現とDictionary<T>を使えばもう少しはエレガントに書けるし速度のためにはLengthの倍の大きさのバッファを用意してSpan<char>を使うべきなのかもしれないけどイメージとしてはこんな感じ
string Encode(string src) => src.Replace("=", "==").Replace("\r", "=r").Replace("\n", "=n").Replace(",", "=c").Replace("\"", "=q");
正規表現とDictionary<T>を使えばもう少しはエレガントに書けるし速度のためにはLengthの倍の大きさのバッファを用意してSpan<char>を使うべきなのかもしれないけどイメージとしてはこんな感じ
string Encode(string src) => src.Replace("=", "==").Replace("\r", "=r").Replace("\n", "=n").Replace(",", "=c").Replace("\"", "=q");
440デフォルトの名無しさん (アウアウウー Sa21-QIIi)
2022/09/16(金) 17:21:16.73ID:1woCku44a441デフォルトの名無しさん (ラクッペペ MM3e-6u6j)
2022/09/16(金) 17:43:17.46ID:w5ho8AuvM 自転車置き場の議論
442デフォルトの名無しさん (アウアウウー Sa21-QIIi)
2022/09/16(金) 17:57:18.47ID:1woCku44a 5chで重要な議論をするわけがないだろw
443デフォルトの名無しさん (ラクッペペ MM3e-6u6j)
2022/09/16(金) 18:08:05.17ID:w5ho8AuvM なるほど
444デフォルトの名無しさん (ワッチョイ a902-2m22)
2022/09/16(金) 19:21:46.56ID:ScWWmq7w0445デフォルトの名無しさん (ワッチョイ 5707-qF/N)
2022/09/17(土) 10:51:42.40ID:vRd8nzJr0 まあ独自フォーマットが選べるならJSON使え、CSVでなきゃいけないのならCsvHelper使え、で済む話ではある
446デフォルトの名無しさん (ワッチョイ 7778-E+l9)
2022/09/17(土) 13:19:53.78ID:mojlhM6K0 固定長形式でオススメのライブラリある?
447デフォルトの名無しさん (アウアウウー Sa5b-Xik/)
2022/09/17(土) 13:59:36.21ID:TWFffCR9a sscanf
448デフォルトの名無しさん (ワッチョイ 7702-UC+/)
2022/09/17(土) 15:15:20.11ID:AHjbVUjh0 nugetをfixedで検索して、ダウンロード多い奴でそれっぽいの探してみりゃいいんじゃね
449デフォルトの名無しさん (アウアウウー Sa5b-qF/N)
2022/09/17(土) 17:41:50.72ID:HhHvs5OGa 固定長ならstruct割り当てて文字列はnew string(Span<T>)すればいいやん
450デフォルトの名無しさん (スッップ Sdbf-6Fps)
2022/09/20(火) 06:26:16.07ID:PUPPAQzJd var 〇〇
これってなんでも型ってことですか?ネットで検索するとよく見かけるんですが使い分けとかあるんですか?
これってなんでも型ってことですか?ネットで検索するとよく見かけるんですが使い分けとかあるんですか?
451デフォルトの名無しさん (ワッチョイ 5707-zepy)
2022/09/20(火) 07:05:14.47ID:OoIkmPQF0452デフォルトの名無しさん (ワッチョイ 9741-BLZI)
2022/09/20(火) 09:47:17.09ID:Mh2Dy9Lg0 ググって2秒で合点
453デフォルトの名無しさん (アウアウウー Sa5b-8eP5)
2022/09/20(火) 10:49:28.97ID:2fXkGtCja NHKおはスポ
454デフォルトの名無しさん (アウアウウー Sa43-ybmn)
2022/09/26(月) 15:02:13.04ID:DEOTfi9Xa int[] A = new int[100];
A[i]にfor文で0-9番目の要素まで数値格納
Array.Sort(A);
これやるとAの0-89番目の要素が0になって肝心の入力が後ろに行ってしまう
int[] AA = A.where(item => item != 0).toarray();
に配列を作り直すと入力が0だとそれも消してしまう…
何かいい方法ありますかね…
最初からListつかって以外で
A[i]にfor文で0-9番目の要素まで数値格納
Array.Sort(A);
これやるとAの0-89番目の要素が0になって肝心の入力が後ろに行ってしまう
int[] AA = A.where(item => item != 0).toarray();
に配列を作り直すと入力が0だとそれも消してしまう…
何かいい方法ありますかね…
最初からListつかって以外で
455デフォルトの名無しさん (ワッチョイ 162c-i8Eu)
2022/09/26(月) 15:08:44.66ID:7QDEX4sS0 イマイチよくわからんが
Array.Sort(Array, int, int)
で部分ソートすればいいって話?
Array.Sort(Array, int, int)
で部分ソートすればいいって話?
456デフォルトの名無しさん (アウアウウー Sa43-ybmn)
2022/09/26(月) 15:23:09.99ID:DEOTfi9Xa あっ、部分ソート
どうもです!
どうもです!
457デフォルトの名無しさん (スッップ Sd32-xTiZ)
2022/09/28(水) 18:24:51.59ID:MnFbtzLdd フォルダ削除する際に、削除するフォルダを誰かがそのフォルダを開いてる?使用してる状態だとエラーになるのを防ぐ対処法って何かありますか?
458デフォルトの名無しさん (ワッチョイ 96bb-JEMU)
2022/09/28(水) 18:32:29.06ID:rizFYsT00 そのエラーが例外なら例外処理すればいいんじゃないの?
459デフォルトの名無しさん (ワッチョイ 3763-eFJV)
2022/09/28(水) 20:19:12.00ID:aJu8BTJb0 エラーを起こさずに無理やりにでも消す方法はありませんか?と聞いていると思われる
俺は知らない
俺は知らない
460デフォルトの名無しさん (ワッチョイ 12ad-4kp3)
2022/09/28(水) 20:53:16.80ID:Oe+Nnyr70 MoveFileEx
461デフォルトの名無しさん (ワッチョイ 96bb-JEMU)
2022/09/28(水) 21:10:08.01ID:rizFYsT00 他のプロセスが読み書き中に外部から消せたらヤベーだろ常識的に考えて
削除失敗後のエラー処理頑張るしか無いんじゃない
削除失敗後のエラー処理頑張るしか無いんじゃない
462デフォルトの名無しさん (ワッチョイ 1201-ut7I)
2022/09/28(水) 21:26:58.56ID:0sCmeNkX0 掴んでるプロセス特定してブッ殺すとかかな
463デフォルトの名無しさん (ワッチョイ c707-mISd)
2022/09/28(水) 21:32:08.42ID:9HUYdTWA0 アンドロイドアプリの開発してるならだいたいadbのせい
powershellでps adb|killとやると削除できるようになる
それでも削除できなければリソースモニターのハンドル検索にフォルダ名を入れれば出てくる
powershellでps adb|killとやると削除できるようになる
それでも削除できなければリソースモニターのハンドル検索にフォルダ名を入れれば出てくる
464デフォルトの名無しさん (ワッチョイ 7f41-o7ft)
2022/09/28(水) 22:47:12.34ID:KUCGozzI0 誰かがって言ってるんだから、サインインしてる他の人アカウントか、共有ドライブとかの話じゃないの?
465デフォルトの名無しさん (ワッチョイ b302-QbOQ)
2022/09/29(木) 01:13:17.88ID:i5N1SLmK0 深読みしすぎだろ
例外の対処の仕方が判らんだけだと思うが
例外の対処の仕方が判らんだけだと思うが
466デフォルトの名無しさん (ワッチョイ 921f-I4IA)
2022/09/29(木) 03:06:21.45ID:FmkzzHbo0 linux環境のmonoなら開いてるファイルだろうが消し放題なのでは
467デフォルトの名無しさん (ワッチョイ c707-mISd)
2022/09/29(木) 07:29:06.13ID:nA4Nikqb0 こういう「何が言いたいのか日本語レベルでわからん質問」を投げて回答しようとした人たちが首をひねってるのを見て何も言わない質問者って何なんだろうな
コミュ障すぎるだろ
コミュ障すぎるだろ
468デフォルトの名無しさん (アウアウウー Sa2f-JXLb)
2022/10/10(月) 11:08:17.10ID:G8ljNDHoa bool isTrue;
if (isTrue) isTrue = false; // ブロック無し
else return;
// 処理
isTrue = true; // ここから
return; // ここまでの間は気にしない
これってスレッドセーフになってくれますか?よろしくお願いします!
if (isTrue) isTrue = false; // ブロック無し
else return;
// 処理
isTrue = true; // ここから
return; // ここまでの間は気にしない
これってスレッドセーフになってくれますか?よろしくお願いします!
469デフォルトの名無しさん (ワッチョイ d307-tmeX)
2022/10/10(月) 11:36:03.26ID:C38R1GQo0 isTrueがローカル変数じゃないならなってないな
470デフォルトの名無しさん (ワッチョイ ca01-52T8)
2022/10/10(月) 11:38:57.59ID:sJsMwDUU0 >>468
> if (isTrue) isTrue = false; // ブロック無し
> else return;
典型的なダメコード
> if (isTrue)
と
> isTrue = false;
の間に他のスレッドが割り込んだらおかしくなるだろ
> if (isTrue) isTrue = false; // ブロック無し
> else return;
典型的なダメコード
> if (isTrue)
と
> isTrue = false;
の間に他のスレッドが割り込んだらおかしくなるだろ
471デフォルトの名無しさん (アウアウウー Sa2f-JXLb)
2022/10/10(月) 11:48:20.15ID:G8ljNDHoa ならないですよねぇ…都合良すぎました…
ありがとうございました!
ありがとうございました!
472デフォルトの名無しさん (アウアウウー Sa2f-ndxx)
2022/10/11(火) 12:23:42.52ID:bRmHnhd0a lockすりゃええ
473デフォルトの名無しさん (ドコグロ MM02-TLx9)
2022/10/14(金) 00:13:37.18ID:dssbvtnEM デリゲートのPredicateの使いどころを教えて下さい
Funcの戻り値をboolにしたのと同じじゃないですか?
Funcの戻り値をboolにしたのと同じじゃないですか?
474デフォルトの名無しさん (ワッチョイ d307-tmeX)
2022/10/14(金) 00:35:51.18ID:t5o5qpLS0 昔はFuncが無かった
475デフォルトの名無しさん (アウアウウー Sa2f-cfuI)
2022/10/14(金) 10:05:51.78ID:z67nBqm+a C#2.0くらいの話かな?
476デフォルトの名無しさん (ワッチョイ d307-tmeX)
2022/10/14(金) 10:15:21.57ID:t5o5qpLS0 >>475
https://learn.microsoft.com/ja-jp/dotnet/api/system.func-2?view=net-6.0
.NET Framework 3.5かららしいぞ
Predicateの意味がわからんとしたらEventHandlerも意味わからんのだろうな
それAction<object,EventArgs>と同じじゃないですかって
同じだよ
https://learn.microsoft.com/ja-jp/dotnet/api/system.func-2?view=net-6.0
.NET Framework 3.5かららしいぞ
Predicateの意味がわからんとしたらEventHandlerも意味わからんのだろうな
それAction<object,EventArgs>と同じじゃないですかって
同じだよ
477デフォルトの名無しさん (テテンテンテン MMe6-Bq7Q)
2022/10/23(日) 12:14:33.77ID:y2RRMcrVM 単一バイナリビルドってEXEはできるけどDLLはできないのかな
478デフォルトの名無しさん (シャチクモバ MM0d-Y/ct)
2022/10/25(火) 16:14:21.86ID:2SxwmPbyM 超初心者+わかりにくい文章で、ごめんなさい。
今までは、.NetFramewor4.72でWinFormを使って実装していました。
今、.Net6.0 の WinFormで実装する必要が出てきたので
.Net6.0 で実装しています。
.NetFramewor4.72 でWindowsBaseの参照の追加で使えていた
System.Windows.Threading.Dispatcher が
.Net6.0 では、「依存関係」の「COM」で設定しようとしても、
WindowsBaseが表示されず、WindowsBaseを設定できなくて
System.Windows.Threading.Dispatcherが使えなくて、困っています。
同じような課題を諸先輩方は
どのように解決されましたか?
今までは、.NetFramewor4.72でWinFormを使って実装していました。
今、.Net6.0 の WinFormで実装する必要が出てきたので
.Net6.0 で実装しています。
.NetFramewor4.72 でWindowsBaseの参照の追加で使えていた
System.Windows.Threading.Dispatcher が
.Net6.0 では、「依存関係」の「COM」で設定しようとしても、
WindowsBaseが表示されず、WindowsBaseを設定できなくて
System.Windows.Threading.Dispatcherが使えなくて、困っています。
同じような課題を諸先輩方は
どのように解決されましたか?
479デフォルトの名無しさん (ワッチョイ 812d-vPO9)
2022/10/25(火) 16:30:57.64ID:PDW864Oy0 >>478
バージョンは正確に。4.7.2ね。
Dispatcher.Invoke()を使いたいってことなんだろうけど、これはかなり古い方法。
async、awaitを使うか、TaskとTaskScheduler.FromCurrentSynchronizationContext()を使う。
バージョンは正確に。4.7.2ね。
Dispatcher.Invoke()を使いたいってことなんだろうけど、これはかなり古い方法。
async、awaitを使うか、TaskとTaskScheduler.FromCurrentSynchronizationContext()を使う。
480デフォルトの名無しさん (シャチクモバ MM0d-Y/ct)
2022/10/25(火) 16:49:48.49ID:ffh4XuaFM481デフォルトの名無しさん (ワッチョイ 2e33-2xJv)
2022/10/25(火) 16:54:27.68ID:+gAuWxch0 >>478
stackoverflow.com/questions/68300971/wpf-dispatcher-for-dotnet-5
.NET 5の話だけど、6でも同じはず
プロジェクトファイルに
<UseWPF>true</UseWPF>
を追加する
stackoverflow.com/questions/68300971/wpf-dispatcher-for-dotnet-5
.NET 5の話だけど、6でも同じはず
プロジェクトファイルに
<UseWPF>true</UseWPF>
を追加する
482デフォルトの名無しさん (ワッチョイ 7e02-Y/ct)
2022/10/25(火) 19:59:37.22ID:cA91aZUZ0483デフォルトの名無しさん (ワッチョイ 826a-kfbM)
2022/10/25(火) 20:27:27.77ID:SCdeTm/W0 >>482
<UseWPF>true</UseWPF>
<UseWindowsForms>true</UseWindowsForms>
この両方をtrueでいいんだよ
cf) //learn.microsoft.com/ja-jp/dotnet/core/project-sdk/msbuild-props-desktop#enable-net-desktop-sdk
<UseWPF>true</UseWPF>
<UseWindowsForms>true</UseWindowsForms>
この両方をtrueでいいんだよ
cf) //learn.microsoft.com/ja-jp/dotnet/core/project-sdk/msbuild-props-desktop#enable-net-desktop-sdk
484デフォルトの名無しさん (ワッチョイ 7e02-Y/ct)
2022/10/25(火) 22:50:11.68ID:cA91aZUZ0 >>483
プロジェクトファイルに
<UseWPF>true</UseWPF>
<UseWindowsForms>true</UseWindowsForms>
両方を追記しましたら、
using System.Windows.Threading;
が使えるようになり、
Dispatcher
も使えるようになったみたいです。
アドバイス本当にありがとうございます。
m(_ _)m
プロジェクトファイルに
<UseWPF>true</UseWPF>
<UseWindowsForms>true</UseWindowsForms>
両方を追記しましたら、
using System.Windows.Threading;
が使えるようになり、
Dispatcher
も使えるようになったみたいです。
アドバイス本当にありがとうございます。
m(_ _)m
485デフォルトの名無しさん (ワッチョイ 3901-XAx0)
2022/10/26(水) 08:18:16.62ID:QUWxQbjk0 こういう質問って仕事なんかなぁ。
486デフォルトの名無しさん (ワッチョイ 1907-Rexe)
2022/10/26(水) 08:22:23.52ID:HZuVvHGf0 初心者が仕事で振られるにしちゃボトルネックだから違うんじゃね
そいつができないと他全員することない
そいつができないと他全員することない
487デフォルトの名無しさん (ワッチョイ 895f-Y/ct)
2022/10/26(水) 16:16:56.80ID:V1iY34//0 初心者が問題解決するまで先輩たちは休憩室で麻雀打ってるよ
488.NET MAUI HighScool (ワッチョイ 1301-cPfV)
2022/10/31(月) 18:17:47.74ID:jJ3XoyNs0 今日知ったんだがSilk.NETってものがあるみたいね
これ一つでマルチメディア系のものを使用できるようになるみたい
OpenGLやDirectXとか
いかんせん情報ないけどどんな感じなんだろうか?
https://dotnet.github.io/Silk.NET/
これ一つでマルチメディア系のものを使用できるようになるみたい
OpenGLやDirectXとか
いかんせん情報ないけどどんな感じなんだろうか?
https://dotnet.github.io/Silk.NET/
489デフォルトの名無しさん (ワッチョイ f102-41VR)
2022/10/31(月) 19:05:37.95ID:s4vtF5Hi0 大体マイナーなライブラリは情報が殆どないから
githubのサンプルやデモ(あれば)を実際に動かしてみるしかないんじゃね
githubのサンプルやデモ(あれば)を実際に動かしてみるしかないんじゃね
490.NET MAUI HighScool (ワッチョイ 1301-cPfV)
2022/10/31(月) 19:36:25.67ID:jJ3XoyNs0491デフォルトの名無しさん (アウアウウー Sa9d-nuRl)
2022/11/03(木) 11:12:57.19ID:JkKs3AuYa <Frame>
<カスタムコントロール>
<Label/>
<Label/>
<Label/>
</カスタムコントロール>
</Frame>
wpfでこの構成のlabelからダブルクリックイベント取得する方法教えて
単純にイベント追加するだけじゃ取れなかった。バブリング、トンネリング、添付イベント辺りが関係有りそうだなぁと思って色々調べたんだけどよく分かんなくて
<カスタムコントロール>
<Label/>
<Label/>
<Label/>
</カスタムコントロール>
</Frame>
wpfでこの構成のlabelからダブルクリックイベント取得する方法教えて
単純にイベント追加するだけじゃ取れなかった。バブリング、トンネリング、添付イベント辺りが関係有りそうだなぁと思って色々調べたんだけどよく分かんなくて
492.NET MAUI HighScool (ワッチョイ 0901-cPfV)
2022/11/03(木) 11:14:57.35ID:P57hKE9o0 ラベルじゃなくてフレームにイベントつければ?
493デフォルトの名無しさん (アウアウウー Sa9d-nuRl)
2022/11/03(木) 11:17:49.64ID:JkKs3AuYa そうするとラベルがある場所以外でイベント拾っちゃう
どのラベルがクリックされたのかが欲しい
どのラベルがクリックされたのかが欲しい
494デフォルトの名無しさん (アウアウウー Sa9d-nuRl)
2022/11/03(木) 11:22:47.19ID:JkKs3AuYa カスタムコントロールじゃなくてユーザーコントロールだった
495デフォルトの名無しさん (ワッチョイ 4907-gxoH)
2022/11/03(木) 11:25:48.48ID:0QCo1mM00 ラベルはマウスイベントなんか受け取らんだろ
ラベルのテンプレートを挿入したコントロールを作れ
ラベルのテンプレートを挿入したコントロールを作れ
496デフォルトの名無しさん (アウアウウー Sa9d-nuRl)
2022/11/03(木) 11:29:59.86ID:JkKs3AuYa MouseDoubleClickイベントあるよ
497デフォルトの名無しさん (アウアウウー Sa9d-gxoH)
2022/11/03(木) 11:32:59.09ID:irjlHMAba498デフォルトの名無しさん (アウアウウー Sa9d-nuRl)
2022/11/03(木) 11:45:03.50ID:JkKs3AuYa Buttonに置き換えてみたけどやっぱり取れない
499デフォルトの名無しさん (アウアウウー Sa9d-gxoH)
2022/11/03(木) 11:56:03.33ID:irjlHMAba Frameの中のコントロールがクリックを拾えなくなる話なんて聞いたことがないしさすがにそれは異常だな
まあフレーム自体が拾えるとしたらその時のカーソル位置でコントロールは特定できるし最悪それでごまかすしかないかな
どこかでイベントの伝播をせき止めてるかもしれんくらいしか想像できん
まあフレーム自体が拾えるとしたらその時のカーソル位置でコントロールは特定できるし最悪それでごまかすしかないかな
どこかでイベントの伝播をせき止めてるかもしれんくらいしか想像できん
500デフォルトの名無しさん (アウアウウー Sa9d-A8jD)
2022/11/03(木) 12:06:53.27ID:h5ZIjV9Ha >>491
そのカスタム、じゃなくてユーザーコントロールでルーティングイベントを止めてるんじゃね?
そのカスタム、じゃなくてユーザーコントロールでルーティングイベントを止めてるんじゃね?
501デフォルトの名無しさん (アウアウウー Sa9d-gxoH)
2022/11/03(木) 14:48:45.55ID:j+eH91hfa ていうかもしかしてユーザーコントロールの中のラベルのイベントをウィンドウで受け取ろうとしてるのか?
502デフォルトの名無しさん (アウアウウー Sa9d-nuRl)
2022/11/03(木) 14:54:00.05ID:CFLs9wNya そう
503デフォルトの名無しさん (アウアウウー Sa9d-gxoH)
2022/11/03(木) 15:00:49.97ID:j+eH91hfa どうやってんのそれw
504デフォルトの名無しさん (アウアウウー Sa9d-nuRl)
2022/11/03(木) 15:10:15.68ID:CFLs9wNya あーもしかして普通に出来ない事をやろうとしてた?
ユーザーコントロール内のオブジェクトからのイベントを扱うのは一般的なやり方じゃないの?
ユーザーコントロール内のオブジェクトからのイベントを扱うのは一般的なやり方じゃないの?
505デフォルトの名無しさん (アウアウウー Sa9d-gxoH)
2022/11/03(木) 15:21:49.42ID:j+eH91hfa WPFのスレでXAMLが大きくなりすぎたから分割したいと言ってたやつかな?
気づいてないということは多分バインドエラー出てると思うから見てみなよ
気づいてないということは多分バインドエラー出てると思うから見てみなよ
506デフォルトの名無しさん (ワッチョイ b342-Tk+f)
2022/11/03(木) 16:15:34.18ID:tNReOobE0 もしかするとFrameのある親フォームにStyleのEventSetterでイベントハンドラを記述して、
UserControlのイベントを取ろうとしていたのかな?
そういう分割は不可能だわ
UserControlのイベントを取ろうとしていたのかな?
そういう分割は不可能だわ
507デフォルトの名無しさん (アウアウウー Sa9d-nuRl)
2022/11/03(木) 16:47:37.11ID:eWAgWGuWa なんかダメそうだからイベント直接取るのは諦めたわ
クリックした座標の下にあるオブジェクトを取得みたいなのはユーザーコントロール内のオブジェクトでも出来る?
クリックした座標の下にあるオブジェクトを取得みたいなのはユーザーコントロール内のオブジェクトでも出来る?
508デフォルトの名無しさん (ワッチョイ 4907-gxoH)
2022/11/03(木) 16:58:01.39ID:0QCo1mM00 いやだから分割するなら再利用できるようにしろよ
再利用できるようになってないから最初の利用すらできなくなってんじゃん
再利用できるようになってないから最初の利用すらできなくなってんじゃん
509デフォルトの名無しさん (アウアウウー Sa9d-nuRl)
2022/11/03(木) 17:05:08.54ID:eWAgWGuWa 具体的にはどうするの?
510デフォルトの名無しさん (ワッチョイ 4907-gxoH)
2022/11/03(木) 17:10:49.73ID:0QCo1mM00 そこから説明するんか
バインディングできるよう依存プロパティを作りアタッチできるようイベントを作り今のページに依存せず他のページでも使えるように作る
バインディングできるよう依存プロパティを作りアタッチできるようイベントを作り今のページに依存せず他のページでも使えるように作る
511デフォルトの名無しさん (アウアウウー Sa9d-nuRl)
2022/11/03(木) 17:45:13.94ID:eWAgWGuWa アタッチできるようにイベントを作るというのは具体的にはどうやるの?
解説サイト探すからキーワード教えて
解説サイト探すからキーワード教えて
512デフォルトの名無しさん (ワッチョイ a95f-hZr9)
2022/11/03(木) 19:43:16.04ID:HObwb99t0 Frameの中にはPageを入れるのが普通で
だからあの設計だとPageを使うことによって自然にXamlが分離される設計になると思う
だからあの設計だとPageを使うことによって自然にXamlが分離される設計になると思う
513デフォルトの名無しさん (ワッチョイ 51b4-nuRl)
2022/11/03(木) 19:58:12.05ID:vWWFbZaH0 あの設計がどの設計かわからんけどページにすればイベント取れるの?
514デフォルトの名無しさん (ワッチョイ 694f-hZr9)
2022/11/03(木) 21:42:56.38ID:pRCMKKI10 普通の状況ではLabel.MouseDoubleClickイベントは発生するという前提で
(.NET Framework 4.8で試したら普通に発生したけど)
PreviewMouseDoubleClickイベントを使ってみる
無理ならコードで
theLabel.Add(Control.PreviewMouseDoubleClickEvent, handler, true);
とやってみる
(.NET Framework 4.8で試したら普通に発生したけど)
PreviewMouseDoubleClickイベントを使ってみる
無理ならコードで
theLabel.Add(Control.PreviewMouseDoubleClickEvent, handler, true);
とやってみる
515デフォルトの名無しさん (ワッチョイ 694f-hZr9)
2022/11/03(木) 21:46:20.07ID:pRCMKKI10 あ、Addじゃないや AddHandlerだった
516デフォルトの名無しさん (ワッチョイ a95f-hZr9)
2022/11/03(木) 21:52:18.63ID:HObwb99t0 コントロール選び間違ってないか?
ラベルってダブルクリックするもんじゃないと思うんだけど
ラベルってダブルクリックするもんじゃないと思うんだけど
517デフォルトの名無しさん (ワッチョイ 996e-ju0G)
2022/11/04(金) 02:05:02.79ID:AmCalnOD0 C#の言語についての質問じゃなくて申し訳ないんですけど
C#使ったウェブ開発って今需要どれくらいあるもんなんでしょうか。肌感覚程度でいいんですが
これまでの仕事もっぱらデスクトップアプリ開発ばっかだったので。路線変更したいんです
C#使ったウェブ開発って今需要どれくらいあるもんなんでしょうか。肌感覚程度でいいんですが
これまでの仕事もっぱらデスクトップアプリ開発ばっかだったので。路線変更したいんです
518デフォルトの名無しさん (ワッチョイ 694f-hZr9)
2022/11/04(金) 03:32:21.68ID:xdVLdIYL0 KENTA
未経験からのエンジニア転職の必須教養【技術知識編】
www.youtube.com/watch?v=Q1c09rrhTjo
奇をてらって、Laravel, Django を選ぶな。
転職先が多い、Ruby on Rails が有利。
キャリアパスも、Rails → Go だけ。
RUNTEQ、東京フリーランスのデイトラなど、ほとんどのサロン学校も、Rails。筑波大学とかも
デジタル庁さんのエンジニア求人が炎上してる件
www.youtube.com/watch?v=2ONVxwmOkn4
C# のバックエンド経験が3年という条件に、彼は0.1% もいないと言ってるw
ベンチャーは、ほとんどRails。
食べチョク、Wantedly, Zenn, Qiita, Note、世界最速のdev.to など
そもそも、バックエンドにWindows が無い。
今のシステムは、Docker ばかりだから、DockerはLinux だけの技術
Linux, Docker, AWS などが必須。
だから米国年収では、Rails, AWS Solution Architect が、2千万円近くになっている。
最も稼げる資格。チート職
未経験からのエンジニア転職の必須教養【技術知識編】
www.youtube.com/watch?v=Q1c09rrhTjo
奇をてらって、Laravel, Django を選ぶな。
転職先が多い、Ruby on Rails が有利。
キャリアパスも、Rails → Go だけ。
RUNTEQ、東京フリーランスのデイトラなど、ほとんどのサロン学校も、Rails。筑波大学とかも
デジタル庁さんのエンジニア求人が炎上してる件
www.youtube.com/watch?v=2ONVxwmOkn4
C# のバックエンド経験が3年という条件に、彼は0.1% もいないと言ってるw
ベンチャーは、ほとんどRails。
食べチョク、Wantedly, Zenn, Qiita, Note、世界最速のdev.to など
そもそも、バックエンドにWindows が無い。
今のシステムは、Docker ばかりだから、DockerはLinux だけの技術
Linux, Docker, AWS などが必須。
だから米国年収では、Rails, AWS Solution Architect が、2千万円近くになっている。
最も稼げる資格。チート職
519.NET MAUI HighScool (ワッチョイ c101-cPfV)
2022/11/04(金) 06:20:36.90ID:Od40PLDa0 ほんと日本ってRuby on Railsって多いんだな
日本とポリネシアだけがRuby on Rails>ASP.NETみたいだ
日本とポリネシアだけがRuby on Rails>ASP.NETみたいだ
520.NET MAUI HighScool (ワッチョイ c101-cPfV)
2022/11/04(金) 06:20:44.60ID:Od40PLDa0521518 (ワッチョイ 694f-hZr9)
2022/11/04(金) 08:33:40.10ID:xdVLdIYL0 Ruby on Rails はShopify, Airbnb など、米国で時価総額1兆円以上の企業も多い
Github は、Go へ移行するとか?
一方、Gitlab はRailsを使い続ける宣言をしている
ガーシーのサロンなどで使っている、Mastodon はRails 6。
作者のドイツのオイゲン・ロホコは、PHP からRailsへ変えた。
Rubyの方が可読性が高いから
Github は、Go へ移行するとか?
一方、Gitlab はRailsを使い続ける宣言をしている
ガーシーのサロンなどで使っている、Mastodon はRails 6。
作者のドイツのオイゲン・ロホコは、PHP からRailsへ変えた。
Rubyの方が可読性が高いから
522.NET MAUI HighScool (ワッチョイ c101-cPfV)
2022/11/04(金) 09:15:18.29ID:EO0r5qqJ0523518 (ワッチョイ 694f-hZr9)
2022/11/04(金) 11:23:50.82ID:xdVLdIYL0 asp.net は、Windows じゃないの?
今のシステムのほとんどがDocker で、
DockerはLinuxだけの技術だから、プロはLinuxしか使わない。
Windowsを使う香具師は、まずいない
それに、WindowsのOSの本も、ほぼ無い。
Linuxの本ばっかり
Docker Desktop には、Kubernetes も入っているけど、
AWS, Docker, Kubernetes がほとんど
Kubernetesが無ければ、オーケストレーションできないし、
Windowsではシステム構築運用できないでしょ
Windowsは数十年前の技術じゃないの?
それか、プロじゃなくて、単に会社内のシステム運用部門が使っているだけじゃないの?
アマチュア
今のシステムのほとんどがDocker で、
DockerはLinuxだけの技術だから、プロはLinuxしか使わない。
Windowsを使う香具師は、まずいない
それに、WindowsのOSの本も、ほぼ無い。
Linuxの本ばっかり
Docker Desktop には、Kubernetes も入っているけど、
AWS, Docker, Kubernetes がほとんど
Kubernetesが無ければ、オーケストレーションできないし、
Windowsではシステム構築運用できないでしょ
Windowsは数十年前の技術じゃないの?
それか、プロじゃなくて、単に会社内のシステム運用部門が使っているだけじゃないの?
アマチュア
524デフォルトの名無しさん (ラクッペペ MMeb-YnjT)
2022/11/04(金) 11:46:10.41ID:mssOzhy6M ASP.NET Coreでしょ
525.NET MAUI HighScool (ワッチョイ fb01-cPfV)
2022/11/04(金) 11:50:41.09ID:RgZTpa+F0 スタックオーバーフローはASP.NET
526デフォルトの名無しさん (スッップ Sd33-wVCK)
2022/11/04(金) 11:52:55.47ID:NvjwOVKTd 基地外の援護をするつもりはないが>>522のASP.NETのシェアの内訳は大半がClassicかMVCだろう
絶賛急降下中のオワコンルビ糞よりは遥かにマシだが、今後10年でどれだけシェアを落とさずにCore系へ移行できるかが勝負だね
絶賛急降下中のオワコンルビ糞よりは遥かにマシだが、今後10年でどれだけシェアを落とさずにCore系へ移行できるかが勝負だね
527デフォルトの名無しさん (アウアウウー Sa9d-gxoH)
2022/11/04(金) 11:53:28.49ID:ids8wmGma ZennはRuby on Railsを使って後悔したらしい
528518 (ワッチョイ 694f-hZr9)
2022/11/04(金) 12:02:24.77ID:xdVLdIYL0 例えば、典型的なウェブ開発ベンチャーの求人情報は、
マザーズのSKIYAKI は、Rails, AWSを用いたWebサービス開発。
食べチョクのビビッドガーデンは、Rails, AWS/GCP
Wantedly などに一杯ある
マザーズのSKIYAKI は、Rails, AWSを用いたWebサービス開発。
食べチョクのビビッドガーデンは、Rails, AWS/GCP
Wantedly などに一杯ある
529デフォルトの名無しさん (テテンテンテン MMeb-gcVw)
2022/11/04(金) 12:10:44.73ID:XJ3DCJVsM530デフォルトの名無しさん (テテンテンテン MMeb-gcVw)
2022/11/04(金) 12:11:38.37ID:XJ3DCJVsM531デフォルトの名無しさん (テテンテンテン MMeb-e1kA)
2022/11/04(金) 12:14:53.23ID:525E7fetM よく知られてる大手企業でも内製システムは普通にWindowsだらけ
社内SEがLinux知らんとかVB6あがりとかが多いし、そういった人達は社内対応に追われて新しめの技術に触れるのが難しい
社内SEがLinux知らんとかVB6あがりとかが多いし、そういった人達は社内対応に追われて新しめの技術に触れるのが難しい
532518 (ワッチョイ 694f-hZr9)
2022/11/04(金) 12:16:47.30ID:xdVLdIYL0 Linux コマンド、bash, シェルスクリプトの本は一杯あるけど、
Windows のコマンド・シェルの本など、ほとんどない
まず、サーバーが管理できないし、OSS のライブラリも無いでしょ。
プロじゃなくて、アマチュアがやってる社内システムだけでしょ
Windowsのシステム構築運用を勉強しても、転職できない。
まず、勉強環境がないので、勉強できないし
バックエンドエンジニアがLinuxじゃなくて、
なぜWindowsを勉強したのですか? と聞かれても、返答に困る
クラウドの汎用的な技術じゃないから、雇われない。
CP932 とかWindowsはパソコン用で、ウェブ系ではないから、
ウェブ開発企業を渡り歩く事はできない
ウェブ系は、Linux, UTF-8 だから
Windows のコマンド・シェルの本など、ほとんどない
まず、サーバーが管理できないし、OSS のライブラリも無いでしょ。
プロじゃなくて、アマチュアがやってる社内システムだけでしょ
Windowsのシステム構築運用を勉強しても、転職できない。
まず、勉強環境がないので、勉強できないし
バックエンドエンジニアがLinuxじゃなくて、
なぜWindowsを勉強したのですか? と聞かれても、返答に困る
クラウドの汎用的な技術じゃないから、雇われない。
CP932 とかWindowsはパソコン用で、ウェブ系ではないから、
ウェブ開発企業を渡り歩く事はできない
ウェブ系は、Linux, UTF-8 だから
533デフォルトの名無しさん (アウアウウー Sa9d-gxoH)
2022/11/04(金) 12:27:07.29ID:Ai9bkhGOa PowerShellの本を見たことないのは無知なだけだろw
Rubyを使うと時代に取り残されてこんな残念な生き物になってしまうという一例
Rubyを使うと時代に取り残されてこんな残念な生き物になってしまうという一例
534デフォルトの名無しさん (ラクッペペ MMeb-qvpf)
2022/11/04(金) 12:29:16.72ID:M2e+PduKM 社内ツールならクラシックASP(非.NET)が楽ちん
JavaScriptだけで済む
JavaScriptだけで済む
535518 (ワッチョイ 694f-hZr9)
2022/11/04(金) 12:29:30.99ID:xdVLdIYL0 >>530
数字だけじゃなくて、その内容も見るべき。
例えば、商品の価格だけで決めたら、低品質かも知れない
asp.net は、どういう香具師が使っているのか? とか
YouTube で有名な雑食系エンジニア・KENTA が本を出している
「21世紀最強の職業 Web系エンジニアになろう」
Microsoft 自体がLinux 技術者を採用して、Linux財団に属して開発している。
Docker と同じものを、Windows で作れなかったから、
あきらめて、Linuxを使ってクラウドをやる事にした
数字だけじゃなくて、その内容も見るべき。
例えば、商品の価格だけで決めたら、低品質かも知れない
asp.net は、どういう香具師が使っているのか? とか
YouTube で有名な雑食系エンジニア・KENTA が本を出している
「21世紀最強の職業 Web系エンジニアになろう」
Microsoft 自体がLinux 技術者を採用して、Linux財団に属して開発している。
Docker と同じものを、Windows で作れなかったから、
あきらめて、Linuxを使ってクラウドをやる事にした
536デフォルトの名無しさん (アウアウウー Sa9d-gxoH)
2022/11/04(金) 12:31:17.32ID:Ai9bkhGOa KENTAが勧めてるだけでクソとわかるのはありがたいな
537デフォルトの名無しさん (ワッチョイ 8bbb-/OGx)
2022/11/04(金) 12:34:45.68ID:7HgZbeW40 >>532
君が部下で、サーバ選定の際にこんな「youtubeの受け売り」的な比較持ってこられたら、君をクビにして反動でWindoesサーバ使いを雇っちゃいそうだわ
情報が古いor間違ってるから、一度自分で調べてみろよ
君が部下で、サーバ選定の際にこんな「youtubeの受け売り」的な比較持ってこられたら、君をクビにして反動でWindoesサーバ使いを雇っちゃいそうだわ
情報が古いor間違ってるから、一度自分で調べてみろよ
538デフォルトの名無しさん (テテンテンテン MMeb-gcVw)
2022/11/04(金) 12:42:02.85ID:XJ3DCJVsM >>535
よく知らんけどおれは日々実務で試行錯誤してる膨大な人数のエンジニアを信用するよ
よく知らんけどおれは日々実務で試行錯誤してる膨大な人数のエンジニアを信用するよ
539518 (ワッチョイ 694f-hZr9)
2022/11/04(金) 13:04:09.10ID:xdVLdIYL0 でも、今の一流文化人の著者は、YouTube, Udemy ばっかり
Rails のKENTA, AWS のくろかわこうへい、
Python のキノコード、React のじゃけぇ
国会議員のガーシーも、YouTuber
Rails のKENTA, AWS のくろかわこうへい、
Python のキノコード、React のじゃけぇ
国会議員のガーシーも、YouTuber
540デフォルトの名無しさん (ラクッペペ MMeb-YnjT)
2022/11/04(金) 13:10:50.31ID:gXxewZVkM 一流文化人というより上っ面だけの人気取りなだけだろ
殆ど何も得るものはないぞ
殆ど何も得るものはないぞ
541デフォルトの名無しさん (ブーイモ MMeb-cv0M)
2022/11/04(金) 13:14:14.74ID:K31HmSYJM >>534
はい?
はい?
542デフォルトの名無しさん (ワッチョイ 996e-ju0G)
2022/11/04(金) 16:44:36.57ID:AmCalnOD0 >>522を見るとPHP>>ASP>>その他って感じか
あとrubyが日本だけってのも面白いですね。やっぱ日本生まれってことで贔屓目になるもんなんでしょうか
色々参考になりました。ウェブの勉強始めるにあたってASPが悪くない選択肢だというのはわかりました
あとrubyが日本だけってのも面白いですね。やっぱ日本生まれってことで贔屓目になるもんなんでしょうか
色々参考になりました。ウェブの勉強始めるにあたってASPが悪くない選択肢だというのはわかりました
543デフォルトの名無しさん (ワッチョイ 698e-W6w7)
2022/11/04(金) 17:02:37.38ID:hiJJnZje0 突然増えてると思ったらまたRubyキチガイが暴れていたのか
終わりそうなのを感じで焦っているのだろうな
早く現実を見ようや
Rubyは終わりました
終わりそうなのを感じで焦っているのだろうな
早く現実を見ようや
Rubyは終わりました
544デフォルトの名無しさん (テテンテンテン MMeb-gcVw)
2022/11/04(金) 17:07:46.32ID:XJ3DCJVsM PHPが多いのはたぶんWPをカウントしてるからだろう
545デフォルトの名無しさん (オイコラミネオ MM95-HLP5)
2022/11/04(金) 23:20:53.12ID:5bZK7zlyM 普通にサイト作るならasp.netは完全に除外されるだろう
546デフォルトの名無しさん (テテンテンテン MMeb-gcVw)
2022/11/04(金) 23:24:53.30ID:XJ3DCJVsM バックエンドは最初に.NETを検討する
あ、もちろんLinuxコンテナね
あ、もちろんLinuxコンテナね
547デフォルトの名無しさん (ブーイモ MMdd-wVCK)
2022/11/04(金) 23:35:37.50ID:SVCOtxJrM Web系で在日外人の採用活動やってるけど最も得意とする言語をJavaScript/TypeScriptとしてる求職者が圧倒的に多く、第2言語としてはGoがそこそこ人気
時々ゴリゴリのエンタープライズ系の経歴でJavaとC#が得意ですというのもいるが落とす
時々ゴリゴリのエンタープライズ系の経歴でJavaとC#が得意ですというのもいるが落とす
548デフォルトの名無しさん (テテンテンテン MMeb-gcVw)
2022/11/04(金) 23:45:05.11ID:sIk1Zc1CM もったいねぇ〜
549デフォルトの名無しさん (ワッチョイ 6924-pSqO)
2022/11/05(土) 08:43:01.96ID:SeMW4Qkf0 Web系で一番頭数必要なのはフロント側だしそりゃjs出来ない奴は落とされるやろ
550デフォルトの名無しさん (ワッチョイ 6924-pSqO)
2022/11/05(土) 08:50:45.70ID:SeMW4Qkf0 そういえば確かデジタル庁もバックエンドエンジニアとしてC#出来る奴募集してたな
551デフォルトの名無しさん (オイコラミネオ MM91-zlm6)
2022/11/05(土) 09:44:58.15ID:yYAK326QM >>550
あの要件見て失敗するなと思った
asp.net三年以上経験のあるやつってそんなにいない
あの条件はエリートじゃなく仕事が嫌になって複数回転職した人の経歴
そんな要求してくるなんて馬鹿なんじゃないかと
あの要件見て失敗するなと思った
asp.net三年以上経験のあるやつってそんなにいない
あの条件はエリートじゃなく仕事が嫌になって複数回転職した人の経歴
そんな要求してくるなんて馬鹿なんじゃないかと
552デフォルトの名無しさん (アウアウウー Sacd-Aj/S)
2022/11/05(土) 09:51:02.26ID:EyXCsWHVa553デフォルトの名無しさん (ワッチョイ 856e-g8iG)
2022/11/05(土) 10:27:52.01ID:KyTkSmrS0 経験なんか役にたたないんだわ
エリートの3ヶ月 >> 普通の3年
な感じ
エリートの3ヶ月 >> 普通の3年
な感じ
554デフォルトの名無しさん (オイコラミネオ MM91-RS5k)
2022/11/05(土) 10:49:59.41ID:cwSbm70XM555デフォルトの名無しさん (オイコラミネオ MM91-zlm6)
2022/11/05(土) 10:56:40.37ID:yYAK326QM 自社案件にasp.netを採用するメリットがない
556.NET MAUI HighScool (ワッチョイ 9201-84Ua)
2022/11/05(土) 11:27:09.93ID:h7cdm6j10 ASP.NET MVC作るのクソ簡単だと思ったけどそうじゃないのか?
APIコントローラー作るのクソ楽だった
APIコントローラー作るのクソ楽だった
557デフォルトの名無しさん (オイコラミネオ MM91-RS5k)
2022/11/05(土) 11:44:44.93ID:cwSbm70XM 自社案件だったらむしろ最初に検討する
558デフォルトの名無しさん (アウアウウー Sacd-nsye)
2022/11/05(土) 16:09:33.13ID:6F6CKmgia System.Memory<T>について教えてください。
MemoryがSpanと相性が良いことや、ArraySegmentよりもパフォーマンスが良い理由はなんとなく分かりました。
ではこの場合、どっちの方が早くなるんでしょうか?
int[] array = new int[8]; // フィールドにint型配列を用意する
void Method(int index) {
///// Memory<int> memory = array.AsMemory(0, 8);
//// [1] array[index]を参照して操作
//// [2] memory.Span[index]から参照して操作
}
どういうケースなのかが重要だとは思うんですが、MemoryのSpanパイプ的な用途以外での使い道がなかなか見えてきません。
今回の場合はフィールドを見ていいので、Slice等を考えなければMemoryインスタンスへの参照を増やしているだけなんでしょうか?
array.AsMemory(0,2)くらいに範囲を絞ると高速になる、なんてことは無いんじゃないかなと思ってます。
ただ、これの検証をするのにも知識やスキルが足りなくて出来ていません。
ヒープを参照する場合はSpanであってもarray[int]の方が早いんでしょうか?
長文になってすみません。どうぞよろしくお願いします。
MemoryがSpanと相性が良いことや、ArraySegmentよりもパフォーマンスが良い理由はなんとなく分かりました。
ではこの場合、どっちの方が早くなるんでしょうか?
int[] array = new int[8]; // フィールドにint型配列を用意する
void Method(int index) {
///// Memory<int> memory = array.AsMemory(0, 8);
//// [1] array[index]を参照して操作
//// [2] memory.Span[index]から参照して操作
}
どういうケースなのかが重要だとは思うんですが、MemoryのSpanパイプ的な用途以外での使い道がなかなか見えてきません。
今回の場合はフィールドを見ていいので、Slice等を考えなければMemoryインスタンスへの参照を増やしているだけなんでしょうか?
array.AsMemory(0,2)くらいに範囲を絞ると高速になる、なんてことは無いんじゃないかなと思ってます。
ただ、これの検証をするのにも知識やスキルが足りなくて出来ていません。
ヒープを参照する場合はSpanであってもarray[int]の方が早いんでしょうか?
長文になってすみません。どうぞよろしくお願いします。
559デフォルトの名無しさん (アウアウウー Sacd-nsye)
2022/11/05(土) 16:17:38.86ID:6F6CKmgia void Methodを非同期にする場合でも、フィールド変数を参照していいなら引数にMemoryを持つ必要性は無いのかな、という疑問から質問しました。
560デフォルトの名無しさん (ワッチョイ 6502-xcLn)
2022/11/05(土) 17:08:45.81ID:Io5vH+250 検証するスキルが無いなら、まだそんな事を気にする段階じゃないということだ
Benchmark.NETの使い方とアセンブリコード読の読み方学習してから出直してきて
Benchmark.NETの使い方とアセンブリコード読の読み方学習してから出直してきて
561デフォルトの名無しさん (アウアウウー Sacd-J8kB)
2022/11/06(日) 14:08:35.18ID:NU6siC6sa562デフォルトの名無しさん (ワッチョイ 6107-Aj/S)
2022/11/06(日) 14:48:17.77ID:4fgqKuo90 それは最初に調べろよ
563デフォルトの名無しさん (ワッチョイ 092d-chQ5)
2022/11/06(日) 15:37:59.04ID:qcWJr3c00 知らなかったんだろ
偉そうにしたいなら最初に教えてあげたら良いのに
偉そうにしたいなら最初に教えてあげたら良いのに
564デフォルトの名無しさん (アウアウウー Sacd-Aj/S)
2022/11/06(日) 15:48:02.41ID:QKOlU7ORa >>563
こういうやつがいるから教えるのが素人だけになるんだよ
こういうやつがいるから教えるのが素人だけになるんだよ
565デフォルトの名無しさん (ワッチョイ 5eb0-YZoV)
2022/11/06(日) 16:11:38.61ID:+9Skr9AY0 お手軽マウンティングの1パターンだな。
解決策が見つかってから「それは最初に調べとけよ」「そんなことも知らなかったのかよ」etc.
解決策が見つかってから「それは最初に調べとけよ」「そんなことも知らなかったのかよ」etc.
566デフォルトの名無しさん (ワッチョイ 6107-Aj/S)
2022/11/06(日) 16:39:57.78ID:4fgqKuo90 そりゃ素人が教えるスレになるわな
567デフォルトの名無しさん (アウアウウー Sacd-J0Bj)
2022/11/06(日) 19:03:46.24ID:EN445uW1a568デフォルトの名無しさん (ワッチョイ 6924-pSqO)
2022/11/10(木) 13:11:20.65ID:hu9oTdXa0 .NET7の新標準APIまとめてくれると助かる
569デフォルトの名無しさん (ワッチョイ b5da-D+ul)
2022/11/10(木) 21:28:03.05ID:KkTOa1Su0 飯田失兵の法則
570デフォルトの名無しさん (ワッチョイ a2bd-E1si)
2022/11/11(金) 22:46:09.97ID:2RvqW7n80 ロード中とかに使いそうなグルグルするアニメーション画像をピクチャーボックスに入れて、処理開始から終わりまで表示してグルグルさせたいんですけど、最後の完了のメッセージボックス出るまで映る事なく終わります。
メッセージボックス表示中でOKクリックするまではぐるぐるしてるんですがどうしたら出来ますか?
コードの流れはフォームからenter keyでスタートして別クラス行って処理して、戻ってきてメッセージボックス表示の流れなんですが。
メッセージボックス表示中でOKクリックするまではぐるぐるしてるんですがどうしたら出来ますか?
コードの流れはフォームからenter keyでスタートして別クラス行って処理して、戻ってきてメッセージボックス表示の流れなんですが。
571デフォルトの名無しさん (ワッチョイ 6502-xcLn)
2022/11/11(金) 23:26:01.33ID:Zbp1C+xk0 なんか状況が判りにくいけど、メッセージボックスはモーダルダイアログだから
表示する事で処理が止まってたりしないかね
メッセージボックスじゃなくて、適当なフォームをShowした場合どうなる?
表示する事で処理が止まってたりしないかね
メッセージボックスじゃなくて、適当なフォームをShowした場合どうなる?
572デフォルトの名無しさん (ワッチョイ 232f-3TKi)
2022/11/12(土) 04:50:51.20ID:XZf6dU9z0 ウィンドウメッセージとUIスレッドの関係でそうなってる
対処法は、マルチスレッドにしろ
ただし難易度は結構高い
まあ、あれだ、とりあえずDoEventsとか入れてもいいんだがな
DoEventsいれてちゃんと動くプログラムはそれはそれで結構難しい
対処法は、マルチスレッドにしろ
ただし難易度は結構高い
まあ、あれだ、とりあえずDoEventsとか入れてもいいんだがな
DoEventsいれてちゃんと動くプログラムはそれはそれで結構難しい
573デフォルトの名無しさん (ワッチョイ e52d-vH5O)
2022/11/12(土) 12:13:58.10ID:1r3Bwkn20 変な癖が付きそうだし、今更DoEventsに手を出すべきではないと思う
574デフォルトの名無しさん (ワッチョイ 23ad-12LH)
2022/11/12(土) 14:01:22.72ID:p4jHMEGd0 土居ベンツさん劇おこ
575デフォルトの名無しさん (ワッチョイ 4b7b-/xWR)
2022/11/12(土) 15:22:41.58ID:LpiKZFMR0576デフォルトの名無しさん (ワッチョイ 2324-H0Ic)
2022/11/12(土) 16:47:51.01ID:3AkpswdK0 別スレッドからlistbox.selectedindexとかのプロパティを取得するのわからん。
設定とかはデリゲート、インボークとかググったらなんぼでも出てくるけど取得は
出てこない。。
設定とかはデリゲート、インボークとかググったらなんぼでも出てくるけど取得は
出てこない。。
577デフォルトの名無しさん (ワッチョイ ed02-SGX1)
2022/11/12(土) 17:14:37.07ID:lzvWNBzY0 Invokeまで探せてるなら公式を読めよ
https://learn.microsoft.com/ja-jp/dotnet/api/system.windows.forms.control.invoke?view=windowsdesktop-7.0#system-windows-forms-control-invoke-1(system-func((-0)))
https://learn.microsoft.com/ja-jp/dotnet/api/system.windows.forms.control.invoke?view=windowsdesktop-7.0#system-windows-forms-control-invoke-1(system-func((-0)))
578デフォルトの名無しさん (ワッチョイ 03bd-T0y7)
2022/11/12(土) 22:09:30.68ID:QO08gHTj0 色々とありがとうございます。
簡単そうに見えて難しいんですね。
簡単そうに見えて難しいんですね。
579デフォルトの名無しさん (ワッチョイ a37c-BvCT)
2022/11/13(日) 00:21:50.43ID:4MPzkrV00 androidだとrunOnUiThreadなんてものもあるけど理屈は一緒だな
この辺意味が分からないなら多分やりたい事は出来ないw
この辺意味が分からないなら多分やりたい事は出来ないw
580デフォルトの名無しさん (ワッチョイ ddae-/i6p)
2022/11/14(月) 13:34:48.21ID:67shDJhG0 スパゲティの元だけども、
runOnUiThreadの方が関数の中に書けるから好き
runOnUiThreadの方が関数の中に書けるから好き
581デフォルトの名無しさん (スプッッ Sd03-B69F)
2022/11/14(月) 13:44:26.33ID:mrCA5Qrfd 外部アプリ(java)をC#から起動し、途中でprocess.killで強制終了することがあるのですが、問題はありますでしょうか。外部アプリがファイル操作中だったら開きっぱなしになるとか。問題があるとしたら、他に方法はありますでしょうか。よろしくお願いいたします
582デフォルトの名無しさん (アウアウウー Saa9-z+Fy)
2022/11/14(月) 13:49:02.49ID:hyabTMwBa その起動されるアプリによって問題があったりなかったりするとしか
ファイル書き込み中にkillしたらまあそのファイルは壊れるだろうね
アプリやOSによってもっと穏顕な終了のさせかたがあるからそれが使えるなら使えばいんじゃね
ファイル書き込み中にkillしたらまあそのファイルは壊れるだろうね
アプリやOSによってもっと穏顕な終了のさせかたがあるからそれが使えるなら使えばいんじゃね
583デフォルトの名無しさん (ワッチョイ a37c-B69F)
2022/11/14(月) 20:54:18.33ID:XE8fOT6n0584デフォルトの名無しさん (ワッチョイ 9b4e-7nVM)
2022/11/14(月) 22:24:42.02ID:+czhCa5R0585デフォルトの名無しさん (ワッチョイ ed02-SGX1)
2022/11/14(月) 22:53:47.70ID:Uzyce3Xf0 Process.CloseMainWindowで大体は閉じれるんじゃね
586デフォルトの名無しさん (ワッチョイ ed02-SGX1)
2022/11/14(月) 22:59:16.88ID:Uzyce3Xf0 https://learn.microsoft.com/en-us/dotnet/api/system.diagnostics.process.closemainwindow?view=net-7.0
日本語のドキュメントの翻訳おかしいんで、英語版のリンク
ここのRemarksを読むべき
英語苦手ならGoogle翻訳使ってくれ
日本語のドキュメントの翻訳おかしいんで、英語版のリンク
ここのRemarksを読むべき
英語苦手ならGoogle翻訳使ってくれ
587デフォルトの名無しさん (ワッチョイ a37c-B69F)
2022/11/15(火) 14:26:47.37ID:Lk8Tc52e0 ありがとうございます。CloseMainWindowは表面的にはHasExitedがtrueになって処理が中止されたように見えるのです、タスクマネジャーで確認すると、閉じたはずのjavaアプリのプロセスが動き続けてCPU・メモリを占拠し続けてしまっていました。
GenerateConsoleCtrlEventはググってもC#、WPFでどう使うのか分からず、途方に暮れています、、、
GenerateConsoleCtrlEventはググってもC#、WPFでどう使うのか分からず、途方に暮れています、、、
588デフォルトの名無しさん (アウアウウー Saa9-z+Fy)
2022/11/15(火) 14:44:49.76ID:6OfP8eGXa WindowsでGUIアプリを操作するなら今はUI Automation一択
589デフォルトの名無しさん (テテンテンテン MM4b-xUB5)
2022/11/15(火) 14:51:48.92ID:wrDdZ3ZbM Javaのアプリってのがどういうのか分からんからコメントしようがないな
外部プロセスと通信する、または入力を受け取る仕組み用意してないならKillしかないんじゃね
外部プロセスと通信する、または入力を受け取る仕組み用意してないならKillしかないんじゃね
590デフォルトの名無しさん (アウアウウー Saa9-z+Fy)
2022/11/15(火) 14:54:17.14ID:6OfP8eGXa >>589
何で書かれてようがwindowがあればUI Automationで操作できる
何で書かれてようがwindowがあればUI Automationで操作できる
591デフォルトの名無しさん (テテンテンテン MM4b-xUB5)
2022/11/15(火) 16:56:39.43ID:f/52+NWlM >>590
そういう話ではなく、終了させる方法がそもそも用意されてるのかって事
そういう話ではなく、終了させる方法がそもそも用意されてるのかって事
592デフォルトの名無しさん (アウアウウー Saa9-z+Fy)
2022/11/15(火) 17:05:43.39ID:Ptkq34Vna >>591
右上の✕印を押すとたいてい終了できるぞ
右上の✕印を押すとたいてい終了できるぞ
593デフォルトの名無しさん (ワッチョイ cd33-dvlj)
2022/11/15(火) 17:13:56.04ID:s+bzFdbT0 >外部アプリには途中終了コマンドが無い
>外部アプリはウィンドウの無いコンソールアプリ
この外部アプリを途中終了できるように改修させる方が楽なんじゃね?
>外部アプリはウィンドウの無いコンソールアプリ
この外部アプリを途中終了できるように改修させる方が楽なんじゃね?
594デフォルトの名無しさん (ワッチョイ 23ad-12LH)
2022/11/15(火) 17:30:09.04ID:tj+bY8hN0 もしかしたらSIGTERM受け付けてるかも
595デフォルトの名無しさん (オッペケ Src1-vUAo)
2022/11/15(火) 17:34:59.92ID:y5E/LJbRr >>587
GenerateConsoleCtrlEventのC#での使い方はStackOverflowの813086とか見るといいよ
GenerateConsoleCtrlEventのC#での使い方はStackOverflowの813086とか見るといいよ
596デフォルトの名無しさん (スプッッ Sd43-B69F)
2022/11/16(水) 14:51:33.26ID:Nr772sxzd ありがとうございます。再度調べてみます
597デフォルトの名無しさん (ワッチョイ 2524-BvCT)
2022/11/16(水) 16:31:41.33ID:L7AEwAjo0 LibraryImport来たついでに逆アセしてみたけどWin32の戻り値BOOLをC#側でboolでDllImportしちゃうだけで大量のゴミコード生成される事になってたんだな
CのBOOLの実体はintでC#やC++のboolの実体はbyteだけど単に切り捨てられるだけかと思ってた
逆に引数と戻り値を完全に型サイズ合わせればLibraryImportだろうがDllImportだろうがインライン展開されて直接Win32呼ばれるってことか
CのBOOLの実体はintでC#やC++のboolの実体はbyteだけど単に切り捨てられるだけかと思ってた
逆に引数と戻り値を完全に型サイズ合わせればLibraryImportだろうがDllImportだろうがインライン展開されて直接Win32呼ばれるってことか
598デフォルトの名無しさん (ワッチョイ 2524-BvCT)
2022/11/16(水) 17:25:44.01ID:L7AEwAjo0599デフォルトの名無しさん (ワッチョイ 4b7b-/xWR)
2022/11/18(金) 22:33:38.46ID:eJgoDgWR0 >>570
今更だけどSystem.Timers.TimerどころかSystem.Windows.Forms.Timer使ってコントロールの表示変えながらMessageBox.Showしても表示の変更止まらんな
Marquee動く時点でもしかしてと思って試したらそんな結果。DoEventもいらない
むしろ止まってしまうグルグルをどうやって動かしているのか不思議
今更だけどSystem.Timers.TimerどころかSystem.Windows.Forms.Timer使ってコントロールの表示変えながらMessageBox.Showしても表示の変更止まらんな
Marquee動く時点でもしかしてと思って試したらそんな結果。DoEventもいらない
むしろ止まってしまうグルグルをどうやって動かしているのか不思議
600デフォルトの名無しさん (オイコラミネオ MM71-gPc0)
2022/11/18(金) 23:42:26.02ID:nTmfkfcZM うーん
601デフォルトの名無しさん (ベーイモ MM9e-R8F1)
2022/11/19(土) 07:24:15.03ID:W2gsPZLCM Windows 11の標準アーカイバーも不便だし他に良いのもないから自分で作ろうと思って久々にプライベートで開発すっかなと思ったわけですよ
そんでMSのDoc読みながらふむふむPackage.appxmanifestにwindows.fileTypeAssociationなんかで記述すればWin11のNew Context Menuにコマンド追加できるわけね
おー確かにサンプルのApp1で開くが追加されたし.zipで右クリックしたら出た、じゃああとは汎用フォルダ・ファイルの右クリックではどうやるのかな?
はい、汎用フォルダ・ファイルへのコマンド追加はExplorerのShell拡張が必要です、そしてまーた.NETあるあるのVC++でCOM作ってくださいですよ
十何年前とまったく同じことを.NET 7になっても繰り返してんだねこれじゃMS StoreもデスクトップアプリもオワコンになってWindowsでアプリなんて増えるわけないよね
そりゃWSAとAmazon App StoreでAndroidアプリエミュレートするしかなくなるわな
なんでこんなデスクトップアプリを開発する場合に誰もがやりたがることがこんなに難解で面倒なんだよ.NETでAPI用意しろよアホすぎるわMS
そんでMSのDoc読みながらふむふむPackage.appxmanifestにwindows.fileTypeAssociationなんかで記述すればWin11のNew Context Menuにコマンド追加できるわけね
おー確かにサンプルのApp1で開くが追加されたし.zipで右クリックしたら出た、じゃああとは汎用フォルダ・ファイルの右クリックではどうやるのかな?
はい、汎用フォルダ・ファイルへのコマンド追加はExplorerのShell拡張が必要です、そしてまーた.NETあるあるのVC++でCOM作ってくださいですよ
十何年前とまったく同じことを.NET 7になっても繰り返してんだねこれじゃMS StoreもデスクトップアプリもオワコンになってWindowsでアプリなんて増えるわけないよね
そりゃWSAとAmazon App StoreでAndroidアプリエミュレートするしかなくなるわな
なんでこんなデスクトップアプリを開発する場合に誰もがやりたがることがこんなに難解で面倒なんだよ.NETでAPI用意しろよアホすぎるわMS
602デフォルトの名無しさん (ラクッペペ MM8e-qI7v)
2022/11/19(土) 07:34:18.33ID:Mciuu6qvM それはあなたの感想ですよね
603デフォルトの名無しさん (オイコラミネオ MM67-TaOI)
2022/11/19(土) 10:44:26.12ID:Cy1G0XeKM フォルダを対象にしたアプリってアホみたいに作れる
フォルダ指定してこれを○○で開くが無限に作れる
安易に出来たらアプリ100個入れたら100個縦に○○で開くが並ぶ
これ以上増えてもらっても困る
と言う感想
フォルダ指定してこれを○○で開くが無限に作れる
安易に出来たらアプリ100個入れたら100個縦に○○で開くが並ぶ
これ以上増えてもらっても困る
と言う感想
604デフォルトの名無しさん (ワッチョイ 227c-stRS)
2022/11/19(土) 11:16:05.26ID:eQTLGh6L0 >>601みたいな奴が簡単にそういうOSに関連したコードを書けるほうが何が起こるか分からないし
OSの互換性が重要だし、その辺理解出来なくて発狂しているだけなら相当頭が悪い
で、シェルエクステンションの実装が出来ない低レベルは諦めたらいいだけw
OSの互換性が重要だし、その辺理解出来なくて発狂しているだけなら相当頭が悪い
で、シェルエクステンションの実装が出来ない低レベルは諦めたらいいだけw
605デフォルトの名無しさん (オイコラミネオ MM67-TaOI)
2022/11/19(土) 11:19:32.03ID:Cy1G0XeKM そんな酷い言い方はないと思うが…
なんだったらwin11は右クリックをカスタマイズできるツールは沢山あるからそれを使えばいいかとも思う
どうしても作りたいならOSSのツールもあるからそこからコピペするのもありかも
なんだったらwin11は右クリックをカスタマイズできるツールは沢山あるからそれを使えばいいかとも思う
どうしても作りたいならOSSのツールもあるからそこからコピペするのもありかも
606デフォルトの名無しさん (アウアウウー Sa3b-xynR)
2022/11/19(土) 11:32:29.78ID:muFnCKvaa >>601
C#でCOM作れるのにどうしてそういう感想になるんだw
C#でCOM作れるのにどうしてそういう感想になるんだw
607デフォルトの名無しさん (ワッチョイ 4b5f-kiOm)
2022/11/20(日) 01:27:17.90ID:7pjHG/e/0 クライアントでのマスターデータの管理って皆さんどうやってますか?
・使用するたびにサーバーに取りに行く
・初めて使用したときにサーバーに取りに行きクライアントのメモリに保持しておく
・クライアント起動時に全部のマスターをサーバーに取りに行きクライアントのメモリに保持しておく
・使用するたびにサーバーに取りに行く
・初めて使用したときにサーバーに取りに行きクライアントのメモリに保持しておく
・クライアント起動時に全部のマスターをサーバーに取りに行きクライアントのメモリに保持しておく
608デフォルトの名無しさん (テテンテンテン MM8e-LO0k)
2022/11/20(日) 01:29:23.84ID:f6/NLLueM サイズとか更新頻度と相談
正解はないが鯖でやった方がメンテしやすくていいんじゃないか
正解はないが鯖でやった方がメンテしやすくていいんじゃないか
609デフォルトの名無しさん (ワッチョイ ab6e-r+gm)
2022/11/20(日) 09:35:44.93ID:AGRlHlXF0 >>607
レイヤーを下げて特定のAPIをクライアント側でキャッシュ
レイヤーを下げて特定のAPIをクライアント側でキャッシュ
610デフォルトの名無しさん (ワッチョイ 4b02-38Qr)
2022/11/20(日) 09:39:38.89ID:lRymRVs40 割と頻繁に更新され、即時性が要求されるなら都度読みにいくしかないし
通信環境が良くなくて通信回数減らすためになるべくキャッシュしたりする事もある
結局要件次第としか
通信環境が良くなくて通信回数減らすためになるべくキャッシュしたりする事もある
結局要件次第としか
611デフォルトの名無しさん (ワッチョイ 4b5f-kiOm)
2022/11/20(日) 11:29:27.36ID:7pjHG/e/0 まあ要件次第なのはそうなので、要件を絞って
サイズが大きい
更新頻度が少ない
使用頻度が少ない
この場合はキャッシュするとして、その場合のキャッシュ方法って何がおすすめですかね?
マスターを使うときの実装としてはこんな感じを考えてる
更新されたかの確認
更新された場合、クライアントにダウンロードし、ついでにファイルに保存。
更新されてない場合、クライアントにファイルがあればそれをメモリに展開。
ファイルがなければ、更新された時と同様
サイズが大きい
更新頻度が少ない
使用頻度が少ない
この場合はキャッシュするとして、その場合のキャッシュ方法って何がおすすめですかね?
マスターを使うときの実装としてはこんな感じを考えてる
更新されたかの確認
更新された場合、クライアントにダウンロードし、ついでにファイルに保存。
更新されてない場合、クライアントにファイルがあればそれをメモリに展開。
ファイルがなければ、更新された時と同様
612デフォルトの名無しさん (ワッチョイ a201-X9TU)
2022/11/20(日) 12:04:09.80ID:fuSoz9vj0 >>611
なぜキャッシュしたいの?
マスター更新後に古くなったキャッシュが利用されても問題ない?
想定してる通信環境は?
サイズが大きいとは具体的に何MB程度?
想定してる用途はモバイルゲーム?業務アプリ?
なぜキャッシュしたいの?
マスター更新後に古くなったキャッシュが利用されても問題ない?
想定してる通信環境は?
サイズが大きいとは具体的に何MB程度?
想定してる用途はモバイルゲーム?業務アプリ?
613デフォルトの名無しさん (ワッチョイ 4b02-38Qr)
2022/11/20(日) 12:04:54.58ID:lRymRVs40 サイズが大きいってのもざっくりすぎてなぁ
富豪的にメモリ使えるなら全部メモリぶち込んでもいいし
一旦ローカルに置きたいなら、SQLiteでも使えば
富豪的にメモリ使えるなら全部メモリぶち込んでもいいし
一旦ローカルに置きたいなら、SQLiteでも使えば
614デフォルトの名無しさん (ワッチョイ 4b5f-kiOm)
2022/11/20(日) 12:27:19.46ID:7pjHG/e/0615デフォルトの名無しさん (ワッチョイ 4b02-38Qr)
2022/11/20(日) 12:42:58.25ID:lRymRVs40 頻繁に更新チェックするくらいなら、都度取っても大差ない
616デフォルトの名無しさん (ワッチョイ e201-IwB9)
2022/11/20(日) 12:52:11.40ID:AxU0uBeT0 何を聞きたいのかさっぱりわからん
マスター ⇒ クライアントのファイル ⇒ メモリー の2階層キャッシュなら
マスターの更新日時を取得
if(キャッシュファイル無し && キャッシュファイル更新日時 < マスターの更新日時){
マスターダウンロードしてキャッシュファイル更新(キャッシュファイルの更新日時を更新)
}
if(展開済みメモリー無し && メモリー更新日時 < キャッシュファイルの更新日時){
キャッシュファイルをメモリーに展開
メモリーの更新日時を更新
}
ってやるだけだろ
マスター ⇒ クライアントのファイル ⇒ メモリー の2階層キャッシュなら
マスターの更新日時を取得
if(キャッシュファイル無し && キャッシュファイル更新日時 < マスターの更新日時){
マスターダウンロードしてキャッシュファイル更新(キャッシュファイルの更新日時を更新)
}
if(展開済みメモリー無し && メモリー更新日時 < キャッシュファイルの更新日時){
キャッシュファイルをメモリーに展開
メモリーの更新日時を更新
}
ってやるだけだろ
617デフォルトの名無しさん (ワッチョイ 4b02-38Qr)
2022/11/20(日) 13:04:27.34ID:lRymRVs40618デフォルトの名無しさん (オイコラミネオ MM67-LO0k)
2022/11/20(日) 13:13:14.12ID:P+FEWrnJM619デフォルトの名無しさん (ワッチョイ 86bb-hSjh)
2022/11/20(日) 13:23:28.05ID:ehdgoKhb0 >>618
せやな
せやな
620デフォルトの名無しさん (ブーイモ MM8e-J1J7)
2022/11/20(日) 13:38:37.27ID:Um2LrDwiM そもそもローカルに置かなくていいように設計すべき
都度SQL投げるかサーバーサイドにAPI実装すりゃいいだろ
都度SQL投げるかサーバーサイドにAPI実装すりゃいいだろ
621デフォルトの名無しさん (ワッチョイ a201-X9TU)
2022/11/20(日) 13:55:02.81ID:fuSoz9vj0 >>614
マスターの全データじゃなく都度必要なデータだけサーバーから返すようにすれば通信時間とかは誤差の範囲だと思うよ
特に古いマスターのデータを絶対に使っちゃだめなユースケースの業務アプリならクライアント側にキャッシュするメリットはほぼない
どうしてもキャッシュするならサーバーから取得した部分的なデータだけキャッシュして基本はローカルチェックのみ
クライアント側でマスターデータを使って何かデータを作成/更新するときはマスターのバージョンを条件に入れておいて古い場合はエラーではじく(これは状況によってはキャッシュしてなくても必要な処理)
マスターの全データじゃなく都度必要なデータだけサーバーから返すようにすれば通信時間とかは誤差の範囲だと思うよ
特に古いマスターのデータを絶対に使っちゃだめなユースケースの業務アプリならクライアント側にキャッシュするメリットはほぼない
どうしてもキャッシュするならサーバーから取得した部分的なデータだけキャッシュして基本はローカルチェックのみ
クライアント側でマスターデータを使って何かデータを作成/更新するときはマスターのバージョンを条件に入れておいて古い場合はエラーではじく(これは状況によってはキャッシュしてなくても必要な処理)
622デフォルトの名無しさん (ブーイモ MM8e-J1J7)
2022/11/20(日) 14:17:52.00ID:BrRFAkQBM まあPOSみたいに一時的な通信途絶が避けられないがマスターデータを使用する処理は続けなきゃいけない状況でローカルに持ちたいことはあるだろうな
そもそもそんなものを初心者に設計させるなという話だが
そもそもそんなものを初心者に設計させるなという話だが
623デフォルトの名無しさん (ワッチョイ e201-IwB9)
2022/11/20(日) 14:36:26.56ID:AxU0uBeT0 要件もよくわからんのにオレオレ設計語り出す奴がワラワラ湧いてきてて草
624デフォルトの名無しさん (ワッチョイ 4b02-38Qr)
2022/11/20(日) 14:59:32.42ID:lRymRVs40 キャッシュが必要なケースなんて限定されてるから、
本当にキャッシュしなきゃいけないのかよく考えた方がいい
多少通信回数が増えようが、LANなら普通は問題にならん
本当にキャッシュしなきゃいけないのかよく考えた方がいい
多少通信回数が増えようが、LANなら普通は問題にならん
625デフォルトの名無しさん (ワッチョイ 4b5f-kiOm)
2022/11/20(日) 16:46:06.08ID:7pjHG/e/0626デフォルトの名無しさん (ワッチョイ 5701-J1J7)
2022/11/20(日) 16:55:45.58ID:8obJ8Imf0627デフォルトの名無しさん (オイコラミネオ MM67-LO0k)
2022/11/20(日) 17:40:21.93ID:P+FEWrnJM コンボ、オートコンプリートは最大件数を決めて切り捨て
そんでサーバー側で処理
ガチで全件検索したいなら別途、検索画面を作成
何がなんでもローカルに置きたいならイベントソースにして差分管理
そんでサーバー側で処理
ガチで全件検索したいなら別途、検索画面を作成
何がなんでもローカルに置きたいならイベントソースにして差分管理
628デフォルトの名無しさん (ワッチョイ e2ad-CdGE)
2022/11/20(日) 18:53:00.44ID:e51QlejL0629デフォルトの名無しさん (ワッチョイ 4b02-38Qr)
2022/11/20(日) 18:58:42.94ID:lRymRVs40 >>628
提案は出てるやん、あとどうするかは仕様と本人次第
提案は出てるやん、あとどうするかは仕様と本人次第
630デフォルトの名無しさん (ワッチョイ c28b-TaOI)
2022/11/20(日) 21:36:57.93ID:79zBHkdo0 VBA+Seleniumで自動ログイン機能を実装しています。
ログインすると
「パスワードを保存しますか?」というダイアログが表示されてしまって困っています。
ネットで調べて以下の様なコードを記述していますが、出ます。
Dim Driver As New Selenium.WebDriver
Driver.AddArgument "credentials_enable_service=False"
Driver.AddArgument "profile.password_manager_enabled=False"
記述が間違っているのでしょうか?
ログインすると
「パスワードを保存しますか?」というダイアログが表示されてしまって困っています。
ネットで調べて以下の様なコードを記述していますが、出ます。
Dim Driver As New Selenium.WebDriver
Driver.AddArgument "credentials_enable_service=False"
Driver.AddArgument "profile.password_manager_enabled=False"
記述が間違っているのでしょうか?
631デフォルトの名無しさん (ワッチョイ 86bb-hSjh)
2022/11/20(日) 21:44:23.00ID:ehdgoKhb0 スレチ
632デフォルトの名無しさん (ワッチョイ 5701-J1J7)
2022/11/20(日) 21:45:12.07ID:8obJ8Imf0 間違っているのはプログラミング言語です
633デフォルトの名無しさん (ワッチョイ fba7-5AI7)
2022/11/22(火) 13:10:05.30ID:HM6aNMRH0 RegexGenerator作ったんならQuerySelectorGeneratorも作ろうよ、MSさん
634デフォルトの名無しさん (ワッチョイ c785-TaOI)
2022/11/24(木) 11:03:24.57ID:HgKbNXE30 デバッグで大事なのは最小構成でやることでしょうか?
余分な部分を排除して、小さなプログラムを作ってみることすか
余分な部分を排除して、小さなプログラムを作ってみることすか
635デフォルトの名無しさん (ワッチョイ fb33-Tb7+)
2022/11/24(木) 11:20:19.87ID:Au08Yyq20 >>634
目的による、としか言いようがない気がするが
それだけだとアレなんで、多分メソッド単位でのテストとかを想定してそうなので
そういった単体テスト(ユニットテスト)はxUnitやMSTestなんかを利用して行うのが吉
目的による、としか言いようがない気がするが
それだけだとアレなんで、多分メソッド単位でのテストとかを想定してそうなので
そういった単体テスト(ユニットテスト)はxUnitやMSTestなんかを利用して行うのが吉
636デフォルトの名無しさん (オイコラミネオ MM9e-LO0k)
2022/11/24(木) 11:40:33.70ID:P67WlZAQM >>634
大事なのはバグを確実に再現する手順を見つけること
大事なのはバグを確実に再現する手順を見つけること
637デフォルトの名無しさん (オイコラミネオ MM9e-LO0k)
2022/11/24(木) 11:41:54.97ID:P67WlZAQM んで
確実に再現するには余計な状態が少ないほど簡単だね
確実に再現するには余計な状態が少ないほど簡単だね
638デフォルトの名無しさん (ワッチョイ c785-TaOI)
2022/11/24(木) 12:08:52.06ID:HgKbNXE30639デフォルトの名無しさん (ワッチョイ c785-TaOI)
2022/11/24(木) 12:13:42.94ID:HgKbNXE30 別のプロジェクトを作って単体テストしてましたが、xunitというのを調べてみます
640デフォルトの名無しさん (ワッチョイ 62b1-jFJt)
2022/11/24(木) 17:02:44.47ID:F4Bj4Vii0 C#を独学中の50過ぎのIT業界未経験のオッサンなんだが、
Pyhton3で、
f"{0b1000 >> 1:b}"
に相当するのって、もしかしてC#には無い?
$"{0b1000 >> 1:b}"
だとエラーになる。;xや:Xならいいみたいだけど。
Pyhton3で、
f"{0b1000 >> 1:b}"
に相当するのって、もしかしてC#には無い?
$"{0b1000 >> 1:b}"
だとエラーになる。;xや:Xならいいみたいだけど。
641デフォルトの名無しさん (ワッチョイ ef4f-ES6F)
2022/11/24(木) 17:10:10.48ID:/drRm28l0 数値書式指定文字列に2進数のはないねえ あっていいと思うんだけどね
Convert.ToString()で基数指定して2進数化と、あと必要に応じてPadLeft()でゼロ埋め
Convert.ToString()で基数指定して2進数化と、あと必要に応じてPadLeft()でゼロ埋め
642デフォルトの名無しさん (ワッチョイ 62b1-jFJt)
2022/11/24(木) 17:20:53.46ID:F4Bj4Vii0643デフォルトの名無しさん (ワッチョイ ef4f-ES6F)
2022/11/24(木) 17:28:46.81ID:/drRm28l0 実は0bが書けるようになったのも割と最近だったりする
644デフォルトの名無しさん (ワッチョイ c785-TaOI)
2022/11/24(木) 17:49:00.43ID:HgKbNXE30 単体テストッテ別プロジェクトつくってやればいいだけじゃないんですか?
なんかしらのツールがいるんですかね
なんかしらのツールがいるんですかね
645デフォルトの名無しさん (アウアウウー Sa3b-5SHr)
2022/11/24(木) 18:08:09.96ID:ggwtZAtna 同じプロジェクトでもいいですけどね
646デフォルトの名無しさん (アウアウウー Sa3b-1oEr)
2022/11/24(木) 18:45:59.37ID:EbMeVnega 2進数を表示しようなんて思ったことないな
16進数で書いたほうが読みやすいだろ
16進数で書いたほうが読みやすいだろ
647デフォルトの名無しさん (スップ Sd22-P3Qh)
2022/11/24(木) 19:22:57.45ID:EZ6nEehrd >50過ぎのIT業界未経験のオッサン
これで察しろ
これで察しろ
648デフォルトの名無しさん (アウアウウー Sa3b-1oEr)
2022/11/24(木) 19:33:42.52ID:JYVIn9dZa ああ課題か
そういうのは自分で2進数に直して進数の理解を深める練習だから楽したら意味ないぞ
そうでなくても残り時間が短いんだから最大限の効果が上がるようにしなきゃ
そういうのは自分で2進数に直して進数の理解を深める練習だから楽したら意味ないぞ
そうでなくても残り時間が短いんだから最大限の効果が上がるようにしなきゃ
649デフォルトの名無しさん (ワッチョイ 62b1-jFJt)
2022/11/24(木) 20:47:07.44ID:F4Bj4Vii0 >>647-648
別に課題でやってる訳ではないけど、Python3と同じ様に対応しているかと思ったらそうではなかったから気になったというだけ。
一応、自分で書いてみたよ。
もっとスマートな、君達プロが書いたコード例も見てみたいです。
static string IToB(int a) // Convert given integer value to bit pattern string and retern it
{
string lsb = ""; // for caching current LSB in string type
string b = ""; // for caching bit pattern in progress in string type
while (a != 0) {
lsb = (a & 01).ToString();
b = lsb + b;
a >>= 1;
}
return b; // Return converted result
}
別に課題でやってる訳ではないけど、Python3と同じ様に対応しているかと思ったらそうではなかったから気になったというだけ。
一応、自分で書いてみたよ。
もっとスマートな、君達プロが書いたコード例も見てみたいです。
static string IToB(int a) // Convert given integer value to bit pattern string and retern it
{
string lsb = ""; // for caching current LSB in string type
string b = ""; // for caching bit pattern in progress in string type
while (a != 0) {
lsb = (a & 01).ToString();
b = lsb + b;
a >>= 1;
}
return b; // Return converted result
}
650デフォルトの名無しさん (アウアウウー Sa3b-1oEr)
2022/11/24(木) 20:55:41.52ID:fAvS7doIa 違う言語でも同じことができると思ってるやつ一定数いるよな
651デフォルトの名無しさん (ワッチョイ e26a-nNBz)
2022/11/24(木) 21:43:39.40ID:i+bWLU0n0652デフォルトの名無しさん (オイコラミネオ MM67-zHbW)
2022/11/24(木) 23:25:55.64ID:qQzvjeJeM >>649
それ普通に-1与えたら無限ループしない?
それ普通に-1与えたら無限ループしない?
653デフォルトの名無しさん (オイコラミネオ MM67-zHbW)
2022/11/24(木) 23:48:05.21ID:qQzvjeJeM 長いことプログラムやるともうプログラム脳になる
引数にint 使ってあればマイナスや0のことを考慮してるのかどうか気になる
ビット演算 >> 見ればちゃんとマイナスを考慮してあるのか気になる
割り算があれば0除算しないか気になる
これが基本
引数にint 使ってあればマイナスや0のことを考慮してるのかどうか気になる
ビット演算 >> 見ればちゃんとマイナスを考慮してあるのか気になる
割り算があれば0除算しないか気になる
これが基本
654649 (ワッチョイ 62b1-jFJt)
2022/11/25(金) 01:16:40.25ID:GQeKBwEb0 >>652
本当だ。符号付きは、符号無しにタイプキャスティングしないと駄目みたいですね。
訂正バージョン
static string IToB(uint a) // Convert given unsigned integer value to bit pattern string and retern it
{
string lsb = ""; // for storing current LSB in string type
string b = ""; // for storing bit pattern in progress in string type
while (a != 0) {
lsb = (a & 01).ToString();
b = lsb + b;
a >>= 1;
}
return b; // Return converted result
}
本当だ。符号付きは、符号無しにタイプキャスティングしないと駄目みたいですね。
訂正バージョン
static string IToB(uint a) // Convert given unsigned integer value to bit pattern string and retern it
{
string lsb = ""; // for storing current LSB in string type
string b = ""; // for storing bit pattern in progress in string type
while (a != 0) {
lsb = (a & 01).ToString();
b = lsb + b;
a >>= 1;
}
return b; // Return converted result
}
655デフォルトの名無しさん (ワッチョイ ef8e-P3Qh)
2022/11/25(金) 01:26:19.97ID:8Qv7d+j40 コメント見ただけで素人だとわかる
656649 (ワッチョイ 62b1-jFJt)
2022/11/25(金) 02:11:15.03ID:GQeKBwEb0657デフォルトの名無しさん (ワッチョイ 62ad-eHBA)
2022/11/25(金) 07:15:13.23ID:IZhBm03q0 玄人のコメント見たいな
658デフォルトの名無しさん (ワッチョイ e201-IwB9)
2022/11/25(金) 07:48:58.45ID:HZEumDr50 そもそも 0 与えたら空文字列返されても困るし
659649 (ワッチョイ 62b1-jFJt)
2022/11/25(金) 08:39:48.60ID:GQeKBwEb0660デフォルトの名無しさん (スプッッ Sd02-sOVt)
2022/11/25(金) 08:44:52.37ID:fVhe3/QRd 変数名を変えるだけでもだいぶ読みやすくなるし、コメントがそもそも要らなくなる箇所だってある
// "{b}" 相当の2進数表記に変換する
static string FormatBinary(uint a)
{
string ret = "";
while (a != 0) {
string adder = (a & 01).ToString();
ret = adder + ret;
a >>= 1;
}
return ret;
}
// "{b}" 相当の2進数表記に変換する
static string FormatBinary(uint a)
{
string ret = "";
while (a != 0) {
string adder = (a & 01).ToString();
ret = adder + ret;
a >>= 1;
}
return ret;
}
661デフォルトの名無しさん (ワッチョイ 775f-+Vtb)
2022/11/26(土) 18:05:18.46ID:PxjWwIqd0 >>656
長い行コメントなのとやたら短い変数名は、学生までだからな。
長い行コメントなのとやたら短い変数名は、学生までだからな。
662デフォルトの名無しさん (ワッチョイ 775f-+Vtb)
2022/11/26(土) 18:07:50.86ID:PxjWwIqd0 >>659
例外処理を知らない人のアドバイスなんて無視していいよ。
例外処理を知らない人のアドバイスなんて無視していいよ。
663デフォルトの名無しさん (ワッチョイ 775f-+Vtb)
2022/11/26(土) 18:10:25.03ID:PxjWwIqd0 ゼロという文字列が返されるなら、最低限、仕様のコメントくらい書いておいてほしい。
ただ、間違って呼び出し側がゼロを渡した場合にゼロが戻るというのも曲者だけどな。
ただ、間違って呼び出し側がゼロを渡した場合にゼロが戻るというのも曲者だけどな。
664デフォルトの名無しさん (ワッチョイ 775f-+Vtb)
2022/11/26(土) 18:12:50.87ID:PxjWwIqd0 >>649
IToBが何の略なのかまったくわからない
IToBが何の略なのかまったくわからない
665デフォルトの名無しさん (ワッチョイ 775f-+Vtb)
2022/11/26(土) 18:25:17.54ID:PxjWwIqd0666デフォルトの名無しさん (ワッチョイ 775f-+Vtb)
2022/11/26(土) 18:26:24.48ID:PxjWwIqd0 「to」がもしかして英語の「to」じゃないというとんでも命名なのか?
667デフォルトの名無しさん (ワッチョイ 9fad-rqhv)
2022/11/26(土) 18:50:28.82ID:kAGdhFVE0 itoaも知らんのか
668デフォルトの名無しさん (スッップ Sdbf-PNWj)
2022/11/26(土) 18:53:36.29ID:8KuukqTtd C#でI+大文字で始まるメソッド名は嫌だな
インターフェイスと紛らわしい
インターフェイスと紛らわしい
669649 (ワッチョイ 9fb1-2SHd)
2022/11/26(土) 19:07:49.92ID:bgvkuxQR0670デフォルトの名無しさん (ワッチョイ ffcf-RPwI)
2022/11/26(土) 19:08:19.73ID:39+gXbIT0 メソッドは常にレシーバを記述することが推奨されているからそれに従えば混同することはないでしょ
671デフォルトの名無しさん (ワッチョイ d78e-8UFK)
2022/11/26(土) 19:17:06.58ID:3/lM1ho60 >>669
これから英語やプログラムを学ぶ50過ぎの爺をどこの外資が雇うんだ?その発想からしてもう終わってるだろ
これから英語やプログラムを学ぶ50過ぎの爺をどこの外資が雇うんだ?その発想からしてもう終わってるだろ
672デフォルトの名無しさん (ワッチョイ 5707-zuBb)
2022/11/26(土) 19:20:13.23ID:3yMZT+wQ0 普通にConvert.ToStringを使えばいい
自作しなくちゃいけないならこう
public static string ToBinaryString(this uint source)
{
var length = sizeof(uint) * 8;
var result = new char[length].AsSpan();
for (int i = 1; i <= length; i++, source >>= 1)
{
result[^i] = (char)('0' + (source & 1));
}
return new string(result);
}
自作しなくちゃいけないならこう
public static string ToBinaryString(this uint source)
{
var length = sizeof(uint) * 8;
var result = new char[length].AsSpan();
for (int i = 1; i <= length; i++, source >>= 1)
{
result[^i] = (char)('0' + (source & 1));
}
return new string(result);
}
673デフォルトの名無しさん (ワッチョイ 775f-+Vtb)
2022/11/26(土) 19:20:35.37ID:PxjWwIqd0 >>669
他の言語の文化を持ち込むのはすげー嫌われるよ。
他の言語の文化を持ち込むのはすげー嫌われるよ。
674デフォルトの名無しさん (ワッチョイ 9f7c-zuBb)
2022/11/26(土) 20:12:21.31ID:a42sf4+p0 class A{
public int X {get;set;}
public void Modify() {if (X < 0) {X = 0;} return;}
public bool Check() {return (X > 10);}
}
class B{
var c = new A();
c.X = ・・・;
if(c.Modify().Check()){・・・}
}
このようにインスタンスメソッドを数珠つなぎみたいにしたいのですが、voidに「.」は使えないエラーが出ます。どのように直したらよいでしょうか。
c.Modify();
if(c.Check()){・・・}
というように分けて記述すればエラーは出ませんが、数珠つなぎにしたいです。
よろしくお願いします。
public int X {get;set;}
public void Modify() {if (X < 0) {X = 0;} return;}
public bool Check() {return (X > 10);}
}
class B{
var c = new A();
c.X = ・・・;
if(c.Modify().Check()){・・・}
}
このようにインスタンスメソッドを数珠つなぎみたいにしたいのですが、voidに「.」は使えないエラーが出ます。どのように直したらよいでしょうか。
c.Modify();
if(c.Check()){・・・}
というように分けて記述すればエラーは出ませんが、数珠つなぎにしたいです。
よろしくお願いします。
675デフォルトの名無しさん (オイコラミネオ MMab-ykd8)
2022/11/26(土) 20:34:56.69ID:1ldKsJnPM 二進表記のstringに変換してるので不正確なんじゃない?
676デフォルトの名無しさん (アウアウウー Sa5b-635b)
2022/11/26(土) 20:36:09.23ID:VMbAKT9za return this;
677デフォルトの名無しさん (オイコラミネオ MMab-ykd8)
2022/11/26(土) 20:37:15.05ID:1ldKsJnPM678デフォルトの名無しさん (オイコラミネオ MMab-ykd8)
2022/11/26(土) 20:40:33.70ID:1ldKsJnPM 仮だとしても非常にクソコードだなw
679デフォルトの名無しさん (ワッチョイ 9f7c-zuBb)
2022/11/26(土) 20:41:36.40ID:a42sf4+p0680デフォルトの名無しさん (オイコラミネオ MM6b-635b)
2022/11/26(土) 20:42:27.38ID:ztvOMJ01M まあ、一度は通る道だ
681デフォルトの名無しさん (オイコラミネオ MMab-ykd8)
2022/11/26(土) 20:43:37.07ID:1ldKsJnPM 絶対笑わせに来てるだろw
682デフォルトの名無しさん (ワッチョイ 5707-DgGg)
2022/11/26(土) 20:52:52.66ID:3yMZT+wQ0 >>675
もしかして二進数に変換すると数値になると思ってる?w
もしかして二進数に変換すると数値になると思ってる?w
683デフォルトの名無しさん (ワッチョイ 9f01-YdBL)
2022/11/26(土) 20:57:08.95ID:rUW0f5oN0 >>672
0 サプレスされてない、やり直し
0 サプレスされてない、やり直し
684デフォルトの名無しさん (ワッチョイ 5707-DgGg)
2022/11/26(土) 20:58:46.27ID:3yMZT+wQ0 自分でやれや
俺はConvert.ToString使うから
俺はConvert.ToString使うから
685デフォルトの名無しさん (オイコラミネオ MMab-ykd8)
2022/11/26(土) 21:46:19.49ID:1ldKsJnPM >>682
二進数の"フォーマット"に変換されると書いてあるけど実際は二進数フォーマットされたstringに変換されてる
二進数の"フォーマット"に変換されると書いてあるけど実際は二進数フォーマットされたstringに変換されてる
686デフォルトの名無しさん (ワッチョイ 775f-+Vtb)
2022/11/26(土) 22:13:12.62ID:PxjWwIqd0 仕様を考えてないあたりは、みんなただの初心者なんだろうな。
687デフォルトの名無しさん (ワッチョイ 5707-DgGg)
2022/11/26(土) 22:21:09.48ID:3yMZT+wQ0 >>685
フォーマットに変換っていうのはそのようなフォーマットの文字列に変換ということだぞw
フォーマットに変換っていうのはそのようなフォーマットの文字列に変換ということだぞw
688デフォルトの名無しさん (ワッチョイ 5707-DgGg)
2022/11/26(土) 22:31:05.57ID:3yMZT+wQ0 俺のコードにほんの少しだけ足せば前のゼロを消すことができるから初心者じゃないと思ってるやつは挑戦してみなよ
ヒントはSpanの長さ
0がコーナーケースだ
うわここまで言えば初心者でもできちゃうな
誰もできなかったらどうしようw
ヒントはSpanの長さ
0がコーナーケースだ
うわここまで言えば初心者でもできちゃうな
誰もできなかったらどうしようw
689デフォルトの名無しさん (ワッチョイ 775f-+Vtb)
2022/11/26(土) 22:41:45.78ID:PxjWwIqd0 普通にConvert.ToStringを使えばいい
自作しなくちゃいけないならこう
public static string ToBinaryString(this uint source)
{
var length = sizeof(uint) * 8;
var result = new char[length].AsSpan();
for (int i = 1; i <= length; i++, source >>= 1)
{
result[^i] = (char)('0' + (source & 1));
}
return new string(result);
}
自作しなくちゃいけないならこう
public static string ToBinaryString(this uint source)
{
var length = sizeof(uint) * 8;
var result = new char[length].AsSpan();
for (int i = 1; i <= length; i++, source >>= 1)
{
result[^i] = (char)('0' + (source & 1));
}
return new string(result);
}
690デフォルトの名無しさん (ワッチョイ 775f-+Vtb)
2022/11/26(土) 22:43:39.24ID:PxjWwIqd0 >>647-648
別に課題でやってる訳ではないけど、Python3と同じ様に対応しているかと思ったらそうではなかったから気になったというだけ。
一応、自分で書いてみたよ。
もっとスマートな、君達プロが書いたコード例も見てみたいです。
static string IToB(int a) // Convert given integer value to bit pattern string and retern it
{
string lsb = ""; // for caching current LSB in string type
string b = ""; // for caching bit pattern in progress in string type
while (a != 0) {
lsb = (a & 01).ToString();
b = lsb + b;
a >>= 1;
}
return b; // Return converted result
}
別に課題でやってる訳ではないけど、Python3と同じ様に対応しているかと思ったらそうではなかったから気になったというだけ。
一応、自分で書いてみたよ。
もっとスマートな、君達プロが書いたコード例も見てみたいです。
static string IToB(int a) // Convert given integer value to bit pattern string and retern it
{
string lsb = ""; // for caching current LSB in string type
string b = ""; // for caching bit pattern in progress in string type
while (a != 0) {
lsb = (a & 01).ToString();
b = lsb + b;
a >>= 1;
}
return b; // Return converted result
}
691デフォルトの名無しさん (ワッチョイ 775f-+Vtb)
2022/11/26(土) 22:45:04.31ID:PxjWwIqd0692デフォルトの名無しさん (ワッチョイ 9f01-YdBL)
2022/11/26(土) 22:48:18.76ID:rUW0f5oN0693デフォルトの名無しさん (ワッチョイ 9f79-SL85)
2022/11/26(土) 22:52:00.94ID:3ZsD9Bij0694デフォルトの名無しさん (ワッチョイ 775f-+Vtb)
2022/11/26(土) 22:59:44.77ID:PxjWwIqd0 引数のaの扱いが雑すぎて、言語仕様に詳しくない自分にはわからなかった。
695デフォルトの名無しさん (ワッチョイ 5707-DgGg)
2022/11/26(土) 23:09:17.09ID:3yMZT+wQ0 負け犬の遠吠えしかできなくて草
こんな簡単なこともできないのか
こんな簡単なこともできないのか
696デフォルトの名無しさん (オイコラミネオ MMab-ykd8)
2022/11/26(土) 23:28:36.30ID:1ldKsJnPM697デフォルトの名無しさん (ワッチョイ 775f-+Vtb)
2022/11/26(土) 23:50:54.08ID:PxjWwIqd0 Binary Stringの意味が2進数表記だと思う人がいるかな?
698デフォルトの名無しさん (オイコラミネオ MMab-ykd8)
2022/11/27(日) 01:12:36.16ID:zizz/yv+M 何勘違いしてんの?
// Convert to binary expression format equivalent to f"{:b}" in Python3
これだよこれ
英語おかしい
// Convert to binary expression format equivalent to f"{:b}" in Python3
これだよこれ
英語おかしい
699デフォルトの名無しさん (ワッチョイ 775f-+Vtb)
2022/11/27(日) 01:35:06.05ID:JLfYtSEn0700デフォルトの名無しさん (ワッチョイ 775f-+Vtb)
2022/11/27(日) 01:35:29.87ID:JLfYtSEn0 >>699 を見ると自作自演なのかなとも思えるね
701デフォルトの名無しさん (ワッチョイ 775f-+Vtb)
2022/11/27(日) 01:37:13.00ID:JLfYtSEn0702デフォルトの名無しさん (ワッチョイ 775f-+Vtb)
2022/11/27(日) 01:39:24.61ID:JLfYtSEn0 「Python3 の f"{:b}" に相当するバイナリ表現の形式に変換」と日本語にしてみても、元の日本語を直訳しているだけだな。
703デフォルトの名無しさん (ワッチョイ 775f-+Vtb)
2022/11/27(日) 01:41:14.74ID:JLfYtSEn0 変数名を変えるだけでもだいぶ読みやすくなるし、コメントがそもそも要らなくなる箇所だってある
// "{b}" 相当の2進数表記に変換する
static string FormatBinary(uint a)
{
string ret = "";
while (a != 0) {
string adder = (a & 01).ToString();
ret = adder + ret;
a >>= 1;
}
return ret;
}
// "{b}" 相当の2進数表記に変換する
static string FormatBinary(uint a)
{
string ret = "";
while (a != 0) {
string adder = (a & 01).ToString();
ret = adder + ret;
a >>= 1;
}
return ret;
}
704デフォルトの名無しさん (ワッチョイ 775f-+Vtb)
2022/11/27(日) 01:42:35.75ID:JLfYtSEn0 >>703
この書き込みから、メソッドのコメントが変わったけど、これを他人が理解して、質問者がそのまま英語にする流れも変だな。
この書き込みから、メソッドのコメントが変わったけど、これを他人が理解して、質問者がそのまま英語にする流れも変だな。
705デフォルトの名無しさん (ワッチョイ 9f79-SL85)
2022/11/27(日) 07:14:54.81ID:mfQmt/DA0 他人のレスをコピペするやつ、何がしたいん
めちゃくちゃ読みづらいんだけど
めちゃくちゃ読みづらいんだけど
706デフォルトの名無しさん (ワッチョイ 9fad-rqhv)
2022/11/27(日) 07:32:37.85ID:yr57MGfK0 デジャヴかと思った
707デフォルトの名無しさん (ワッチョイ 5707-DgGg)
2022/11/27(日) 07:40:01.23ID:0L++XXOb0 >>696
コメントとコードから何をするかは明らかでMSは関係ないが英語もコードも読めないのなw
コメントとコードから何をするかは明らかでMSは関係ないが英語もコードも読めないのなw
708デフォルトの名無しさん (ワッチョイ 5707-DgGg)
2022/11/27(日) 07:40:24.24ID:0L++XXOb0 >>705
多分恥をかいたから暴れてる
多分恥をかいたから暴れてる
709デフォルトの名無しさん (オイコラミネオ MMab-RPwI)
2022/11/27(日) 11:37:36.55ID:zizz/yv+M 英文が間違ってると指摘したら何か悪いのか?
勝手に人のレスを引用してるのは俺じゃないぞ?
勝手に人のレスを引用してるのは俺じゃないぞ?
710デフォルトの名無しさん (オイコラミネオ MMab-RPwI)
2022/11/27(日) 11:40:06.19ID:zizz/yv+M711デフォルトの名無しさん (アウアウウー Sa5b-DgGg)
2022/11/27(日) 11:42:57.26ID:fm4wbbZca >>710
文盲の遠吠えはみっともないぞw
文盲の遠吠えはみっともないぞw
712デフォルトの名無しさん (オイコラミネオ MMab-RPwI)
2022/11/27(日) 12:15:01.84ID:zizz/yv+M >>711
文盲は漢字などの文字を知らず読めない人のことだ
文意を取れない人間のことではない
なんでこいつみたいな文盲と言う煽りを使うやつは必ず間違って使うのかわからない
5ch見てる時点で文盲はありえないんだけど
文盲と言う言葉をあおりで使う人間の知能が低いと言うことだろう
文盲は漢字などの文字を知らず読めない人のことだ
文意を取れない人間のことではない
なんでこいつみたいな文盲と言う煽りを使うやつは必ず間違って使うのかわからない
5ch見てる時点で文盲はありえないんだけど
文盲と言う言葉をあおりで使う人間の知能が低いと言うことだろう
713デフォルトの名無しさん (ワッチョイ 9f01-x1ca)
2022/11/27(日) 12:55:36.66ID:Tzlpv0SL0714デフォルトの名無しさん (アウアウウー Sa5b-DgGg)
2022/11/27(日) 13:24:40.44ID:8Leo0KTSa やっぱり毎日張り付いてるアスペじゃないかw
C#知らんくせに口出すから恥をかくんだぞw
C#知らんくせに口出すから恥をかくんだぞw
715デフォルトの名無しさん (ブーイモ MM8f-oElN)
2022/11/27(日) 14:25:58.63ID:0P++zVd6M binary expression formatは間違ってる
単にbinary expressionなら英語的には間違いではないが二項演算式の意味でもよく使われるから読む人間によっては分かりにくいこともある
//return the binary string for an integerとか
//Convert an integer to a string of its binary representationとか
単にbinary expressionなら英語的には間違いではないが二項演算式の意味でもよく使われるから読む人間によっては分かりにくいこともある
//return the binary string for an integerとか
//Convert an integer to a string of its binary representationとか
716デフォルトの名無しさん (アウアウウー Sa5b-DgGg)
2022/11/27(日) 14:27:05.48ID:8Leo0KTSa 草
717デフォルトの名無しさん (ワッチョイ 7778-RPwI)
2022/11/27(日) 14:32:34.72ID:R/PhXrRk0 いい加減スレチって気付け
718デフォルトの名無しさん (アウアウウー Sa5b-DgGg)
2022/11/27(日) 14:35:22.41ID:8Leo0KTSa 二進数表記を文字列と知らなかったアスペはアホすぎるだけで一応スレチではないぞw
719デフォルトの名無しさん (オイコラミネオ MMab-RPwI)
2022/11/27(日) 15:32:56.58ID:zizz/yv+M720デフォルトの名無しさん (ブーイモ MM8f-oElN)
2022/11/27(日) 15:41:06.14ID:NuLsBUn0M >>718
バイナリリテラルは2進表記じゃないのか?
バイナリリテラルは2進表記じゃないのか?
721デフォルトの名無しさん (アウアウウー Sa5b-DgGg)
2022/11/27(日) 16:21:53.24ID:AEW+sHROa 文字列リテラルだろ?w
二進数に変換するんだからソースコードの話じゃないわなw
アスペマジアスペ
二進数に変換するんだからソースコードの話じゃないわなw
アスペマジアスペ
722デフォルトの名無しさん (ワッチョイ ff7b-HFzm)
2022/11/27(日) 16:56:53.33ID:W0wt/wDu0 アウアウウー Sa5b
ワッチョイ 5707
ワッチョイ 775f
オイコラミネオ MMab
NGしたらスッキリ
ワッチョイ 5707
ワッチョイ 775f
オイコラミネオ MMab
NGしたらスッキリ
723649 (ワッチョイ 9fb1-2SHd)
2022/11/27(日) 17:18:42.62ID:sWnM4ZgZ0 >>715
有難う御座います。
ベテラン勢からの、そういった有意義な添削を求めてます。
二項演算式ですか…
二項演算子の事を、binary operatorって記述してるのば良く見るのですが、二項演算式って初めて聞きました。
有難う御座います。
ベテラン勢からの、そういった有意義な添削を求めてます。
二項演算式ですか…
二項演算子の事を、binary operatorって記述してるのば良く見るのですが、二項演算式って初めて聞きました。
724デフォルトの名無しさん (ワッチョイ 775f-+Vtb)
2022/11/27(日) 17:54:44.34ID:JLfYtSEn0 例えば 10 と書くと十ではなく、三というプログラミング言語があるのか?
725デフォルトの名無しさん (ワッチョイ 9f01-x1ca)
2022/11/27(日) 18:35:18.51ID:Tzlpv0SL0 010 と書くと十進数の 8 になる言語なら知ってる
726デフォルトの名無しさん (ブーイモ MMdb-oElN)
2022/11/27(日) 18:37:13.06ID:dygOAsPnM >>724
腰を折って申し訳ないが10は二やで
腰を折って申し訳ないが10は二やで
727デフォルトの名無しさん (アウアウウー Sa5b-DgGg)
2022/11/27(日) 20:25:14.01ID:c9Zb0XCka728デフォルトの名無しさん (アウアウウー Sa5b-DgGg)
2022/11/27(日) 20:25:46.73ID:c9Zb0XCka >>726
3進数なら3だぞ
3進数なら3だぞ
729デフォルトの名無しさん (アウアウウー Sa5b-DgGg)
2022/11/27(日) 20:26:34.64ID:c9Zb0XCka >>723
それベテランじゃなくただのアスペだが自演か?w
それベテランじゃなくただのアスペだが自演か?w
730649 (ワッチョイ 9fb1-2SHd)
2022/11/27(日) 20:48:21.92ID:sWnM4ZgZ0 >>692
>>>演算子は、C#10以降でサポートされているみたいですね。
https://stackoverflow.com/questions/1880172/equivalent-of-java-triple-shift-operator-in-c
PCに、C#10迄しかインストールしてなかったのと、C#10迄にしか対応してないチュートリアルを見てた為、気付きませんでした。
某陶芸家のオッサンみたいに、嘘でも 「現役女子高生」 とか名乗っていれば、もっと暖かく迎え入れて貰えたのかな…
>>>演算子は、C#10以降でサポートされているみたいですね。
https://stackoverflow.com/questions/1880172/equivalent-of-java-triple-shift-operator-in-c
PCに、C#10迄しかインストールしてなかったのと、C#10迄にしか対応してないチュートリアルを見てた為、気付きませんでした。
某陶芸家のオッサンみたいに、嘘でも 「現役女子高生」 とか名乗っていれば、もっと暖かく迎え入れて貰えたのかな…
731649 (ワッチョイ 9fb1-2SHd)
2022/11/27(日) 20:49:04.68ID:sWnM4ZgZ0732デフォルトの名無しさん (ワッチョイ 5707-DgGg)
2022/11/27(日) 22:57:12.37ID:0L++XXOb0 やっぱり自演で草
惨めにならないそれ?
惨めにならないそれ?
733649 (ワッチョイ 9fb1-2SHd)
2022/11/28(月) 02:29:55.47ID:su4HZdbE0 >>732
自演は一切してないから
どうしてそういう考え方しか出来ないのかなぁ…
>>699 や >>690 のコピペ荒らしは、誰か知らないけど自分じゃないから
学校の課題をネットで聞いたり、ネットでの入社試験を替え玉受験するってのはZ世代特有の発想なのかな
因みに、学部三年の時の必修科目で出題された課題がこれ
https://i.imgur.com/h0bNQdo.jpeg
で、選択科目の初回の授業の時に、先生が黒板に2次方程式 ax^2 + bx + c = 0, a≠0 の一般解 「x = (-b ± √(b^2 - 4ac) / (2a), a≠0」 を書き、
「20分でこれが解けたら前期の単位をやる。言語は問わない。」と出題し、誰も解けなかった問題とその解説。
今ではWikipediaに正解が書かれてるが、当時は市販のプログラミング入門書でも間違っていたのが多かった。
https://i.imgur.com/2dO2vuf.jpeg
で、年齢は大体これで察しろ
https://i.imgur.com/aOQE29f.jpeg
自演は一切してないから
どうしてそういう考え方しか出来ないのかなぁ…
>>699 や >>690 のコピペ荒らしは、誰か知らないけど自分じゃないから
学校の課題をネットで聞いたり、ネットでの入社試験を替え玉受験するってのはZ世代特有の発想なのかな
因みに、学部三年の時の必修科目で出題された課題がこれ
https://i.imgur.com/h0bNQdo.jpeg
で、選択科目の初回の授業の時に、先生が黒板に2次方程式 ax^2 + bx + c = 0, a≠0 の一般解 「x = (-b ± √(b^2 - 4ac) / (2a), a≠0」 を書き、
「20分でこれが解けたら前期の単位をやる。言語は問わない。」と出題し、誰も解けなかった問題とその解説。
今ではWikipediaに正解が書かれてるが、当時は市販のプログラミング入門書でも間違っていたのが多かった。
https://i.imgur.com/2dO2vuf.jpeg
で、年齢は大体これで察しろ
https://i.imgur.com/aOQE29f.jpeg
734デフォルトの名無しさん (スップ Sd3f-8UFK)
2022/11/28(月) 03:48:59.16ID:VYM+iGJ6d 50歳にもなってこれから英語とプログラミングを勉強して外資に勤められると勘違いしてる馬鹿
735デフォルトの名無しさん (ワンミングク MM7f-weE4)
2022/11/28(月) 04:09:02.00ID:OdmdDt4cM 今に「外資系の企業と契約して働いてます」とか言い出してUber Eatsと書いてあるリュックを担いでそう
736デフォルトの名無しさん (ブーイモ MM8f-+wKT)
2022/11/28(月) 07:31:11.38ID:lHEZ7oeQM 本物なら紙テープとかディスクパックの時代やね
737デフォルトの名無しさん (ラクッペペ MM8f-22yv)
2022/11/28(月) 07:38:42.32ID:pFXd8p59M さすがに1970年代の技術は1990年代では使われてないだろう
738デフォルトの名無しさん (ワッチョイ 9f01-x1ca)
2022/11/28(月) 08:02:12.50ID:um60po1f0 >>736
それはもう10年位上の奴だろうね
それはもう10年位上の奴だろうね
739デフォルトの名無しさん (ワッチョイ 7702-R2jK)
2022/11/28(月) 08:48:45.25ID:hYuDVy5l0 バッカじゃないの
スレチもいいとこ
スレチもいいとこ
740デフォルトの名無しさん (アウアウウー Sa5b-DgGg)
2022/11/28(月) 11:20:21.47ID:xmIOMEQoa >>733
自演でスレチで発狂とかはたから見たら惨めでしかないからいい加減やめとけw
自演でスレチで発狂とかはたから見たら惨めでしかないからいい加減やめとけw
741デフォルトの名無しさん (ワッチョイ 775f-+Vtb)
2022/11/28(月) 18:44:42.45ID:IHqxnVSW0742デフォルトの名無しさん (ワッチョイ 9701-zuBb)
2022/11/28(月) 19:13:18.84ID:6mE1COKB0 ジャニーズ退所してプログラマになるのでは?
743デフォルトの名無しさん (ワッチョイ 775f-+Vtb)
2022/11/29(火) 21:36:10.63ID:S4GKm+YH0 50歳で仕事での経験なしはキツイな。
744デフォルトの名無しさん (ワントンキン MM7f-weE4)
2022/11/30(水) 01:34:03.95ID:qvzq7il1M Uber Eatsに経験は不要
745デフォルトの名無しさん (ラクッペペ MM8f-22yv)
2022/11/30(水) 06:24:04.38ID:Ez2bhRcaM 50歳なら早期退職を勧められる人さえ珍しくない世代だな
746デフォルトの名無しさん (ワッチョイ bf66-kWqg)
2022/11/30(水) 06:44:00.93ID:UUPy6Zjq0 早期退職は1700-3000万くらいいきなり入るから結構
おいしいけどな。
ハローワークに登録だけして速度決まるとまた追加で100万近くもらえるっしょ。
給与さがったらさらに追加でお金もらえるしね。
おいしいけどな。
ハローワークに登録だけして速度決まるとまた追加で100万近くもらえるっしょ。
給与さがったらさらに追加でお金もらえるしね。
747デフォルトの名無しさん (ラクッペペ MM8f-22yv)
2022/11/30(水) 07:03:44.98ID:GVXjcNVDM 早期退職って要は無用の高齢社員へのクビ宣告だろ
退職金ちょっと割増しするのではよ辞めろと追い出されるだけだぞ
退職金ちょっと割増しするのではよ辞めろと追い出されるだけだぞ
748デフォルトの名無しさん (ワッチョイ bf66-kWqg)
2022/11/30(水) 07:11:37.93ID:UUPy6Zjq0 早期退職の場所は普通の退職金の2倍くらいの額はでるよ。
3倍近いことすら珍しくない。
グループ全員600名早期退職とかもあるからね。
3倍近いことすら珍しくない。
グループ全員600名早期退職とかもあるからね。
749デフォルトの名無しさん (アウアウウー Sa5b-CLnV)
2022/11/30(水) 07:35:49.35ID:xEPTrua4a まあ損得は人によるとしか言いようがない
750デフォルトの名無しさん (オイコラミネオ MM9b-635b)
2022/11/30(水) 11:10:43.32ID:JopzVjhKM Activator.CreateComInstanceFromって.NET Frameworkにあったけど.NET 6だと消えてる…?
もしかして.NET 6ではターゲットをWindowsにしてもComオブジェクト生成できない?
もしかして.NET 6ではターゲットをWindowsにしてもComオブジェクト生成できない?
751デフォルトの名無しさん (ワッチョイ d74f-emCW)
2022/11/30(水) 12:11:40.01ID:wLtdZOQR0 COMオブジェクトの生成自体は
Type.GetTypeFromProgIDとかType.GetTypeFromCLSIDとかでType手に入れて
Activator.CreateInstanceで作れるはずだけど
CreateComInstanceFromを使ったことはないので同じことができるかどうかは分からん
Type.GetTypeFromProgIDとかType.GetTypeFromCLSIDとかでType手に入れて
Activator.CreateInstanceで作れるはずだけど
CreateComInstanceFromを使ったことはないので同じことができるかどうかは分からん
752デフォルトの名無しさん (オイコラミネオ MM9b-635b)
2022/11/30(水) 12:36:59.74ID:JopzVjhKM753デフォルトの名無しさん (ワッチョイ b7ae-9ylf)
2022/11/30(水) 16:58:04.14ID:x8XQNd4/0 構造体かクラスをバイト配列に、バイト境界関係無くコピーする方法ってあります?
struct Test{
int a;
byte b;
}
int ans = Marshal.SizeOf<Test>(); // 8Byteになる
struct Test{
int a;
byte b;
}
int ans = Marshal.SizeOf<Test>(); // 8Byteになる
754デフォルトの名無しさん (アウアウウー Sa5b-DgGg)
2022/11/30(水) 17:09:58.03ID:aIG6S061a 共用体使えばいんじゃね
使わない場合unsafeにせざるを得ないと思う
使わない場合unsafeにせざるを得ないと思う
755デフォルトの名無しさん (ワッチョイ 9fad-rqhv)
2022/11/30(水) 17:36:24.31ID:v7QS0d2E0756デフォルトの名無しさん (ワッチョイ 7702-RPwI)
2022/11/30(水) 18:22:19.19ID:IoWCY4y+0 MemoryMarshal.Cast
757デフォルトの名無しさん (ワッチョイ f7a7-Z2Iz)
2022/11/30(水) 20:23:43.30ID:/JJNNsmh0 対象構造体が値型onlyなら.NET Frameworkみたいな古いシステムでも簡単に出来る
var test = new Test();
int size = Marshal.SizeOf<Test>();
var bytes = new byte[size];
fixed (byte* p = &bytes[0]) *(Test*)p = test;
var test = new Test();
int size = Marshal.SizeOf<Test>();
var bytes = new byte[size];
fixed (byte* p = &bytes[0]) *(Test*)p = test;
758デフォルトの名無しさん (スッップ Sdbf-zGLW)
2022/12/01(木) 17:43:53.60ID:1GV7ID+9d 自アプリ以外のフォームの移動とリサイズ中かどうかを知るすべはありますか?
自アプリなら開始と終了をメッセージで受け取れるんですが。。。
自アプリなら開始と終了をメッセージで受け取れるんですが。。。
759デフォルトの名無しさん (ワッチョイ f733-bUpF)
2022/12/01(木) 18:03:58.84ID:5aWQFJwS0 何を目的としてそれを知りたいのか分からんけど、ウィンドウハンドルを取得してAPI経由でどうにかするんじゃないかな?
やったことないから知らんけど
やったことないから知らんけど
760デフォルトの名無しさん (オイコラミネオ MM71-R4o2)
2022/12/03(土) 19:13:51.70ID:5HEeQzWYM メッセージフックと言うものがあるんだけど
そういう質問してくるレベルの人向けのものじゃないんだなあ
そういう質問してくるレベルの人向けのものじゃないんだなあ
761デフォルトの名無しさん (ワッチョイ ee02-7kHv)
2022/12/03(土) 22:22:23.90ID:jJ8imbEF0 C#だとキーボード以外のグローバルフックは出来なかった記憶が
CかC++でフックDLL作らないとダメだな
CかC++でフックDLL作らないとダメだな
762デフォルトの名無しさん (ワッチョイ b701-L0N4)
2022/12/04(日) 06:19:26.64ID:GSmAWMC60 >>758
ほんとなんでそれ知りたいの?
ほんとなんでそれ知りたいの?
763デフォルトの名無しさん (ワッチョイ 19ad-Qem7)
2022/12/04(日) 06:58:43.14ID:NqIHQr7j0 >>761
マウスイベントもhook出来る
マウスイベントもhook出来る
764デフォルトの名無しさん (ワッチョイ ce8b-4FAg)
2022/12/05(月) 18:15:03.42ID:sIul4yXz0 Seleniumでサイトにログインすると
「パスワードを保存しますか?」って出ます。
これが邪魔で消す為にこのコードを記述していますが
出続けます。
コード間違っていますか???
options.AddUserProfilePreference("credentials_enable_service", false);
options.AddUserProfilePreference("profile.password_manager_enabled", false);
「パスワードを保存しますか?」って出ます。
これが邪魔で消す為にこのコードを記述していますが
出続けます。
コード間違っていますか???
options.AddUserProfilePreference("credentials_enable_service", false);
options.AddUserProfilePreference("profile.password_manager_enabled", false);
765デフォルトの名無しさん (ワッチョイ 5e79-FYZG)
2022/12/05(月) 18:52:03.97ID:CB8LgCez0766デフォルトの名無しさん (ワッチョイ 5e79-FYZG)
2022/12/05(月) 18:54:30.26ID:CB8LgCez0 https://teratail.com/questions/352199
複数オプションの追加については
options.add_experimental_option('excludeSwitches', ['enable-automation'])
options.add_experimental_option('prefs', prefs)
options.add_experimental_option('example', example)
などと、連立させるで複数のオプションの追加が可能です。
またその他の解決策としては
options.add_argument('--incognito')
とする事でシークレットモードでの起動が可能となりパスワードマネージャーが立ち上がらなくなります。
複数オプションの追加については
options.add_experimental_option('excludeSwitches', ['enable-automation'])
options.add_experimental_option('prefs', prefs)
options.add_experimental_option('example', example)
などと、連立させるで複数のオプションの追加が可能です。
またその他の解決策としては
options.add_argument('--incognito')
とする事でシークレットモードでの起動が可能となりパスワードマネージャーが立ち上がらなくなります。
767デフォルトの名無しさん (ワッチョイ ce8b-4FAg)
2022/12/05(月) 20:56:10.06ID:sIul4yXz0768デフォルトの名無しさん (ワッチョイ ce8b-4FAg)
2022/12/05(月) 21:16:35.76ID:sIul4yXz0 そもそも C# では、 この様な記述は出来ませんでした。
ぐぐっても C# + Seleniumでパスワードマネージャーを非表示にする方法を解説しているブログがヒットしないです、、、
options.add_experimental_option
ぐぐっても C# + Seleniumでパスワードマネージャーを非表示にする方法を解説しているブログがヒットしないです、、、
options.add_experimental_option
769デフォルトの名無しさん (ワッチョイ e94f-WJTY)
2022/12/05(月) 21:40:54.73ID:buL7WsOx0 ターゲットブラウザはChromeでいいのかな
https://stackoverflow.com/questions/58651526/how-to-set-chrome-experimental-option-in-c-sharp-selenium
と>>765の組み合わせでどう?
https://stackoverflow.com/questions/58651526/how-to-set-chrome-experimental-option-in-c-sharp-selenium
と>>765の組み合わせでどう?
770.NET MAUI HighSchool (ワッチョイ e201-6Epl)
2022/12/05(月) 22:30:39.78ID:m8CB2U+o0 >>767
ワシはSelenium使わなくてもスクレイピングできる方法見つけたけどな
https://youtu.be/2Alb4gpe6vw
C#のGUIコンポーネントのWebViewにJavaScriptをそのまま書けるからSeleniumとかわらん
ワシはSelenium使わなくてもスクレイピングできる方法見つけたけどな
https://youtu.be/2Alb4gpe6vw
C#のGUIコンポーネントのWebViewにJavaScriptをそのまま書けるからSeleniumとかわらん
771.NET MAUI HighSchool (ワッチョイ e201-6Epl)
2022/12/05(月) 22:31:32.12ID:m8CB2U+o0 SeleniumもJavaScript使うようになってるから一緒
772デフォルトの名無しさん (アウアウウー Sab5-iigd)
2022/12/05(月) 22:34:05.47ID:Kd5ec4i2a スクレイピングサーバーで動くのそれ?
773デフォルトの名無しさん (アウアウウー Sab5-iigd)
2022/12/05(月) 22:34:14.82ID:Kd5ec4i2a Linuxね
774.NET MAUI HighSchool (ワッチョイ e201-6Epl)
2022/12/05(月) 23:07:23.33ID:m8CB2U+o0775デフォルトの名無しさん (ワッチョイ ce8b-4FAg)
2022/12/05(月) 23:15:17.31ID:sIul4yXz0776デフォルトの名無しさん (アウアウウー Sab5-iigd)
2022/12/05(月) 23:57:03.00ID:Kd5ec4i2a777.NET MAUI HighSchool (ワッチョイ e201-6Epl)
2022/12/06(火) 00:12:41.14ID:swY2BqBl0 >>776
知らんがな
知らんがな
778デフォルトの名無しさん (ワッチョイ 9b5f-I/ml)
2022/12/06(火) 03:13:25.70ID:PbeCdWM30 >>744
地図が読めない、東西南北もわからない、住所の表記の意味がわからない、ナビゲーションがないとまったくわからないレベルもいるし、複雑な複合施設と兼用のタワーマンションなんて経験がないと出入りもできない。
地図が読めない、東西南北もわからない、住所の表記の意味がわからない、ナビゲーションがないとまったくわからないレベルもいるし、複雑な複合施設と兼用のタワーマンションなんて経験がないと出入りもできない。
779デフォルトの名無しさん (ワッチョイ 9b5f-I/ml)
2022/12/06(火) 03:15:32.22ID:PbeCdWM30780デフォルトの名無しさん (スプッッ Sd9e-e7tZ)
2022/12/06(火) 05:32:19.56ID:3JkUKtmrd と>>733が主張してます
やっぱりUbakaかよwww
やっぱりUbakaかよwww
781デフォルトの名無しさん (ワッチョイ e62c-WJTY)
2022/12/06(火) 06:20:53.65ID:5MeWJbnk0 Ruby on Rails ではデフォルトで、
Selenium Webdriver, Capybara で統合テストする
Selenium Webdriver, Capybara で統合テストする
782デフォルトの名無しさん (アウアウウー Sab5-QZbE)
2022/12/06(火) 06:45:56.84ID:yvaEv+2ca 同一レスに必要もないのに複数レスつける奴はアホの法則
かなりの確率で当たる
かなりの確率で当たる
783.NET MAUI HighSchool (ワッチョイ b901-6Epl)
2022/12/06(火) 07:36:16.77ID:8iy9IBFd0 >>782
別にいいだろそれは
別にいいだろそれは
784デフォルトの名無しさん (ワッチョイ ce8b-4FAg)
2022/12/06(火) 09:27:58.50ID:ddwy7sPP0 パスワードはもう諦めました。
SeleniumでProfile1が起動している状態で別サイトを開いた場合、
Profile1のブラウザを閉じるには、Process Killの強引な方法しかないのでしょうか?
SeleniumでProfile1が起動している状態で別サイトを開いた場合、
Profile1のブラウザを閉じるには、Process Killの強引な方法しかないのでしょうか?
785デフォルトの名無しさん (ワッチョイ 8cbb-20rA)
2022/12/06(火) 09:31:26.99ID:6+x5kn7X0 人に聞かなきゃ出来ないレベルならスクレイピングなんかに手を出すなよ
サイトに迷惑だわ
サイトに迷惑だわ
786デフォルトの名無しさん (ワッチョイ ce8b-4FAg)
2022/12/06(火) 16:39:30.98ID:ddwy7sPP0 >>785
死ね。マジで。
死ね。マジで。
787デフォルトの名無しさん (ワッチョイ 5e8e-e7tZ)
2022/12/06(火) 16:52:45.78ID:0ohbHSZR0788.NET MAUI HighSchool (ワッチョイ b901-6Epl)
2022/12/06(火) 19:54:09.56ID:UPkAAsGF0 同じC#erなんだから優しく答えてやれよ
789デフォルトの名無しさん (ワッチョイ 73ae-BV3Z)
2022/12/06(火) 20:08:51.37ID:1pg+toOu0 お前が言うな
790.NET MAUI HighSchool (ワッチョイ b901-6Epl)
2022/12/06(火) 20:23:14.52ID:UPkAAsGF0 >>789
俺はC#erには優しいけど…
俺はC#erには優しいけど…
791649 ◆xETmWn3d3U (ワッチョイ d9b1-tV81)
2022/12/06(火) 21:20:07.57ID:0sWat0HA0 640,642,649,654,656,659,669,723,730,730,733
以外の書き込みは、全てアスペの第三者による成りすましです。
>>758
何をやりたいのか(ソシャゲのオートプレイ?RMT?最近流行りのRPA?)は分かりませんが、
以前、Adobe Flashアプリの自動ログイン・自動クリック等をUWSCやAutoItX.dll+WSH等で書いてましたが、
C#からAutoItX.dllを呼び出せば、簡単に出来そうだと思います。
以外の書き込みは、全てアスペの第三者による成りすましです。
>>758
何をやりたいのか(ソシャゲのオートプレイ?RMT?最近流行りのRPA?)は分かりませんが、
以前、Adobe Flashアプリの自動ログイン・自動クリック等をUWSCやAutoItX.dll+WSH等で書いてましたが、
C#からAutoItX.dllを呼び出せば、簡単に出来そうだと思います。
792デフォルトの名無しさん (ワッチョイ 8cbb-20rA)
2022/12/06(火) 22:08:11.07ID:6+x5kn7X0 >>788
C#でサイト作ってるやつの敵だな
C#でサイト作ってるやつの敵だな
793.NET MAUI HighSchool (ワッチョイ e201-6Epl)
2022/12/06(火) 22:09:19.39ID:swY2BqBl0 >>792
なんで?
なんで?
794デフォルトの名無しさん (ワッチョイ 8cbb-20rA)
2022/12/06(火) 22:23:11.93ID:6+x5kn7X0 >>793
初心者のスクレイピングはサイトに迷惑かけるって言ってんだろ
テストの仕方も知らねぇからデバッグ中もターゲットサイトに向けてアクセスするし、バグが取れるまでぶん回す
そんなのが複数いるせいでサーバ増強しなくちゃいけなくなる
まぁ、Selenium使ってアクセスしてくるようなやつには微妙に間違ったデータ渡したりして追い出すんだけど、その開発にも金かかる
お前が補填するのか?
初心者のスクレイピングはサイトに迷惑かけるって言ってんだろ
テストの仕方も知らねぇからデバッグ中もターゲットサイトに向けてアクセスするし、バグが取れるまでぶん回す
そんなのが複数いるせいでサーバ増強しなくちゃいけなくなる
まぁ、Selenium使ってアクセスしてくるようなやつには微妙に間違ったデータ渡したりして追い出すんだけど、その開発にも金かかる
お前が補填するのか?
795デフォルトの名無しさん (ワッチョイ aa01-QZbE)
2022/12/06(火) 22:46:38.63ID:MaIfapT+0 C# 関係なくて草
796デフォルトの名無しさん (ワッチョイ e62c-WJTY)
2022/12/06(火) 23:06:09.15ID:5MeWJbnk0 Udemy の山浦 清透の動画
【作業工程フル公開】エンジニアが30万円案件の制作過程を公開
www.youtube.com/watch?v=tYbVl6N8oxI
山浦ぐらいのプロ中のプロでも、
マイナビ求人サイトに、1:5:42 の所で無限ループしている
プロでも、サイトに対して無限アクセスしてしまうのだから、
素人のスクレイピングなどは、以ての外
ちゃんとサイトと契約して、API を使え。
勝手にスクレイピングするな
【作業工程フル公開】エンジニアが30万円案件の制作過程を公開
www.youtube.com/watch?v=tYbVl6N8oxI
山浦ぐらいのプロ中のプロでも、
マイナビ求人サイトに、1:5:42 の所で無限ループしている
プロでも、サイトに対して無限アクセスしてしまうのだから、
素人のスクレイピングなどは、以ての外
ちゃんとサイトと契約して、API を使え。
勝手にスクレイピングするな
797デフォルトの名無しさん (ワッチョイ ce8b-4FAg)
2022/12/06(火) 23:54:15.41ID:ddwy7sPP0798デフォルトの名無しさん (スプッッ Sd9e-e7tZ)
2022/12/07(水) 01:38:56.93ID:Bz4SkEkYd >>797
クズの代表例
クズの代表例
799デフォルトの名無しさん (ワッチョイ 8cbb-20rA)
2022/12/07(水) 06:07:48.01ID:NcWoeY640800デフォルトの名無しさん (スッップ Sd94-bEFD)
2022/12/07(水) 07:44:38.01ID:pK/kpACTd 自家製サイバーテロやな
801デフォルトの名無しさん (テテンテンテン MM34-8pIo)
2022/12/07(水) 10:23:24.37ID:ab3aPn9DM スクレイピング対象のサーバによってはガチの損害賠償食らうケースもあるんで、自分で調べて出来るスキル無いなら手出さん方がいいと思うわ
802デフォルトの名無しさん (ラクッペペ MM34-k0qw)
2022/12/07(水) 11:01:30.84ID:4pPk5oB6M スクレイピングミスのF5攻撃でサイトダウンさせて業務妨害罪で逮捕
803デフォルトの名無しさん (アウアウウー Sa08-+hgW)
2022/12/07(水) 11:48:08.65ID:VuMhltqpa 多重継承しない(その可能性もない)インターフェースって意味があるんすかね?
804デフォルトの名無しさん (テテンテンテン MM34-8pIo)
2022/12/07(水) 12:28:08.13ID:Kv9doYAPM つか別に多重継承が目的のものではないし
メインは抽象化だろ
メインは抽象化だろ
805デフォルトの名無しさん (アウアウウー Sab5-+hgW)
2022/12/07(水) 12:59:15.00ID:aha8SeJLa でも、それベースクラスの仕事じゃないですかね
806デフォルトの名無しさん (ワッチョイ fe33-evCC)
2022/12/07(水) 13:13:30.35ID:MYJSppMZ0 作ったらそれっきりのものを自分一人で作ってるのなら好きにすればいいんじゃね?
807デフォルトの名無しさん (アウアウウー Sab5-+hgW)
2022/12/07(水) 13:17:32.25ID:aha8SeJLa インターフェースだと共有が楽なんですか?
808デフォルトの名無しさん (ワッチョイ 73ae-BV3Z)
2022/12/07(水) 17:28:17.41ID:3QtWSiHd0809.NET MAUI HighSchool (ワッチョイ c801-6Epl)
2022/12/07(水) 19:02:52.19ID:Mb6NCHQl0810デフォルトの名無しさん (ワッチョイ 5e79-FYZG)
2022/12/07(水) 19:06:41.60ID:UAMEr4aB0 スクレイピング容赦せん!
811デフォルトの名無しさん (ワッチョイ 6107-RHwc)
2022/12/07(水) 23:59:49.70ID:Y5fcxcAY0812.NET MAUI HighSchool (ワッチョイ e201-6Epl)
2022/12/08(木) 00:13:27.60ID:JlEBU10A0 >>811
できる限りしてんじゃん
できる限りしてんじゃん
813デフォルトの名無しさん (ワッチョイ b701-L0N4)
2022/12/08(木) 10:16:07.59ID:lJAiN1tA0 >>810
ストレ…
ストレ…
814デフォルトの名無しさん (ワッチョイ 7349-4FAg)
2022/12/08(木) 10:25:14.29ID:X8mmjpb+0 2,3年前まではC#メインにいじってたつもりなんですが、
いつの間にかここ1年以上なんかPHPやらJSやらばかりになってしまいました
昔の自分に戻りたいのですがどうすればいいですか。世の中から他の言語駆逐したいです
いつの間にかここ1年以上なんかPHPやらJSやらばかりになってしまいました
昔の自分に戻りたいのですがどうすればいいですか。世の中から他の言語駆逐したいです
815デフォルトの名無しさん (ラクッペペ MM34-EnYx)
2022/12/08(木) 10:39:07.90ID:owyQh2KqM816デフォルトの名無しさん (アウアウウー Sab5-nfFp)
2022/12/08(木) 13:26:35.59ID:ajSJ0zwRa817814 (ワッチョイ 7349-4FAg)
2022/12/08(木) 13:56:19.67ID:X8mmjpb+0 ChatGPTにはふわっと返されました(´・ω・`)
.NET10くらいには戻ってこれてると良いな
↓ChatGPTさん
そうですか。私もC#が好きでしたが、今はPHPやJSが多く使われています。
まずは、自分が何をしたいのか、どのような目標を持っているのかを考えましょう。もし、自分がC#を使いたいという目標を持っているなら、それに向けて学習を続けることが大切です。
そのためには、最新のC#のバージョンを知っておくことが重要です。また、自分が興味を持っている分野に特化した学習をすることも有効です。例えば、ゲーム開発やWeb開発などに特化したC#の勉強をするとよいでしょう。
また、オンラインでC#のコースや動画講座などを活用することで、自分の学習スキルを高めることができます。実際にプログラムを書いて実践的なスキルを身につけることも大切です。
また、C#を使うプロジェクトに参加することで、実践的なスキルを身につけることができます。また、C#を使っている人たちと交流を持ち、自分の知識を拡げることもできます。
自分がC#を使いたいという目標を持ち、それに向けて努力することが大切です。他の言語を駆逐することではなく、自分が好きな言語を使い、それを使いこなすことが重要です。
.NET10くらいには戻ってこれてると良いな
↓ChatGPTさん
そうですか。私もC#が好きでしたが、今はPHPやJSが多く使われています。
まずは、自分が何をしたいのか、どのような目標を持っているのかを考えましょう。もし、自分がC#を使いたいという目標を持っているなら、それに向けて学習を続けることが大切です。
そのためには、最新のC#のバージョンを知っておくことが重要です。また、自分が興味を持っている分野に特化した学習をすることも有効です。例えば、ゲーム開発やWeb開発などに特化したC#の勉強をするとよいでしょう。
また、オンラインでC#のコースや動画講座などを活用することで、自分の学習スキルを高めることができます。実際にプログラムを書いて実践的なスキルを身につけることも大切です。
また、C#を使うプロジェクトに参加することで、実践的なスキルを身につけることができます。また、C#を使っている人たちと交流を持ち、自分の知識を拡げることもできます。
自分がC#を使いたいという目標を持ち、それに向けて努力することが大切です。他の言語を駆逐することではなく、自分が好きな言語を使い、それを使いこなすことが重要です。
818デフォルトの名無しさん (ワッチョイ a27c-7kHv)
2022/12/08(木) 21:01:25.46ID:wvTxK2BR0 今はC#と言えばほぼUnityという感じだしなぁ
昔はWindowsアプリの開発何かも多かったけど
ネイティブアプリはelectronとかそういうのに置き換わっている印象があるし
そうでなくても結局webの技術で作られたものがかなり増えたな
C#もASP.NETとかあるにはあるけど、そういうのって採用している所が結構狭い世界という感じ
昔はWindowsアプリの開発何かも多かったけど
ネイティブアプリはelectronとかそういうのに置き換わっている印象があるし
そうでなくても結局webの技術で作られたものがかなり増えたな
C#もASP.NETとかあるにはあるけど、そういうのって採用している所が結構狭い世界という感じ
819デフォルトの名無しさん (アウアウウー Sa3a-lFvC)
2022/12/08(木) 21:14:09.04ID:TAwgKaXVa ビジネスは.NET多い
820.NET MAUI HighSchool (ワッチョイ e201-6Epl)
2022/12/08(木) 23:36:06.26ID:JlEBU10A0 ネイティブそんなElectron使うか?
あれ見た目めっちゃめんどくさそう(つついたことない)
ワークスペースがどうとかウゼェよな
だからVScも使わんしSiki(5chブラウザ)も使わん
あれ見た目めっちゃめんどくさそう(つついたことない)
ワークスペースがどうとかウゼェよな
だからVScも使わんしSiki(5chブラウザ)も使わん
821デフォルトの名無しさん (ワッチョイ f47c-3ET7)
2022/12/09(金) 01:15:34.99ID:9UIEGvMz0 SikiとVSCodeは普通に使ってる
他にいいソフト無いしな
他にいいソフト無いしな
822デフォルトの名無しさん (オッペケ Sr10-zBmE)
2022/12/09(金) 03:47:30.64ID:aTxh5sg+r VSC → プロ用途
VS → 素人・セミプロ用途
VS → 素人・セミプロ用途
823デフォルトの名無しさん (ワッチョイ 4dc6-5e4C)
2022/12/09(金) 09:21:37.07ID:eLXAv6sJ0 今頃、PHP に参入しているのは素人でしょ
既に、YouTube で有名な雑食系エンジニア・KENTA は、
PHP, Scala, EC2 などをオワコン認定した
だから、PHPのFacebook とか、Laravel を使っているZOZO、
Scalaを使っているTwitter などは、良い開発者を集めるのが大変。
EC2 も、Fargate に変わった
一方、KENTAは、Ruby をオワコン認定しなかった
例えば、ガーシーが使うような、Mastodon もPHPからRails 6 に変わった。
作者のドイツのオイゲン・ロホコでも、PHPでは可読性が悪くて開発できない
既に、YouTube で有名な雑食系エンジニア・KENTA は、
PHP, Scala, EC2 などをオワコン認定した
だから、PHPのFacebook とか、Laravel を使っているZOZO、
Scalaを使っているTwitter などは、良い開発者を集めるのが大変。
EC2 も、Fargate に変わった
一方、KENTAは、Ruby をオワコン認定しなかった
例えば、ガーシーが使うような、Mastodon もPHPからRails 6 に変わった。
作者のドイツのオイゲン・ロホコでも、PHPでは可読性が悪くて開発できない
824.NET MAUI HighSchool (ワッチョイ e201-6Epl)
2022/12/09(金) 09:30:07.51ID:gQLJ96r50 >>822
なわけねぇだろw
なわけねぇだろw
825.NET MAUI HighSchool (ワッチョイ e201-6Epl)
2022/12/09(金) 09:30:46.63ID:gQLJ96r50826デフォルトの名無しさん (ワッチョイ fb6e-zBmE)
2022/12/09(金) 09:59:32.74ID:YeLe6gia0 SDKだけ渡しても( ゚д゚)ー?って涎垂らして固まるので
非エンジニア用に最低現のコードだけ書けば動くバカチョンな状態にしてあげたのがVSとそのコード
因みにガチのプロがVSCで作ったコードはVSでは動かせない
オワタ\(^o^)/チーン
非エンジニア用に最低現のコードだけ書けば動くバカチョンな状態にしてあげたのがVSとそのコード
因みにガチのプロがVSCで作ったコードはVSでは動かせない
オワタ\(^o^)/チーン
827.NET MAUI HighSchool (ワッチョイ e201-6Epl)
2022/12/09(金) 10:08:26.38ID:gQLJ96r50 >>826
ゴミじゃんVSc
ゴミじゃんVSc
828デフォルトの名無しさん (アウアウウー Sa08-+hgW)
2022/12/09(金) 10:32:32.54ID:Jy5x71sTa なんでc#のプログラマってthisを書かんのですか?
829デフォルトの名無しさん (アウアウウー Sab5-RHwc)
2022/12/09(金) 10:47:44.53ID:IjoxQFcIa >>828
Visual Studioが書かなくていいと言うから
Visual Studioが書かなくていいと言うから
830デフォルトの名無しさん (ワッチョイ ce8b-4FAg)
2022/12/09(金) 11:03:32.85ID:t23L99z50 初心者のアクセスも防げない低レベルが開発したWEBサイトの脆弱性といったら( ゚Д゚)
831デフォルトの名無しさん (ワッチョイ a27c-4FAg)
2022/12/09(金) 12:59:28.23ID:UyKdfg3p0 関数の引数と同名のプロパティならthis書かないと判別付かないけど
そうじゃない場合はいらないというのは良いのか悪いのか・・・
そうじゃない場合はいらないというのは良いのか悪いのか・・・
832デフォルトの名無しさん (ワッチョイ 8cbb-20rA)
2022/12/09(金) 13:04:42.92ID:x6vHg/2J0833デフォルトの名無しさん (ワッチョイ fe33-evCC)
2022/12/09(金) 13:16:57.41ID:YCQBTyru0 そもそもthisつけないと分からないような変数名を付けること自体ほとんどないような
834デフォルトの名無しさん (ワッチョイ 915f-7kHv)
2022/12/09(金) 13:46:50.58ID:iU6u+uHp0 命名センスが無いかクラス設計がヘタクソなんでしょ
そもそも5文字(ピリオド含)も打ち込むのダルくない?アンダースコアでいいじゃん
MSお墨付きになったから組織内規約としても浸透させやすいし
そもそも5文字(ピリオド含)も打ち込むのダルくない?アンダースコアでいいじゃん
MSお墨付きになったから組織内規約としても浸透させやすいし
835デフォルトの名無しさん (アウアウウー Sa08-+hgW)
2022/12/09(金) 13:51:07.16ID:Jy5x71sTa 変数名にメンバであることを示す目印を入れるのが良いってことですか?
836デフォルトの名無しさん (ワッチョイ fe33-evCC)
2022/12/09(金) 13:59:31.02ID:YCQBTyru0 会社とかでコーディングルールが決められているならば、それに従うしかないが
個人的な開発とかで自由にできるのなら、.NETランタイムの規約に準拠しておくのが無難だわな
github.com/dotnet/runtime/blob/main/docs/coding-guidelines/coding-style.md
個人的な開発とかで自由にできるのなら、.NETランタイムの規約に準拠しておくのが無難だわな
github.com/dotnet/runtime/blob/main/docs/coding-guidelines/coding-style.md
837デフォルトの名無しさん (アウアウウー Sa08-g9pY)
2022/12/09(金) 15:21:52.70ID:Z1cscK2ka m_hoge は良く観掛けるが別に付けなくていい時に付ける必要もない
this.hoge 描くのが嫌なら
メンバ名 this_hoge ってしとけば良いよ
this.hoge 描くのが嫌なら
メンバ名 this_hoge ってしとけば良いよ
838デフォルトの名無しさん (アウアウウー Sa30-9L44)
2022/12/09(金) 16:17:06.13ID:JfMuRYn9a otherclass.this_hoge
839デフォルトの名無しさん (ワッチョイ 4dda-lwXy)
2022/12/09(金) 17:21:48.90ID:uZVMZnAl0 base.inheritClass.this_hoge
840デフォルトの名無しさん (アウアウウー Sab5-RHwc)
2022/12/09(金) 17:38:12.84ID:22+1NQn4a まあC#のメンバーは他の言語と違って大文字から始まるパスカルケース推奨でローカル変数は小文字で始めるのが推奨だからthisが必要になることはほとんどないからな
どっちも小文字から始めるなら不要なバグ混入を防ぐために必ずthis書いとけってのはわかる
どっちも小文字から始めるなら不要なバグ混入を防ぐために必ずthis書いとけってのはわかる
841.NET MAUI HighSchool (ワッチョイ 7e01-6Epl)
2022/12/09(金) 17:39:26.41ID:kAYpLKl/0 >>840
そういうことね
そういうことね
842デフォルトの名無しさん (ワッチョイ 0acf-4FAg)
2022/12/09(金) 17:40:03.92ID:kFjsSShY0 ソースコードアナライザーのデフォルトだとSA1101が有効になってるからうちは全部this付けてるわ。
https://github.com/DotNetAnalyzers/StyleCopAnalyzers/blob/master/documentation/SA1101.md
https://github.com/DotNetAnalyzers/StyleCopAnalyzers/blob/master/documentation/SA1101.md
843デフォルトの名無しさん (ワッチョイ 3f2d-6IzU)
2022/12/09(金) 17:43:03.94ID:6wQe2Y2i0 >>840
privateのメンバー変数は小文字だろ
privateのメンバー変数は小文字だろ
844デフォルトの名無しさん (アウアウウー Sab5-RHwc)
2022/12/09(金) 17:44:33.29ID:22+1NQn4a >>843
アンダースコア
アンダースコア
845デフォルトの名無しさん (アウアウウー Sab5-RHwc)
2022/12/09(金) 17:58:48.83ID:22+1NQn4a846デフォルトの名無しさん (アウアウウー Sa08-+hgW)
2022/12/09(金) 18:03:36.35ID:Jy5x71sTa 区別っていうか、インスタンスにアクセスしてる気分出すためにthisつけたくならんかね?
847デフォルトの名無しさん (オッペケ Src1-4FAg)
2022/12/09(金) 18:17:04.44ID:yVO2YxORr フォームの AutoScroll を true に設定したときに現れるスクロールバーなんですが、
つまみをドラッグしたときは、離すまで中のコントロールの表示が更新されません。
つまみを動かしながら中身も連動して表示してほしいんですが、どうすればいいんでしょうか。
ぐぐっても2つ以上のスクロールバーを同期させるような話題ばっかりがヒットするんですが、
難しいんでしょうか。
つまみをドラッグしたときは、離すまで中のコントロールの表示が更新されません。
つまみを動かしながら中身も連動して表示してほしいんですが、どうすればいいんでしょうか。
ぐぐっても2つ以上のスクロールバーを同期させるような話題ばっかりがヒットするんですが、
難しいんでしょうか。
848デフォルトの名無しさん (ワッチョイ 1a7b-t7j7)
2022/12/09(金) 21:53:42.33ID:6dgWLd6p0 >>847
詳しく試してないがRichTextBoxやDataGridViewでは再現せずPictureBox(のImage)で再現して、フォームと言うかたぶんパネルとかのコンテナコントロール上でも起こる気がする
そして頑張って何とかしたらスクロールバーの反応が悪くなるとかロクでもないことになりそうな気もするw
ImageだけならIrfanViewとかのようにマウスドラッグでスクロールしたほうが分かりやすいので個人的には気にしない
詳しく試してないがRichTextBoxやDataGridViewでは再現せずPictureBox(のImage)で再現して、フォームと言うかたぶんパネルとかのコンテナコントロール上でも起こる気がする
そして頑張って何とかしたらスクロールバーの反応が悪くなるとかロクでもないことになりそうな気もするw
ImageだけならIrfanViewとかのようにマウスドラッグでスクロールしたほうが分かりやすいので個人的には気にしない
849デフォルトの名無しさん (ワッチョイ 87c6-BsWY)
2022/12/10(土) 00:56:18.46ID:vkGu6RXy0 普通は、無駄な描画を抑えるために、
つまみを放したタイミングで、再描画される
それを、つまみの値が変化するたびに、再描画すれば良い
つまみを放したタイミングで、再描画される
それを、つまみの値が変化するたびに、再描画すれば良い
850デフォルトの名無しさん (ワッチョイ 872c-BsWY)
2022/12/11(日) 18:00:22.78ID:u7FzjZJr0 皆様どうされているか教えていただきたいです。
Visual C# 2022
.Net6.0 で開発を行っております。
プロジェクトのプロパティ内で、
「ビルド」に「コードの最適化」という項目がありますが、
実際に運用する場合は、
最適化されたコードで運用していくと思うので、
デバッグをする際にも「コードの最適化」のチェックをONにして
ビルドを行い、デバッグをしていったほうが良いのではないかと思っています。
皆様は、デバッグする際にも「コードの最適化」のチェックをONにされていますか?
よろしくお願いします。
Visual C# 2022
.Net6.0 で開発を行っております。
プロジェクトのプロパティ内で、
「ビルド」に「コードの最適化」という項目がありますが、
実際に運用する場合は、
最適化されたコードで運用していくと思うので、
デバッグをする際にも「コードの最適化」のチェックをONにして
ビルドを行い、デバッグをしていったほうが良いのではないかと思っています。
皆様は、デバッグする際にも「コードの最適化」のチェックをONにされていますか?
よろしくお願いします。
851デフォルトの名無しさん (アウアウウー Sa6b-Fzhe)
2022/12/11(日) 18:48:15.74ID:HcYuyEaDa コンパイル時間が気にならないならそうしたらいいんじゃね
852デフォルトの名無しさん (ワッチョイ df01-0RkQ)
2022/12/11(日) 18:55:01.65ID:B9k8N7vL0 >>850
> デバッグをする際にも「コードの最適化」のチェックをONにして
> ビルドを行い、デバッグをしていったほうが良いのではないかと思っています。
そう思うなら1回やってみ
てか、まずは自分でやってみる癖つけないと伸びないぞ
> デバッグをする際にも「コードの最適化」のチェックをONにして
> ビルドを行い、デバッグをしていったほうが良いのではないかと思っています。
そう思うなら1回やってみ
てか、まずは自分でやってみる癖つけないと伸びないぞ
853デフォルトの名無しさん (オイコラミネオ MM7b-KKgq)
2022/12/11(日) 19:22:44.77ID:TMAZCbUcM C#の最適化は可愛いレベルだからそこまで気にしなくてもとは思う
c++なんて最適化のレベルを上げるとmemset()でメモリクリアしようとしても勝手にmemset()自体が消されてしまう
しかもその判定がおかしい
これは最適化なのかどうかすら怪しい
セキュリティ上問題ある場合は特定の命令を使って消さなければならないとか普通じゃない
c++なんて最適化のレベルを上げるとmemset()でメモリクリアしようとしても勝手にmemset()自体が消されてしまう
しかもその判定がおかしい
これは最適化なのかどうかすら怪しい
セキュリティ上問題ある場合は特定の命令を使って消さなければならないとか普通じゃない
854デフォルトの名無しさん (ワッチョイ df01-0RkQ)
2022/12/11(日) 19:33:50.24ID:B9k8N7vL0855デフォルトの名無しさん (アウアウウー Sa6b-Fzhe)
2022/12/11(日) 19:36:50.71ID:HcYuyEaDa まあ普通に未定義踏んでるんだろうなとしか
856デフォルトの名無しさん (ワッチョイ 87da-6u1A)
2022/12/11(日) 19:52:14.92ID:BCIhC2eW0 あまりにもクソコードの場合、中間言語をILSpyで逆コンパイルしたほうが見やすくなるしね
857デフォルトの名無しさん (ワッチョイ 477c-KU0d)
2022/12/11(日) 20:37:17.87ID:qKMahR6w0858デフォルトの名無しさん (ワッチョイ 87c6-vbep)
2022/12/11(日) 23:38:00.70ID:GglWfKZ40 開発では最適化しない。
最適化されたら、break point の所のコードが、最適化されてなくなってしまうかもw
デバッグ中に、コードも変更できないだろうし
最適化されたら、break point の所のコードが、最適化されてなくなってしまうかもw
デバッグ中に、コードも変更できないだろうし
859デフォルトの名無しさん (ワッチョイ bfcb-d2tu)
2022/12/12(月) 06:58:32.95ID:MUc95V7m0 習得速度が遅いのだがどうしたらいいの(´;ω;`)
頭悪いからね
unityだけどね(´;ω;`)
頭悪いからね
unityだけどね(´;ω;`)
860デフォルトの名無しさん (スプッッ Sd7f-GCrc)
2022/12/12(月) 08:19:01.09ID:odyyTBv7d >>850
Visual Studioのデバッガ機能(デバッグありで実行)を使ってみればすぐわかるんだが
1行ずつ実行したり変数の内容見れたりする機能がある。
最適化されると処理の順番が入れ替わるわ変数がそもそも消えるわでデバッガが使い物にならんくなる
Visual Studioのデバッガ機能(デバッグありで実行)を使ってみればすぐわかるんだが
1行ずつ実行したり変数の内容見れたりする機能がある。
最適化されると処理の順番が入れ替わるわ変数がそもそも消えるわでデバッガが使い物にならんくなる
861デフォルトの名無しさん (オッペケ Sr1b-KKgq)
2022/12/12(月) 08:54:42.61ID:vZtLlg4nr862デフォルトの名無しさん (オッペケ Sr1b-KKgq)
2022/12/12(月) 10:55:37.43ID:vZtLlg4nr 847 ですが、英語情報あたったらありました。
Form の Load とかで
Scroll += From1_Scroll;
としておいて、
private void From1_Scroll(object sender, ScrollEventArgs e)
{
if (e.ScrollOrientation == ScrollOrientation.HorizontalScroll)
{
HorizontalScroll.Value = e.NewValue;
}
else if (e.ScrollOrientation == ScrollOrientation.VerticalScroll)
{
VerticalScroll.Value = e.NewValue;
}
}
でそれらしい動きになる。
これぐらいの情報ならドボンにあってもよさそうなのにな。
Form の Load とかで
Scroll += From1_Scroll;
としておいて、
private void From1_Scroll(object sender, ScrollEventArgs e)
{
if (e.ScrollOrientation == ScrollOrientation.HorizontalScroll)
{
HorizontalScroll.Value = e.NewValue;
}
else if (e.ScrollOrientation == ScrollOrientation.VerticalScroll)
{
VerticalScroll.Value = e.NewValue;
}
}
でそれらしい動きになる。
これぐらいの情報ならドボンにあってもよさそうなのにな。
863デフォルトの名無しさん (ワッチョイ 7f10-vbep)
2022/12/12(月) 17:14:10.39ID:Pte9fgG60 >852
>860
アドバイスありがとうございます。
実際にやってみます。
>てか、まずは自分でやってみる癖つけないと伸びないぞ
身に染みるお言葉ありがとうございます。
>860
アドバイスありがとうございます。
実際にやってみます。
>てか、まずは自分でやってみる癖つけないと伸びないぞ
身に染みるお言葉ありがとうございます。
864デフォルトの名無しさん (ワッチョイ bfcb-d2tu)
2022/12/12(月) 17:24:41.56ID:MUc95V7m0865デフォルトの名無しさん (ワッチョイ 7f7b-9pmv)
2022/12/12(月) 21:36:48.19ID:gQz+ELAV0866.NET MAUI HighSchool (ワッチョイ df01-1zqz)
2022/12/13(火) 11:55:10.52ID:sdBWNgeV0 On.NETってすげぇよな
Udemyレベルの教材がタダだぞ
今You Tubeの翻訳機能死んでるから治ったら見る
Udemyレベルの教材がタダだぞ
今You Tubeの翻訳機能死んでるから治ったら見る
867デフォルトの名無しさん (ワッチョイ 675f-5vlk)
2022/12/13(火) 14:04:44.98ID:Gkd3fRC50 ドボンとかいまだに見てる人いるんだな
868.NET MAUI HighSchool (ワッチョイ df01-1zqz)
2022/12/13(火) 14:07:59.99ID:sdBWNgeV0869デフォルトの名無しさん (オッペケ Sr1b-KKgq)
2022/12/13(火) 17:20:15.24ID:QGbg6PEir870デフォルトの名無しさん (ワッチョイ e707-Fzhe)
2022/12/13(火) 17:26:57.08ID:iamWJdkQ0 さすがに古い
もうちょいアップデートしてればな
もうちょいアップデートしてればな
871デフォルトの名無しさん (ワッチョイ a72d-jpzT)
2022/12/13(火) 17:35:53.69ID:uYffxzwa0 今となっては古い方法ばかり充実しててもなぁ
全部が全部古い(もっと新しい方法がある)訳じゃないけど、初心者にはその見極めが出来ないから勧めない方が良い
全部が全部古い(もっと新しい方法がある)訳じゃないけど、初心者にはその見極めが出来ないから勧めない方が良い
872デフォルトの名無しさん (ワッチョイ 4733-j6L8)
2022/12/13(火) 17:50:31.73ID:Ms1x80wZ0 ネット上の情報も、更新日の新しいものだったらいいかっていうと、古いものを孫引きしてるだけだったりすることもあるからなぁ
873.NET MAUI HighSchool (ワッチョイ df01-1zqz)
2022/12/13(火) 17:52:48.66ID:sdBWNgeV0 >>872
あるあるw
あるあるw
874デフォルトの名無しさん (オッペケ Sr1b-y3Lv)
2022/12/13(火) 18:02:15.95ID:eGU/4Dqsr 他に初心者に勧められるサイトはあるんか
875デフォルトの名無しさん (ワッチョイ 4733-j6L8)
2022/12/13(火) 18:07:55.22ID:Ms1x80wZ0 正直なところ個人的には、初心者はネット上で済まさずにちゃんと本買った方が良いと思う
なんていうと、どの本がいいのかでまたひと悶着だがw
なんていうと、どの本がいいのかでまたひと悶着だがw
876デフォルトの名無しさん (ワッチョイ 675f-3TNT)
2022/12/13(火) 19:27:23.23ID:F3XmmT6D0 第5版出たとこだし独習C#でいいんじゃね?
プログラミング自体初心者なら新・標準プログラマーズライブラリも悪くないと思う
どっちも細かい部分で説明気になる所はあるが
プログラミング自体初心者なら新・標準プログラマーズライブラリも悪くないと思う
どっちも細かい部分で説明気になる所はあるが
877デフォルトの名無しさん (ワッチョイ df79-SFrr)
2022/12/13(火) 19:29:15.05ID:ABNjcxD20 難しい本だな
個人的には作って覚える系の本がいいと思う
unityでゲームみたいな本の方がやる気が出るんじゃないだろうか?
個人的には作って覚える系の本がいいと思う
unityでゲームみたいな本の方がやる気が出るんじゃないだろうか?
878デフォルトの名無しさん (ワッチョイ 7fbb-dmwH)
2022/12/13(火) 19:32:39.75ID:Rosh3bMe0 最初の一冊は基本概念と用語定義の正確性に特化した体系的な学習ができるやつがいいと思う
それが身につけば、ネットの記事も参考にできるようになるからな(参考にして良いいかどうかが判断できるようになる)
俺は独習C#使った
それなりに良かったと思うよ
それが身につけば、ネットの記事も参考にできるようになるからな(参考にして良いいかどうかが判断できるようになる)
俺は独習C#使った
それなりに良かったと思うよ
879649 ◆xETmWn3d3U (ワッチョイ 67b1-8z17)
2022/12/13(火) 21:03:43.96ID:meL+AHJk0 >>866
On,NETって、もしかして
https://www.youtube.com/watch?v=00enYc3V84A&list=PLdo4fOcmZ0oVlZCosDDwS9fkVtrLYxGt6
の事?
チラッと冒頭だけ動画見てみたが、機械翻訳が必要な程難しい表現は無かったけど。
YouTubeで自動音声認識で文字起こしされたものを機械翻訳したのは、音声認識の段階で高確率で間違ってるから、余計分からなくなるだけ。
慣れない内は難しいかもしれないが、これくらいの英語なら、翻訳無しで聞き取れるだろ。
「ファスタボー」 → 「first of all」
「レイボー」 → 「label」
「ウィーガナトーカバウッ」 → 「we are going to talk about」
みたいに、カタカナ英語ばかり聞いてると、最初の内は聞き取るのが難しいとは思うけどな。
Apple公式サイトの動画なら、ちゃんと字幕起こしされてるから、そういうので英語字幕を表示させて英語のまま直接聞き取る練習はした方がいい。
On,NETって、もしかして
https://www.youtube.com/watch?v=00enYc3V84A&list=PLdo4fOcmZ0oVlZCosDDwS9fkVtrLYxGt6
の事?
チラッと冒頭だけ動画見てみたが、機械翻訳が必要な程難しい表現は無かったけど。
YouTubeで自動音声認識で文字起こしされたものを機械翻訳したのは、音声認識の段階で高確率で間違ってるから、余計分からなくなるだけ。
慣れない内は難しいかもしれないが、これくらいの英語なら、翻訳無しで聞き取れるだろ。
「ファスタボー」 → 「first of all」
「レイボー」 → 「label」
「ウィーガナトーカバウッ」 → 「we are going to talk about」
みたいに、カタカナ英語ばかり聞いてると、最初の内は聞き取るのが難しいとは思うけどな。
Apple公式サイトの動画なら、ちゃんと字幕起こしされてるから、そういうので英語字幕を表示させて英語のまま直接聞き取る練習はした方がいい。
880.NET MAUI HighSchool (ワッチョイ df01-1zqz)
2022/12/13(火) 23:12:14.06ID:sdBWNgeV0 >>879
それそれ!
それそれ!
881.NET MAUI HighSchool (ワッチョイ df01-1zqz)
2022/12/13(火) 23:14:11.06ID:sdBWNgeV0 ReactiveX勉強したかったから見たかった…
https://youtu.be/U-vznhAzSCo
https://youtu.be/U-vznhAzSCo
882デフォルトの名無しさん (ワッチョイ e701-wOZi)
2022/12/14(水) 01:16:46.59ID:Kld1dmXe0 横からだけど独習C#、幸いにも近くの図書館にあったから読んでくる
ありがとう
ありがとう
883デフォルトの名無しさん (ワッチョイ bfcb-d2tu)
2022/12/14(水) 10:30:03.49ID:R3/45qGH0 アルゴリズムは頭の中だけでなく、視覚化が必要ですか?
頭がぐちゃぐちゃになるんすよ
フローチャートみたいなのは少し苦手なんですが
頭がぐちゃぐちゃになるんすよ
フローチャートみたいなのは少し苦手なんですが
884デフォルトの名無しさん (アウアウウー Sa6b-Fzhe)
2022/12/14(水) 10:37:38.32ID:qCKaCA+pa 絵がないとぐちゃぐちゃになるなら必要なんじゃね
885デフォルトの名無しさん (ワッチョイ e701-wOZi)
2022/12/14(水) 10:41:09.96ID:r7cuLH/s0 俺はコーディングする前はいつも流れを文章化して書き出してる
白紙に文字と矢印だけの簡易フローチャートみたいな感じ
白紙に文字と矢印だけの簡易フローチャートみたいな感じ
886デフォルトの名無しさん (アウアウウー Sa6b-Fzhe)
2022/12/14(水) 10:46:07.02ID:qCKaCA+pa データ構造じゃなくフローの話をしてるなら普通に関数分けしながら頭を整理すればいいじゃん
ローカル関数を使えば簡単に論理ツリーが構築できるからアイデアプロセッサ的な使い方もできる
ローカル関数を使えば簡単に論理ツリーが構築できるからアイデアプロセッサ的な使い方もできる
887デフォルトの名無しさん (ワッチョイ bfcb-d2tu)
2022/12/14(水) 10:48:00.67ID:R3/45qGH0 んー、じゃあ全ての機能を関数化して名前や役割を与える、ということですか?
それが図と似たようなものと
それが図と似たようなものと
888デフォルトの名無しさん (アウアウウー Sa6b-Fzhe)
2022/12/14(水) 10:50:58.59ID:qCKaCA+pa 処理のまとまりとはっきり認識できるものは名前をつけるべき
他の人や数年後の自分のためにいちいち図を残しとくわけにはいかんだろ
他の人や数年後の自分のためにいちいち図を残しとくわけにはいかんだろ
889デフォルトの名無しさん (アウアウウー Sa6b-DK8R)
2022/12/14(水) 11:01:06.80ID:H6Aj/5/Ga ていうか名前だけでも良いくらい
890デフォルトの名無しさん (アウアウウー Sa6b-Fzhe)
2022/12/14(水) 11:03:01.19ID:qCKaCA+pa ループを書くときも外側から順に書くやつ多いよな
あれは一番内側から書くんだよ
その処理を行うにはどういう情報が必要かを整理してそれを引数にする
処理をした結果どういう出力が欲しいのかを整理してそれを戻り値(必要ならタプル)とする
そうすれば関数が一つできあがる
あとはその関数に引数を与えて呼び出すだけだからループなりLINQなりメモ化再帰なり木探索なり好きなのを選べばいい
あれは一番内側から書くんだよ
その処理を行うにはどういう情報が必要かを整理してそれを引数にする
処理をした結果どういう出力が欲しいのかを整理してそれを戻り値(必要ならタプル)とする
そうすれば関数が一つできあがる
あとはその関数に引数を与えて呼び出すだけだからループなりLINQなりメモ化再帰なり木探索なり好きなのを選べばいい
891デフォルトの名無しさん (ワッチョイ 7fbb-dmwH)
2022/12/14(水) 11:04:23.26ID:EUJoHYXL0 今どきはコメント書けば適当なループ処理までAIが補完してくれるぞ
892デフォルトの名無しさん (スップ Sdff-ROsr)
2022/12/14(水) 11:11:37.68ID:M2KpFDpmd893デフォルトの名無しさん (アウアウウー Sa6b-Fzhe)
2022/12/14(水) 11:16:07.77ID:qCKaCA+pa >>892
お前FizzBuzzを関数分けせず書くタイプだろ
後で修正が必要になったら全部読んでごっそり書き換えるわけだ
今は構造化のし方を書いてるがそれを設計段階でやるか実装時にやるかはその時の状況次第だ
アジャイルだとざっくり設計なんてザラにある
お前FizzBuzzを関数分けせず書くタイプだろ
後で修正が必要になったら全部読んでごっそり書き換えるわけだ
今は構造化のし方を書いてるがそれを設計段階でやるか実装時にやるかはその時の状況次第だ
アジャイルだとざっくり設計なんてザラにある
894デフォルトの名無しさん (アウアウウー Sa6b-DK8R)
2022/12/14(水) 11:28:46.45ID:JwWlAqMNa 関数分けという発想で行くと間違うというのはある
必要なもの集めて組み立てる感じ
必要なもの集めて組み立てる感じ
895デフォルトの名無しさん (ワッチョイ 7fbb-dmwH)
2022/12/14(水) 11:35:44.13ID:EUJoHYXL0 FizzBuzzを関数に分けたりしたら、文字数が増えちゃうじゃん
896デフォルトの名無しさん (アウアウウー Sa6b-Fzhe)
2022/12/14(水) 11:37:43.63ID:RHCcNLTna 文字数増えて何の問題がある?
全部mainに突っ込むのを効率化と思ってるやつもいるがそんなもの計算量の少ないアルゴリズムを選んだら軽く吹っ飛ぶぞ
全部mainに突っ込むのを効率化と思ってるやつもいるがそんなもの計算量の少ないアルゴリズムを選んだら軽く吹っ飛ぶぞ
897デフォルトの名無しさん (アウアウウー Sa6b-tIJK)
2022/12/14(水) 11:40:38.40ID:/uk0szJ+a898デフォルトの名無しさん (ワッチョイ 7fbb-dmwH)
2022/12/14(水) 11:40:54.35ID:EUJoHYXL0 ゴルフでゆーしょーできねーじゃん
899.NET MAUI HighSchool (ワッチョイ ff01-1zqz)
2022/12/14(水) 12:28:52.47ID:giMMsIqE0 ReactiveXでFizzBuzz作りたい
3が流れてきたらFizzって言うsubscribeと5が流れてきたらBuzzっていうsubscribeと15が流れてきたらFizzBuzzっていうsubscribeをつくって1から100に順に上がっていくオブザーバブルプロパティを作って発行し合う
3が流れてきたらFizzって言うsubscribeと5が流れてきたらBuzzっていうsubscribeと15が流れてきたらFizzBuzzっていうsubscribeをつくって1から100に順に上がっていくオブザーバブルプロパティを作って発行し合う
900.NET MAUI HighSchool (ワッチョイ ff01-1zqz)
2022/12/14(水) 12:33:05.46ID:giMMsIqE0 >>891
テキトーすぎて話にならなさそう
テキトーすぎて話にならなさそう
901デフォルトの名無しさん (ワッチョイ 47a7-3TNT)
2022/12/14(水) 13:34:00.90ID:c/UXUhCI0902デフォルトの名無しさん (ワッチョイ bfcb-d2tu)
2022/12/14(水) 17:31:15.61ID:R3/45qGH0 >>897
ユニットテストとは、全部関数化するということですか?
ユニットテストとは、全部関数化するということですか?
903.NET MAUI HighSchool (ワッチョイ df01-1zqz)
2022/12/16(金) 16:23:50.13ID:3qj0lL1U0 たけのこなんとかってYou Tubeチャンネル再生数少ないけどかなりためになるよな
https://youtube.com/@user-el9do7sq8l
https://youtube.com/@user-el9do7sq8l
904デフォルトの名無しさん (アウアウクー MMf3-hy4/)
2022/12/18(日) 02:41:11.08ID:bGOfc0DhM アマゾン見たらmaui本が1月14日発売だけど、年末出版には間に合わんかったんか?年明けは勉強時間取れる人少ないと思うが。
905デフォルトの名無しさん (ワッチョイ 1f02-O3WS)
2022/12/18(日) 04:18:00.82ID:v5fQ3NDq0 学生の春休みや新学期には合うだろ
906.NET MAUI HighSchool (ワッチョイ 6a01-IBS7)
2022/12/18(日) 07:57:38.13ID:kMWioX0P0 >>904
別によくね?
増田さんにはお世話になってる
https://booklog.jp/author/%E5%A2%97%E7%94%B0%E6%99%BA%E6%98%8E?page=1
C#やVBなどの.NET系以外にもRustとかも書いておられる
別によくね?
増田さんにはお世話になってる
https://booklog.jp/author/%E5%A2%97%E7%94%B0%E6%99%BA%E6%98%8E?page=1
C#やVBなどの.NET系以外にもRustとかも書いておられる
907デフォルトの名無しさん (オイコラミネオ MM1b-e5AJ)
2022/12/18(日) 09:09:30.57ID:ses1WoSTM mauiに興味を持てるのはごく一部の異端者だけだからどちらでもいいだろ
908デフォルトの名無しさん (ワッチョイ a301-laf+)
2022/12/18(日) 11:48:14.16ID:HNplfub60 WinFormsにだけ注力してりゃいいのにバカなMicrosoft
909デフォルトの名無しさん (オイコラミネオ MM1b-e5AJ)
2022/12/18(日) 11:56:08.49ID:ses1WoSTM それはないけど同じところをずっと行ったり来たりしてるね
10年ぐらい停滞しっぱなし
net frameworkを.net coreに書き直し
winforms WPFを.net core用に書き直し
対応するためにVSを書き直し
reunionしてUWPのAPIを使うために書き直し
xamarinをMAUIにして書き直し
今後monoも置き換えするんだろうけど結局停滞してるだけでとてつもない開発リソースを浪費してる
10年ぐらい停滞しっぱなし
net frameworkを.net coreに書き直し
winforms WPFを.net core用に書き直し
対応するためにVSを書き直し
reunionしてUWPのAPIを使うために書き直し
xamarinをMAUIにして書き直し
今後monoも置き換えするんだろうけど結局停滞してるだけでとてつもない開発リソースを浪費してる
910デフォルトの名無しさん (ワッチョイ 535f-f2OJ)
2022/12/18(日) 12:21:58.82ID:unD+40ms0 停滞してるか?
めちゃくちゃ便利になってるんだが…。
めちゃくちゃ便利になってるんだが…。
911デフォルトの名無しさん (アウアウウー Sa9f-840Q)
2022/12/18(日) 12:46:03.27ID:lQqYZof8a 停滞してるのはエコシステムではなく勉強してない自分達だったというオチはこの業界ではよくある話
身近なC#ディスりおじさんに詳しく話を聞いたらC# 1.0〜2.0ぐらいの知識で止まってたなんてことがよくあった
まあこれに関してはJava 7の印象でいまだにJavaが大嫌いな自分にも当てはまるんであまり言えんけど
身近なC#ディスりおじさんに詳しく話を聞いたらC# 1.0〜2.0ぐらいの知識で止まってたなんてことがよくあった
まあこれに関してはJava 7の印象でいまだにJavaが大嫌いな自分にも当てはまるんであまり言えんけど
912デフォルトの名無しさん (ワッチョイ 1f02-JDfe)
2022/12/18(日) 13:03:09.27ID:LK87z1ML0 便利になったのはWPFまでだな
それ以降のUIが迷走を続けている
MAUIはあの完成度でよくリリースする気になったもんだと思うわ
それ以降のUIが迷走を続けている
MAUIはあの完成度でよくリリースする気になったもんだと思うわ
913デフォルトの名無しさん (オイコラミネオ MM1b-e5AJ)
2022/12/18(日) 13:22:30.39ID:ses1WoSTM 迷走だよ
GPSやセンサー類のAPIはUWPにだけ実装とか迷走だろ
それを今統合も出来ずに上位にWinUI3のガワだけかぶせてる
実質WinUI3はWPFの部分をwin32とか使ってc++で置き直してUWPを中に含めてるだけ
GPSやセンサー類のAPIはUWPにだけ実装とか迷走だろ
それを今統合も出来ずに上位にWinUI3のガワだけかぶせてる
実質WinUI3はWPFの部分をwin32とか使ってc++で置き直してUWPを中に含めてるだけ
914デフォルトの名無しさん (オイコラミネオ MM1b-e5AJ)
2022/12/18(日) 13:25:35.75ID:ses1WoSTM 非GUI部分のAPIをUWPやwinformsやWPFから切り離せていなかったのが一番の問題
915デフォルトの名無しさん (ワッチョイ 535f-8Cre)
2022/12/18(日) 19:27:49.14ID:Wdso+RO70 そしてその問題をWindows App SDKで解決したと
916デフォルトの名無しさん (オイコラミネオ MM1b-e5AJ)
2022/12/18(日) 19:29:23.75ID:ses1WoSTM いや現状変わっていない
917デフォルトの名無しさん (ワッチョイ 535f-8Cre)
2022/12/18(日) 21:10:41.96ID:Wdso+RO70 Why?
918デフォルトの名無しさん (ワッチョイ f3b1-3QHA)
2022/12/18(日) 21:34:00.76ID:cciNjKw00 var rst = src.Select(c =>
if(c == 'a') c = '1';
else if(c == 'b') c = '2';
else {そのまま}
);
とある文字列に対してSelectで条件分岐の操作ってできるんでしょうか?
このような操作はエラー出てしまいます。
for文使う意外でLinqで可能ですか?
if(c == 'a') c = '1';
else if(c == 'b') c = '2';
else {そのまま}
);
とある文字列に対してSelectで条件分岐の操作ってできるんでしょうか?
このような操作はエラー出てしまいます。
for文使う意外でLinqで可能ですか?
919デフォルトの名無しさん (ワッチョイ f3b1-3QHA)
2022/12/18(日) 21:35:09.61ID:cciNjKw00 var rst = src.Select(c => {
if(c == 'a') c = '1';
else if(c == 'b') c = '2';
else {そのまま}
});
if(c == 'a') c = '1';
else if(c == 'b') c = '2';
else {そのまま}
});
920デフォルトの名無しさん (ワッチョイ f376-dmHX)
2022/12/18(日) 21:43:50.09ID:/B6+jV4p0 Selectは、 TResult Func(TSource c); 相当の関数を求めてる。
1文で書けないラムダは{}で囲ってreturnする必要がある。
var rst = src.Select(c => {
if(c == 'a') return '1';
else if(c == 'b') return '2';
else {return c;}
});
条件がそこそこ複雑になるから関数化した方が読みやすくなるけどね
static char func(char c){
if(c == 'a') return '1';
else if(c == 'b') return '2';
else {return c;}
}
var rst = src.Select(func);
1文で書けないラムダは{}で囲ってreturnする必要がある。
var rst = src.Select(c => {
if(c == 'a') return '1';
else if(c == 'b') return '2';
else {return c;}
});
条件がそこそこ複雑になるから関数化した方が読みやすくなるけどね
static char func(char c){
if(c == 'a') return '1';
else if(c == 'b') return '2';
else {return c;}
}
var rst = src.Select(func);
921デフォルトの名無しさん (ワッチョイ a301-laf+)
2022/12/18(日) 23:07:10.29ID:HNplfub60 普通にif文書きゃええやん
922デフォルトの名無しさん (オイコラミネオ MM1b-e5AJ)
2022/12/18(日) 23:17:05.27ID:ses1WoSTM お前ら大丈夫か?
落ち着け
とある文字列と書いてあるのを意図的に無視してんのか?
落ち着け
とある文字列と書いてあるのを意図的に無視してんのか?
923デフォルトの名無しさん (オイコラミネオ MM1b-e5AJ)
2022/12/18(日) 23:35:46.66ID:ses1WoSTM 追加情報
三項演算子を二回使うと二回分の変換を式で表せる
c++なんかでは多用されるテクニック
実際に使うとなると
string.Replace
三項演算子を二回使うと二回分の変換を式で表せる
c++なんかでは多用されるテクニック
実際に使うとなると
string.Replace
924デフォルトの名無しさん (オイコラミネオ MM1b-e5AJ)
2022/12/18(日) 23:58:06.12ID:ses1WoSTM ごめんごめん
すげーまちがえてんな
3項演算子二重で使って3つの値を出せる式になる
それと古のテクニックを使う方法もあるけどもう寝る時間だな…
すげーまちがえてんな
3項演算子二重で使って3つの値を出せる式になる
それと古のテクニックを使う方法もあるけどもう寝る時間だな…
925デフォルトの名無しさん (アウアウウー Sa9f-6ae9)
2022/12/19(月) 10:29:01.95ID:l2DO4th2a お前こそ落ち着けよ...
とある文字列 = src
だろ
とある文字列 = src
だろ
926649 ◆xETmWn3d3U (ワッチョイ f3b1-oovO)
2022/12/19(月) 16:18:50.34ID:Q+XXk/bX0 >>918-924
こんな感じかな?知らんけど
string src = "beef steak";
var rst = src.Select(c => c == 'a' ? '1' : (c == 'b' ? '2' : c));
こんな感じかな?知らんけど
string src = "beef steak";
var rst = src.Select(c => c == 'a' ? '1' : (c == 'b' ? '2' : c));
927デフォルトの名無しさん (ワッチョイ 6a2f-8Cre)
2022/12/19(月) 18:16:46.96ID:wIMiDvp90 つか正規表現で良い気がする
928649 ◆xETmWn3d3U (ワッチョイ f3b1-oovO)
2022/12/19(月) 18:49:15.49ID:Q+XXk/bX0 string rst = src;
rst = rst.Replace('a', '1').Replace('b', '2');
でもええんちゃう?知らんけど
rst = rst.Replace('a', '1').Replace('b', '2');
でもええんちゃう?知らんけど
929デフォルトの名無しさん (ワッチョイ beb9-E2zE)
2022/12/19(月) 19:34:29.68ID:346Jf6ym0 今風に書くなら
var rst = src.Select(c => c switch {
'a' => '1',
'b' => '2',
_ => c,
});
としておきたいかな
var rst = src.Select(c => c switch {
'a' => '1',
'b' => '2',
_ => c,
});
としておきたいかな
930デフォルトの名無しさん (アウアウウー Sa9f-6ae9)
2022/12/19(月) 19:36:05.97ID:l2DO4th2a 多重に三項演算子使うぐらいならswitch式の方がマシじゃね?
var rst = src.Select(c => c switch{ 'a' => '1', 'b' => '2', _ => c });
var rst = src.Select(c => c switch{ 'a' => '1', 'b' => '2', _ => c });
931デフォルトの名無しさん (アウアウウー Sa9f-6ae9)
2022/12/19(月) 19:36:58.87ID:l2DO4th2a あっ、被った...
932デフォルトの名無しさん (アウアウウー Sa9f-3QHA)
2022/12/19(月) 19:45:13.87ID:3uxWIf14a 皆様分かりにくい質問だったのにありがとうございます😭
933デフォルトの名無しさん (アウアウウー Sa9f-3QHA)
2022/12/19(月) 19:47:06.21ID:3uxWIf14a もちろんReplaceでいいんですけどSelectの理解のために知りたかったです
>>920分かりやすかったです。
>>920分かりやすかったです。
934デフォルトの名無しさん (ワッチョイ 9749-QolP)
2022/12/20(火) 09:21:42.04ID:VUWojem40 いえいえ
935デフォルトの名無しさん (アウアウウー Sa9f-bKpv)
2022/12/20(火) 11:21:03.37ID:Z1Fhbyfda 文と式の区別ついてないしelseだけ変なブロックついてるけどなw
936デフォルトの名無しさん (ブーイモ MM17-LnhB)
2022/12/20(火) 12:14:46.46ID:l/hyvVydM 一度に置換する関数ってなかったっけ?
937デフォルトの名無しさん (アウアウウー Sa9f-bKpv)
2022/12/20(火) 13:50:21.06ID:409NV00Ga 正規表現とDictionaryで一度に置換できる
938デフォルトの名無しさん (スッップ Sd8a-JDfe)
2022/12/20(火) 15:26:00.51ID:pH7eiimed MSストアアプリをリリースしてみたいけど難読化できるか気になっている。
中間言語(IL)のコードだと簡単にリバースエンジニアリングされてしまいそうで不安。
ストアアプリは中間言語ではないファイルにストア側で変換されますか?
自分で書くコードはC#です。
あと.NET7だとネイティブでビルドできるらしいけど.NET7で開発すると、
ローカルもストアアプリもネイティブコードで生成されるんでしょうか?
中間言語(IL)のコードだと簡単にリバースエンジニアリングされてしまいそうで不安。
ストアアプリは中間言語ではないファイルにストア側で変換されますか?
自分で書くコードはC#です。
あと.NET7だとネイティブでビルドできるらしいけど.NET7で開発すると、
ローカルもストアアプリもネイティブコードで生成されるんでしょうか?
939デフォルトの名無しさん (アウアウウー Sa9f-bKpv)
2022/12/20(火) 15:40:03.50ID:409NV00Ga 機械語ならできないと思ってるのか
940デフォルトの名無しさん (スッップ Sd8a-JDfe)
2022/12/20(火) 15:44:37.17ID:pH7eiimed >>939
難易度がけた違いでしょう?
機械語からリーバスエンジニアリングできるような人なら
ゼロから自分で書いたほうが速いはず。
ILだとC#初心者でもロジック理解できちゃうしパクリアプリも作られてしまう。
難易度がけた違いでしょう?
機械語からリーバスエンジニアリングできるような人なら
ゼロから自分で書いたほうが速いはず。
ILだとC#初心者でもロジック理解できちゃうしパクリアプリも作られてしまう。
941デフォルトの名無しさん (ワッチョイ db2d-z22/)
2022/12/20(火) 15:54:23.99ID:GGhGhggz0 どうせ完璧な対策は無理だし、ConfuserEXで強めに難読化しておくのじゃ駄目かな
942デフォルトの名無しさん (ワッチョイ aa7c-e5AJ)
2022/12/20(火) 15:59:10.71ID:cyGUI4Ab0 C#のバイナリは中身もMSILだし難読化してもある程度ソースは分かる
ILSpy等で難読化した後のファイルを見てみれば分かるよ
ILSpy等で難読化した後のファイルを見てみれば分かるよ
943デフォルトの名無しさん (ワッチョイ 6a01-6ae9)
2022/12/20(火) 16:05:38.86ID:k+1oqZ2P0 >>937
どうやってやるの?
どうやってやるの?
944デフォルトの名無しさん (アウアウウー Sa9f-bKpv)
2022/12/20(火) 16:15:34.10ID:409NV00Ga >>940
難易度ならそこまで変わらん
難易度ならそこまで変わらん
945デフォルトの名無しさん (アウアウウー Sa9f-bKpv)
2022/12/20(火) 16:17:27.75ID:409NV00Ga >>943
Regex.Replaceのオーバーロードにラムダ式を取るやつがあるから引数をキーにしてDictionaryから置換先を取り出せばいい
Regex.Replaceのオーバーロードにラムダ式を取るやつがあるから引数をキーにしてDictionaryから置換先を取り出せばいい
946デフォルトの名無しさん (ワッチョイ 0f33-oCck)
2022/12/20(火) 16:42:37.80ID:e6Ld54kx0947デフォルトの名無しさん (ワッチョイ 6a01-6ae9)
2022/12/20(火) 16:57:50.13ID:k+1oqZ2P0 >>945
なるほど、サンクス
なるほど、サンクス
948デフォルトの名無しさん (スッップ Sd8a-JDfe)
2022/12/20(火) 17:06:16.44ID:pH7eiimed >>942
ストアアプリも読める?読めたらまずくない?
ストアアプリも読める?読めたらまずくない?
949デフォルトの名無しさん (スッップ Sd8a-JDfe)
2022/12/20(火) 17:17:31.72ID:pH7eiimed 半分自己解決。UWPはnative codeになるようだ
非UWPはまだわからん。
.NET nativeのおかげだな。.NET7では全アプリ対応になってるのかも
https://microsoft.github.io/react-native-windows/docs/native-code
UWP apps written in C# or other managed languages submitted to the store must be built using the .NET Native toolchain. This is the default when building C# apps in Release mode, but not in Debug, so apps built in Debug will be rejected by the Store.
非UWPはまだわからん。
.NET nativeのおかげだな。.NET7では全アプリ対応になってるのかも
https://microsoft.github.io/react-native-windows/docs/native-code
UWP apps written in C# or other managed languages submitted to the store must be built using the .NET Native toolchain. This is the default when building C# apps in Release mode, but not in Debug, so apps built in Debug will be rejected by the Store.
950デフォルトの名無しさん (スッップ Sd8a-JDfe)
2022/12/20(火) 17:21:11.68ID:pH7eiimed native codeじゃないと商用アプリリリースする気にならないわ
認証まわりとかコード見られたくない
.NET7でもしWPFとかもnative codeふつうにはけるのなら
c#人気復活する気がする
認証まわりとかコード見られたくない
.NET7でもしWPFとかもnative codeふつうにはけるのなら
c#人気復活する気がする
951デフォルトの名無しさん (ワッチョイ 8be5-974H)
2022/12/20(火) 17:32:16.50ID:yIApGVlC0 盗んだコードで売りに出す♪
952デフォルトの名無しさん (ワッチョイ aa7c-e5AJ)
2022/12/20(火) 17:33:48.40ID:cyGUI4Ab0953デフォルトの名無しさん (ワッチョイ db2d-z22/)
2022/12/20(火) 17:33:58.25ID:GGhGhggz0 >>942
難読化を強い設定にしたらILSpyでファイルを開いただけじゃソースコードは読めないよ
難読化を強い設定にしたらILSpyでファイルを開いただけじゃソースコードは読めないよ
954デフォルトの名無しさん (スッップ Sd8a-JDfe)
2022/12/20(火) 17:37:55.97ID:pH7eiimed >>952
MSのストア側でnativeになるとかじゃない?
MSのストア側でnativeになるとかじゃない?
955たすけて!!!!!1!!11!!1!!!1!!111 (ガックシ 0676-ZR1D)
2022/12/20(火) 19:28:27.61ID:nMZXsv/b6 C言語でボードゲームを作成する課題についてです。重力付き4目並べを最終的にコンピュータと対戦可能にするように、テンプレートのコードに穴埋めしていく課題です。
@横7x縦6の盤面を立てて使用A2人で対戦、以下の0~6のマスを交互に選択B縦横斜めいずれか4コマ並べれば勝ち。以下はテンプレートのコードです(長いので続きはGoogleドライブにも置いてます)、これらの空白部分の穴埋めが分かる方、どうか教えてくださいお願いします。元テンプレコード↓→ https://drive.google.com/file/d/1bTnbssantyf9dEV5DOugZuloiVUh7H3D/view?usp=share_link
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define YMAX 6 // 縦方向のマス目の数
#define XMAX 7 // 横方向のマス目の数
int board[XMAX][YMAX]; // 0:未着手 1:先手のコマ● 2:後手のコマ○
int num[XMAX]; // 各列に置かれているコマの数
int choice = 1; // 0:未選択
// 1:人間(先手●)対人間(後手〇)
// 2:人間(先手●)対コンピュータ(後手〇)
// 3:コンピュータ(先手●)対人間(後手〇)
int turn = 0; // 先手か後手かを判定するための着手数
void InitBoard(void);
void DispBoard(void);
int CheckFull(void);
int SetXpos(int);
int CheckBoard(int, int, int);
int ComputeXpos(int);
int SearchConnect(int, int);
int main(void)
{
int xpos; // 入力したコマの置き場所,またはコンピュータが探したコマの置き場所
int player; // 1:先手の手番 2:後手の手番
int win = 0; // 0:プレイ中 1:先手の勝ち 2:後手の勝ち 3:引き分け
int ans;
while (1)
{
srand((unsigned int)time(NULL)); // 乱数を使う場合のseedの初期化
長いので続きはGoogleドライブにあります→ https://drive.google.com/file/d/1bTnbssantyf9dEV5DOugZuloiVUh7H3D/view?usp=share_link
@横7x縦6の盤面を立てて使用A2人で対戦、以下の0~6のマスを交互に選択B縦横斜めいずれか4コマ並べれば勝ち。以下はテンプレートのコードです(長いので続きはGoogleドライブにも置いてます)、これらの空白部分の穴埋めが分かる方、どうか教えてくださいお願いします。元テンプレコード↓→ https://drive.google.com/file/d/1bTnbssantyf9dEV5DOugZuloiVUh7H3D/view?usp=share_link
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define YMAX 6 // 縦方向のマス目の数
#define XMAX 7 // 横方向のマス目の数
int board[XMAX][YMAX]; // 0:未着手 1:先手のコマ● 2:後手のコマ○
int num[XMAX]; // 各列に置かれているコマの数
int choice = 1; // 0:未選択
// 1:人間(先手●)対人間(後手〇)
// 2:人間(先手●)対コンピュータ(後手〇)
// 3:コンピュータ(先手●)対人間(後手〇)
int turn = 0; // 先手か後手かを判定するための着手数
void InitBoard(void);
void DispBoard(void);
int CheckFull(void);
int SetXpos(int);
int CheckBoard(int, int, int);
int ComputeXpos(int);
int SearchConnect(int, int);
int main(void)
{
int xpos; // 入力したコマの置き場所,またはコンピュータが探したコマの置き場所
int player; // 1:先手の手番 2:後手の手番
int win = 0; // 0:プレイ中 1:先手の勝ち 2:後手の勝ち 3:引き分け
int ans;
while (1)
{
srand((unsigned int)time(NULL)); // 乱数を使う場合のseedの初期化
長いので続きはGoogleドライブにあります→ https://drive.google.com/file/d/1bTnbssantyf9dEV5DOugZuloiVUh7H3D/view?usp=share_link
956デフォルトの名無しさん (スッップ Sd8a-JDfe)
2022/12/20(火) 19:43:57.01ID:pH7eiimed957デフォルトの名無しさん (ワッチョイ 6aad-HqPk)
2022/12/20(火) 19:53:21.19ID:3kdd/MdI0 課題についてですが
958デフォルトの名無しさん (ワッチョイ 535f-f2OJ)
2022/12/20(火) 19:56:57.69ID:oMNiRABq0 パクられるほどのアプリなんだろうか。
今日日、割られるとしたらパッチが広まるのも一瞬なんだから、それよりもちゃんと利用規約書いた方が良いんじゃないの?
はるかに金払うと思うよ。特に企業内ユーザは。
今日日、割られるとしたらパッチが広まるのも一瞬なんだから、それよりもちゃんと利用規約書いた方が良いんじゃないの?
はるかに金払うと思うよ。特に企業内ユーザは。
959デフォルトの名無しさん (スッップ Sd8a-JDfe)
2022/12/20(火) 20:36:05.36ID:pH7eiimed >>958
流行ってきてもすぐにコピーアプリつくられたら
収益激減しちゃうでしょ
利用規約なんて書いても少し変えてコピーアプリつくられたらおしまいだよ
実害がはっきりでる
例えば300円のアプリ、コピーされて100円で売られたらこっちは大損だよ
流行ってきてもすぐにコピーアプリつくられたら
収益激減しちゃうでしょ
利用規約なんて書いても少し変えてコピーアプリつくられたらおしまいだよ
実害がはっきりでる
例えば300円のアプリ、コピーされて100円で売られたらこっちは大損だよ
960デフォルトの名無しさん (ワッチョイ 6a01-6ae9)
2022/12/20(火) 20:36:09.48ID:k+1oqZ2P0 困るほど割られるならサーバー用意して認証するかな、俺なら
まあそんなアプリを公開できるとも思わんから取らぬたぬきなんだけどw
まあそんなアプリを公開できるとも思わんから取らぬたぬきなんだけどw
961デフォルトの名無しさん (スッップ Sd8a-JDfe)
2022/12/20(火) 20:38:13.57ID:pH7eiimed962デフォルトの名無しさん (スップ Sd8a-ytDT)
2022/12/20(火) 20:43:25.99ID:paaoChG1d クライアントにAPIキーをハードコードしてるのか?ユーザー認証を実装しろよ
そんな初歩的な設計ミスしといてセキュリティもクソも
そんな初歩的な設計ミスしといてセキュリティもクソも
963デフォルトの名無しさん (ワッチョイ 6a01-6ae9)
2022/12/20(火) 21:05:09.19ID:k+1oqZ2P0 >>961
もしかして認証ってクライアントからサーバーにログインするような奴しか知らんのか?
もしかして認証ってクライアントからサーバーにログインするような奴しか知らんのか?
964デフォルトの名無しさん (スッップ Sd8a-g3+u)
2022/12/20(火) 21:41:02.29ID:y3Va6Z2Ud >>955
馬鹿は死ね
馬鹿は死ね
965デフォルトの名無しさん (ワッチョイ 535f-f2OJ)
2022/12/20(火) 21:55:47.97ID:oMNiRABq0966デフォルトの名無しさん (ワッチョイ 535f-8Cre)
2022/12/21(水) 02:19:07.37ID:XJm7JjIp0 .NET 7のNative AOTは今のところコンソールアプリとクラスライブラリで使えるらしい
今後範囲を広げていく計画だったと思うが
現状でWindowsアプリでも重要な部分だけクラスライブラリにすれば上で求められてることはできそうだな
今後範囲を広げていく計画だったと思うが
現状でWindowsアプリでも重要な部分だけクラスライブラリにすれば上で求められてることはできそうだな
967デフォルトの名無しさん (スッププ Sd8a-ytDT)
2022/12/21(水) 08:11:43.60ID:WvXmOK62d >>966
それはちょっと誤解がある
NativeAOTはコンソールアプリとして発行されるアプリケーション、もしくは(.NETのクラスライブラリではなく)ネイティブの共有ライブラリを作るときだけ使える
つまり、仮にWindowsアプリで部分的に使うならPInvokeが必要
なお、NativeAOTはASP.NET Coreアプリを動かすことをゴールとしており、GUIアプリのサポートは全く計画にない
それはちょっと誤解がある
NativeAOTはコンソールアプリとして発行されるアプリケーション、もしくは(.NETのクラスライブラリではなく)ネイティブの共有ライブラリを作るときだけ使える
つまり、仮にWindowsアプリで部分的に使うならPInvokeが必要
なお、NativeAOTはASP.NET Coreアプリを動かすことをゴールとしており、GUIアプリのサポートは全く計画にない
968デフォルトの名無しさん (ワッチョイ 1f02-JDfe)
2022/12/21(水) 08:21:41.02ID:NS3BAQGq0 ネイティブのDLL作れるのはええな
わざわざその為だけにC++使う必要なくなるかな
わざわざその為だけにC++使う必要なくなるかな
969デフォルトの名無しさん (ワッチョイ c307-bKpv)
2022/12/21(水) 10:09:22.51ID:DxBIri9+0 ソースが見られるのを恐れてるのはパクられるのを恐れてるんじゃなくパクったのがバレるのを恐れてるんだよな
お前なんかの作った物をパクるやつなんかいねーよと言いたくなるやつしか難読化難読化言わない
お前なんかの作った物をパクるやつなんかいねーよと言いたくなるやつしか難読化難読化言わない
970デフォルトの名無しさん (ワッチョイ c307-bKpv)
2022/12/21(水) 10:17:43.01ID:DxBIri9+0 あと.NETのリバースエンジニアリングがしやすいのは静的ライブラリじゃなくDLLを使ってるのと仮想メソッドを多用しているのも大きい
DLLで提供されるクラスを使う時や仮想メソッドを使う時は名前でアクセスせざるを得ないからどのクラスのどのメソッドを使っているかを隠すことができない
これはC++を使っても同じこと
本気で難読化したいなら標準ライブラリを使うのをやめた上でソースコードジェネレータを使ってソースレベルでクラス名や関数名をランダマイズするところから
DLLで提供されるクラスを使う時や仮想メソッドを使う時は名前でアクセスせざるを得ないからどのクラスのどのメソッドを使っているかを隠すことができない
これはC++を使っても同じこと
本気で難読化したいなら標準ライブラリを使うのをやめた上でソースコードジェネレータを使ってソースレベルでクラス名や関数名をランダマイズするところから
971デフォルトの名無しさん (ワッチョイ c307-bKpv)
2022/12/21(水) 10:20:28.49ID:DxBIri9+0 https://mevius.5ch.net/test/read.cgi/tech/1671585518/
立てたけどこれ過去スレの履歴要らんだろ
立てたけどこれ過去スレの履歴要らんだろ
972デフォルトの名無しさん (スッップ Sd8a-JDfe)
2022/12/21(水) 10:50:38.22ID:Q7xHaIEVd >>967
ASP.NET Coreは.NET8でnative AOT対応してくるかもしれない。
Azure運営してるMSとしては欲しい機能だろうし。
GUI appsもゴールにないという事はないと思うよ
やっぱり速度とかメモリ使用とかでnative有利だし。
MAUIで作ったiOSかMacアプリはnative codeでbuildされるとか見た記憶ある。
他社がnativeで動くならGUI appも対応しないとc#開発者がC#使うのをやめてしまう。
ASP.NET Coreは.NET8でnative AOT対応してくるかもしれない。
Azure運営してるMSとしては欲しい機能だろうし。
GUI appsもゴールにないという事はないと思うよ
やっぱり速度とかメモリ使用とかでnative有利だし。
MAUIで作ったiOSかMacアプリはnative codeでbuildされるとか見た記憶ある。
他社がnativeで動くならGUI appも対応しないとc#開発者がC#使うのをやめてしまう。
973デフォルトの名無しさん (スッップ Sd8a-JDfe)
2022/12/21(水) 10:52:45.19ID:Q7xHaIEVd ここみると.NET7の制限というニュアンスで書いてある。
最終的にはふつうのWPFとかもnative AOT目指してるように思える。
https://learn.microsoft.com/en-us/dotnet/core/deploying/native-aot/
最終的にはふつうのWPFとかもnative AOT目指してるように思える。
https://learn.microsoft.com/en-us/dotnet/core/deploying/native-aot/
974デフォルトの名無しさん (スッップ Sd8a-JDfe)
2022/12/21(水) 10:54:27.51ID:Q7xHaIEVd975デフォルトの名無しさん (ワッチョイ c307-bKpv)
2022/12/21(水) 10:59:36.26ID:DxBIri9+0976デフォルトの名無しさん (ワッチョイ 0f2f-8Cre)
2022/12/21(水) 11:21:48.38ID:dQUtHKIl0977デフォルトの名無しさん (アウアウアー Sab6-sLkO)
2022/12/21(水) 11:38:04.02ID:XdVZCz4Ta >>971
それよりVS 2017 からバージョンさせてほしい
それよりVS 2017 からバージョンさせてほしい
978デフォルトの名無しさん (ワッチョイ 9749-QolP)
2022/12/21(水) 11:46:13.92ID:yXejyiRX0 まあ認証まわりとか、ライブラリを使ってるのか自作なのかすら見せたくないのはわかる
個人のアプリじゃないと重箱の隅をつつかれることにもなるしね
個人のアプリじゃないと重箱の隅をつつかれることにもなるしね
979デフォルトの名無しさん (テテンテンテン MMe6-w6Ef)
2022/12/21(水) 12:14:36.58ID:UGlVD7cdM カジュアルな解読対策なら既存の難読化で十分だし、ガチのクラッカー相手ならマシン語になった程度じゃ無駄だよ
980デフォルトの名無しさん (ワッチョイ 6a01-6ae9)
2022/12/21(水) 12:52:16.33ID:j8NGwdcp0 そもそもターゲットになるようなアプリを公開できる奴がこんなスレにいるのかと...
981デフォルトの名無しさん (スッップ Sd8a-JDfe)
2022/12/21(水) 14:51:10.30ID:Q7xHaIEVd native AOTはスピードアップの恩恵も大きい。
C++くらい速いコードになるし欲しいに決まってる
C++くらい速いコードになるし欲しいに決まってる
982デフォルトの名無しさん (アウアウウー Sa9f-bKpv)
2022/12/21(水) 15:00:09.00ID:xeZ9BjZLa ならんと思うよ
C++は最適化のやり方がえげつないし安全より速度に倒してるから
C++は最適化のやり方がえげつないし安全より速度に倒してるから
983デフォルトの名無しさん (ワッチョイ 0fa7-JDfe)
2022/12/21(水) 15:01:27.23ID:9NcjNPce0 最適化に関しては言語単位ではなくコンパイラ次第だけどな
984たすけて!!!!!1!!11!!1!!!1!!111 (ガックシ 0676-ZR1D)
2022/12/21(水) 15:04:48.89ID:PoVpFNoO6 C言語でボードゲームを作成する課題についてです。重力付き4目並べを最終的にコンピュータと対戦可能にするように、テンプレートのコードに穴埋めしていく課題です。
@横7x縦6の盤面を立てて使用A2人で対戦、以下の0~6のマスを交互に選択B縦横斜めいずれか4コマ並べれば勝ち。以下はテンプレートのコードです(長いので続きはGoogleドライブにも置いてます)、これらの空白部分の穴埋めが分かる方、どうか教えてくださいお願いします。元テンプレコード↓→ https://drive.google.com/file/d/1bTnbssantyf9dEV5DOugZuloiVUh7H3D/view?usp=share_link
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define YMAX 6 // 縦方向のマス目の数
#define XMAX 7 // 横方向のマス目の数
int board[XMAX][YMAX]; // 0:未着手 1:先手のコマ● 2:後手のコマ○
int num[XMAX]; // 各列に置かれているコマの数
int choice = 1; // 0:未選択
// 1:人間(先手●)対人間(後手〇)
// 2:人間(先手●)対コンピュータ(後手〇)
// 3:コンピュータ(先手●)対人間(後手〇)
int turn = 0; // 先手か後手かを判定するための着手数
void InitBoard(void);
void DispBoard(void);
int CheckFull(void);
int SetXpos(int);
int CheckBoard(int, int, int);
int ComputeXpos(int);
int SearchConnect(int, int);
int main(void)
{
int xpos; // 入力したコマの置き場所,またはコンピュータが探したコマの置き場所
int player; // 1:先手の手番 2:後手の手番
int win = 0; // 0:プレイ中 1:先手の勝ち 2:後手の勝ち 3:引き分け
int ans;
while (1)
{
srand((unsigned int)time(NULL)); // 乱数を使う場合のseedの初期化
長いので続きはGoogleドライブにあります→ https://drive.google.com/file/d/1bTnbssantyf9dEV5DOugZuloiVUh7H3D/view?usp=share_link
@横7x縦6の盤面を立てて使用A2人で対戦、以下の0~6のマスを交互に選択B縦横斜めいずれか4コマ並べれば勝ち。以下はテンプレートのコードです(長いので続きはGoogleドライブにも置いてます)、これらの空白部分の穴埋めが分かる方、どうか教えてくださいお願いします。元テンプレコード↓→ https://drive.google.com/file/d/1bTnbssantyf9dEV5DOugZuloiVUh7H3D/view?usp=share_link
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define YMAX 6 // 縦方向のマス目の数
#define XMAX 7 // 横方向のマス目の数
int board[XMAX][YMAX]; // 0:未着手 1:先手のコマ● 2:後手のコマ○
int num[XMAX]; // 各列に置かれているコマの数
int choice = 1; // 0:未選択
// 1:人間(先手●)対人間(後手〇)
// 2:人間(先手●)対コンピュータ(後手〇)
// 3:コンピュータ(先手●)対人間(後手〇)
int turn = 0; // 先手か後手かを判定するための着手数
void InitBoard(void);
void DispBoard(void);
int CheckFull(void);
int SetXpos(int);
int CheckBoard(int, int, int);
int ComputeXpos(int);
int SearchConnect(int, int);
int main(void)
{
int xpos; // 入力したコマの置き場所,またはコンピュータが探したコマの置き場所
int player; // 1:先手の手番 2:後手の手番
int win = 0; // 0:プレイ中 1:先手の勝ち 2:後手の勝ち 3:引き分け
int ans;
while (1)
{
srand((unsigned int)time(NULL)); // 乱数を使う場合のseedの初期化
長いので続きはGoogleドライブにあります→ https://drive.google.com/file/d/1bTnbssantyf9dEV5DOugZuloiVUh7H3D/view?usp=share_link
985デフォルトの名無しさん (スッップ Sd8a-JDfe)
2022/12/21(水) 15:06:36.41ID:Q7xHaIEVd986デフォルトの名無しさん (スッップ Sd8a-g3+u)
2022/12/21(水) 15:08:08.84ID:QEiYz8egd987デフォルトの名無しさん (ガックシ 0676-ZR1D)
2022/12/21(水) 15:46:41.58ID:PoVpFNoO6 >>986
ごめんち
ごめんち
988デフォルトの名無しさん (アウアウウー Sa9f-bKpv)
2022/12/21(水) 15:57:46.46ID:xnCwgzYya >>985
マシン語に夢見すぎだしCのソースコードにデコンパイルできるぞ
マシン語に夢見すぎだしCのソースコードにデコンパイルできるぞ
989デフォルトの名無しさん (ワッチョイ 6a01-6ae9)
2022/12/21(水) 16:15:55.40ID:j8NGwdcp0 まあガチで最適化されてたらまともなCコードにはならんけどね
990デフォルトの名無しさん (アウアウウー Sa9f-bKpv)
2022/12/21(水) 16:23:28.08ID:xnCwgzYya >>989
少なくとも文法はCになる
少なくとも文法はCになる
991デフォルトの名無しさん (オイコラミネオ MM1b-e5AJ)
2022/12/21(水) 20:14:45.78ID:RZVo2DHQM 文法はCだけど中身はマシン語と変わらないなら地獄だけどそういうものになるんだろ?
ifとgotoとreturnとラベルだらけ
ifとgotoとreturnとラベルだらけ
992デフォルトの名無しさん (オイコラミネオ MM1b-e5AJ)
2022/12/21(水) 20:17:20.13ID:RZVo2DHQM 式は漏れなく逆ポーランド記法的になるんだろうし
993デフォルトの名無しさん (ワッチョイ 535f-f2OJ)
2022/12/21(水) 20:23:34.31ID:rozOpZ0F0 自分でやってみればわかるが、言うほど難しくない。
994デフォルトの名無しさん (オイコラミネオ MM1b-e5AJ)
2022/12/21(水) 20:27:18.93ID:RZVo2DHQM と言う妄想
995デフォルトの名無しさん (ワッチョイ 3b01-ZR1D)
2022/12/21(水) 21:29:01.38ID:ye8WaQKn0 Cとアセンブラの最も大きな違いはレジスタへのアクセスなんだよね。
996デフォルトの名無しさん (ワッチョイ 535f-f2OJ)
2022/12/21(水) 21:48:30.78ID:rozOpZ0F0 >>994
慣れだよ。CTFとかやったら良い。
慣れだよ。CTFとかやったら良い。
997デフォルトの名無しさん (アウアウウー Sa9f-GVz8)
2022/12/22(木) 02:21:30.51ID:IYYvjjD3a >>995
レジスターやスタックを気にしながらプログラムを組むのは地獄だわな
レジスターやスタックを気にしながらプログラムを組むのは地獄だわな
998デフォルトの名無しさん (スッップ Sd8a-JDfe)
2022/12/22(木) 02:36:34.84ID:F1nh9mbrd C++も終わりになるんじゃないの?
LinuxがRustで書くようになるとかいう噂?ニュースを見たよ
RustってOSも書けるんだな
Rustで安全で高速なコード書けたらC/C++ほぼ要らなくなるんじゃ?
LinuxがRustで書くようになるとかいう噂?ニュースを見たよ
RustってOSも書けるんだな
Rustで安全で高速なコード書けたらC/C++ほぼ要らなくなるんじゃ?
999デフォルトの名無しさん (スッップ Sd8a-JDfe)
2022/12/22(木) 02:37:22.51ID:F1nh9mbrd >>999
LinuxのカーネルがRustで書かれるかもっていう噂、ニュースね
LinuxのカーネルがRustで書かれるかもっていう噂、ニュースね
1000デフォルトの名無しさん (スッップ Sd8a-JDfe)
2022/12/22(木) 02:43:23.22ID:F1nh9mbrd10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 366日 15時間 39分 58秒
新しいスレッドを立ててください。
life time: 366日 15時間 39分 58秒
10021002
Over 1000Thread 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- ドリフトは「危険運転」、法改正で処罰対象に追加へ…「極めて危険だが規定がない」事態解消 [七波羅探題★]
- 【日中対立】在日本中国大使館、サンフランシスコ講和条約「不法かつ無効な文書」とSNSに投稿 高市首相が党首討論で引用 ★2 [ぐれ★]
- 【芸能】「加害の歴史を直視しない政治家が国の顔に」 宍戸開の批判に議論勃! 高市発言で揺れる芸能界… [冬月記者★]
- 拳銃24丁を中国から日本国内に輸入した疑い 中国人の46歳の男逮捕 1丁約3000円で販売 [七波羅探題★]
- 糖尿病疑い全国で1100万人、8年で100万人増…厚労省推計 [蚤の市★]
- 【文春】AKB48『紅白歌合戦』出場へ! 前田敦子&大島優子が限定復活! 『ヘビロテ』など黄金期メドレー披露 神7の多くが出場 [冬月記者★]
- 安倍昭恵「あ〜んコテツ!会いたい!」山上裁判出席決定wwwwwwwww [947332727]
- 【号外】山上徹也裁判に安倍昭恵出席で最終調整 [115996789]
- 40代独身「なんかゲームとか漫画とか消費するだけのコンテンツに完全に飽きちゃったぞ…」 次は何がおすすめ? [909790798]
- 女「AV被害に溢れてるのになぜAV禁止にしないのか」AV女優「余計な事言うのやめて」
- 肉体労働僕氏、デスクワークがしたい
- ホリエモン「家賃ケチって1時間かけて通勤する人は、給料の20%を失っているわけだけど、気づいてる?」 [315293707]
