!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為)
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください
>>980を踏んだ人は新スレを建てて下さい。>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっと C#,C♯,C#(初心者用) Part152
http://mevius.5ch.net/test/read.cgi/tech/1629888256/
■関連スレ
C#, C♯, C#相談室 Part94
http://mevius.5ch.net/test/read.cgi/tech/1553075856/
■コードを貼る場合は↓を使いましょう。
https://ideone.com/
https://dotnetfiddle.net/
■情報源
https://docs.microsoft.com/ja-jp/dotnet/standard/class-libraries/
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/
https://docs.microsoft.com/en-us/dotnet/standard/class-libraries/
https://referencesource.microsoft.com/
https://source.dot.net/
・Insider.NET > .NET TIPS - @IT
https://www.atmarkit.co.jp/ait/subtop/features/dotnet/dotnettips_index.html
・DOBON.NET .NET Tips
https://dobon.net/vb/dotnet/index.html
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
ふらっと C#,C♯,C#(初心者用) Part153
レス数が1000を超えています。これ以上書き込みはできません。
1デフォルトの名無しさん (ワッチョイ bf2c-yjVA)
2021/12/13(月) 22:53:21.18ID:dhjmiKBp02デフォルトの名無しさん (ワッチョイ c702-p36F)
2021/12/14(火) 15:04:57.66ID:DHQEOVX70 stringデータの容量を小さくしてソフトのAPIに送りたいのですが
APIの都合でstringのまま送らなければならない場合、
これ以上容量を小さくする手段はありませんか?
圧縮したバイナリデータをどうにか送信できないかと調べたのですが無理そうで……。
APIの都合でstringのまま送らなければならない場合、
これ以上容量を小さくする手段はありませんか?
圧縮したバイナリデータをどうにか送信できないかと調べたのですが無理そうで……。
3デフォルトの名無しさん (ワッチョイ df2c-yjVA)
2021/12/14(火) 17:52:43.39ID:vmKXmndG0 何らかの方法で圧縮できたとして
受け取る方のソフトは圧縮されたデータを伸長できるの?
受け取る方のソフトは圧縮されたデータを伸長できるの?
4デフォルトの名無しさん (ブーイモ MMff-gtpG)
2021/12/14(火) 17:56:17.81ID:WeLzug3DM uudx / uuex か?
5デフォルトの名無しさん (ワッチョイ c702-p36F)
2021/12/14(火) 18:19:29.34ID:DHQEOVX70 >>3
圧縮して送りたいのはただのセーブデータなのですが、
サーバー側の保存形式がstringを使ったkeyValueで作られているので文字列形式でしか保存できないみたいで。
保存しておいた文字列をこちらで読み込んでからデコードすればいいのでstringのまま圧縮できればよくて、
どうせ日本語までしか扱わないデータなのでSHIFT-JISをutf-8で圧縮……みたいなことができれば理想なのですが
そんなピンポイントなのあったりしませんよね、と……。
>>4
解釈があってるかはわからないのですが、
一応圧縮したバイナリデータをBase64でConvertみたいなことは試してみたものの
容量を減らすという目的ではむしろ文字数が増えてしまって。
何か手段がないかなあと思っている次第です。
圧縮して送りたいのはただのセーブデータなのですが、
サーバー側の保存形式がstringを使ったkeyValueで作られているので文字列形式でしか保存できないみたいで。
保存しておいた文字列をこちらで読み込んでからデコードすればいいのでstringのまま圧縮できればよくて、
どうせ日本語までしか扱わないデータなのでSHIFT-JISをutf-8で圧縮……みたいなことができれば理想なのですが
そんなピンポイントなのあったりしませんよね、と……。
>>4
解釈があってるかはわからないのですが、
一応圧縮したバイナリデータをBase64でConvertみたいなことは試してみたものの
容量を減らすという目的ではむしろ文字数が増えてしまって。
何か手段がないかなあと思っている次第です。
6デフォルトの名無しさん (ラクッペペ MM8f-JWjg)
2021/12/14(火) 18:26:30.90ID:QT7QgCvlM 使用できる文字に番号振って
圧縮したバイナリを文字に割当る
いわゆる復活の呪文方式
文字が足らなければ32bitsバイナリを31bitsにずらしていくなど工夫してみな
圧縮したバイナリを文字に割当る
いわゆる復活の呪文方式
文字が足らなければ32bitsバイナリを31bitsにずらしていくなど工夫してみな
7デフォルトの名無しさん (アウアウウー Sa6b-5lnE)
2021/12/14(火) 18:35:23.50ID:70QYvgE2a8デフォルトの名無しさん (ブーイモ MMcf-gtpG)
2021/12/14(火) 19:00:02.18ID:DQcTzC4QM 通常のデータ圧縮は8ビットフルに使うので、
そのままでは難しいのでuuと組み合わせて作ったら?
そのままでは難しいのでuuと組み合わせて作ったら?
9デフォルトの名無しさん (ワッチョイ df2c-yjVA)
2021/12/14(火) 19:40:08.80ID:vmKXmndG0 UTF-8でバイナリ化してdeflate圧縮してBase64化した後2文字ずつを1つのcharに詰める
まあ基本ライブラリで手軽にやるならこんな感じじゃない?
まあ基本ライブラリで手軽にやるならこんな感じじゃない?
10デフォルトの名無しさん (ワッチョイ 67b0-zDwW)
2021/12/14(火) 20:14:03.30ID:4rMew3mV0 7zかなにか圧縮率の高い奴で圧縮しておいてbasE91だな。
http://base91.sourceforge.net/
http://base91.sourceforge.net/
11デフォルトの名無しさん (ワッチョイ a701-4A0X)
2021/12/15(水) 07:44:21.38ID:viWcJGha0 圧縮することによっぽどのメリットがないと無駄にややこしくなるだけだぞ
サーバー側が必要に応じて圧縮するのが筋かと
UTF-8に変換して送信とか脆弱性の問題もあってサーバー側で禁止してることもある
サーバー側が必要に応じて圧縮するのが筋かと
UTF-8に変換して送信とか脆弱性の問題もあってサーバー側で禁止してることもある
122 (ワッチョイ c702-p36F)
2021/12/15(水) 08:20:09.42ID:KIyi4EVP0 皆さんありがとうございます! Base64化したものを自分でさらに詰めるというのは思いつきませんでした……なるほど……。
BasE91もまさに机上論こねくり回してるときに欲しかったものの気配がするので中身覗いて調べてみます!
>>11
こちらは利用する側なのでサーバーの仕様を変える事はできず、
用意されたフォーマット(これが文字列形式での送信)従うしかないやつですね。
ユーザー毎に使用可能なデータの容量が決められていて(しかもそれがやたら少ない)、
少しでも軽減するためにこちら側でデータを小さくできないかと画策しています。
BasE91もまさに机上論こねくり回してるときに欲しかったものの気配がするので中身覗いて調べてみます!
>>11
こちらは利用する側なのでサーバーの仕様を変える事はできず、
用意されたフォーマット(これが文字列形式での送信)従うしかないやつですね。
ユーザー毎に使用可能なデータの容量が決められていて(しかもそれがやたら少ない)、
少しでも軽減するためにこちら側でデータを小さくできないかと画策しています。
13デフォルトの名無しさん (ワッチョイ 2780-4iyA)
2021/12/15(水) 08:43:57.49ID:doly6UKJ0 ビットマップ間で部分的に画像コピーするのはDrawImageでできますが
コピーする際に左右を反転してコピーする方法はないでしょうか?
検索でビットマップ全体をまるごと反転する表示はたくさん出てくるのですが
DrawImageの部分コピーで反転するのは見当たらないのです
コピーする際に左右を反転してコピーする方法はないでしょうか?
検索でビットマップ全体をまるごと反転する表示はたくさん出てくるのですが
DrawImageの部分コピーで反転するのは見当たらないのです
14デフォルトの名無しさん (ワッチョイ df2c-yjVA)
2021/12/15(水) 09:39:43.96ID:SWORTfJ40 g.ScaleTransform(-1, 1)
描き出す先の座標も反転するから座標指定注意
描き出す先の座標も反転するから座標指定注意
15デフォルトの名無しさん (ワッチョイ a748-4iyA)
2021/12/15(水) 10:18:47.15ID:IF/hKOzS0 できました、ありがとうございます
16デフォルトの名無しさん (ワッチョイ e701-zKou)
2021/12/15(水) 20:55:12.09ID:KtX6zlRp0 DrawImageに渡すWidthやHeightを負の数にするだけで反対向きに描画するよ
17デフォルトの名無しさん (ワッチョイ c75f-o4eJ)
2021/12/15(水) 22:41:30.07ID:9OkRwsNs0 LinuxでC#でソフト作りたいのですが
.Net 6とmonoは同じものでしょうか?
.Net 6とmonoは同じものでしょうか?
18デフォルトの名無しさん (アウアウウー Sa6b-5lnE)
2021/12/15(水) 22:58:53.71ID:RALnEWNsa monoは.NET4.6か4.7相当
19デフォルトの名無しさん (ワッチョイ c75f-o4eJ)
2021/12/15(水) 23:37:58.07ID:9OkRwsNs0 ありがとうございます
.Net 6をインストールしました
.Net 6をインストールしました
20デフォルトの名無しさん (ワッチョイ a748-4iyA)
2021/12/16(木) 12:03:30.27ID:GoezKG390 private void Form1_KeyDown(object sender, KeyEventArgs e)
{
keyCode = (int)e.KeyCode;
}
public void button1_Click(object sender, EventArgs e)
{
button1.Visible = false;
anThread(); // ここをtest();に変えると直接実行になる
}
private void anThread()
{
Task task = Task.Run(() => {
test();
}
}
private void test() {
int dt;
while (true) {
if (keyCode!=0) {
dt = keyCode; // ここにブレークポイントを置く キーが押されると止まる
return;
}
Thread.Sleep(10);
}
}
{
keyCode = (int)e.KeyCode;
}
public void button1_Click(object sender, EventArgs e)
{
button1.Visible = false;
anThread(); // ここをtest();に変えると直接実行になる
}
private void anThread()
{
Task task = Task.Run(() => {
test();
}
}
private void test() {
int dt;
while (true) {
if (keyCode!=0) {
dt = keyCode; // ここにブレークポイントを置く キーが押されると止まる
return;
}
Thread.Sleep(10);
}
}
21デフォルトの名無しさん (ワッチョイ a748-4iyA)
2021/12/16(木) 12:04:03.26ID:GoezKG390 このプログラムbutton1押しで開始して、キーが押されるとループ中のブレークポイントで止まるものなんですが
これで一般文字キーを押すとちゃんとブレークポイントで止まりkeyCodeが確認できます
Enterキーを押した場合はなぜか止まりません
anThread();のように別スレッドから動かさずに直接test();で呼ぶと
一般文字キーもEnterキーの時も止まりkeyCode 13が確認できます
別スレッドで動かした時に、Enterキーの時だけForm1_KeyDownさえ呼ばれなくなるのは
どうしてでしょうか?
これで一般文字キーを押すとちゃんとブレークポイントで止まりkeyCodeが確認できます
Enterキーを押した場合はなぜか止まりません
anThread();のように別スレッドから動かさずに直接test();で呼ぶと
一般文字キーもEnterキーの時も止まりkeyCode 13が確認できます
別スレッドで動かした時に、Enterキーの時だけForm1_KeyDownさえ呼ばれなくなるのは
どうしてでしょうか?
22デフォルトの名無しさん (アウアウウー Sa6b-5lnE)
2021/12/16(木) 12:25:18.98ID:6kTxk0Gya 直接呼びで停まる?
直接呼ぶと無限ループに入って、keycode変数が変化しないから(代入が行われるのはループの外だから代入が起きない)
ブレークポイントに入ることもないんじゃないかな?
ここに書き込む過程でコードを書き換えたなら、そこで略した部分に問題ありそう
直接呼ぶと無限ループに入って、keycode変数が変化しないから(代入が行われるのはループの外だから代入が起きない)
ブレークポイントに入ることもないんじゃないかな?
ここに書き込む過程でコードを書き換えたなら、そこで略した部分に問題ありそう
23デフォルトの名無しさん (ワッチョイ a748-4iyA)
2021/12/16(木) 12:36:40.33ID:GoezKG390 いえ止まるというのはブレークポイントで止まるので正常に機能しているということです
直接呼びの時はEnterキーでもkeycode変数が変化するのです(正常)
別スレッド呼びにした時にEnterキーだけ変化しないようになります 文字キーは変化します
button1にEnterキーが吸収されてるのではないかと思い
button1.Visible = false;
button1.Enabled = false;
さらにForm1.KeyPreview=true;
としたのですが、結果は変わりませんでした
直接呼びの時はEnterキーでもkeycode変数が変化するのです(正常)
別スレッド呼びにした時にEnterキーだけ変化しないようになります 文字キーは変化します
button1にEnterキーが吸収されてるのではないかと思い
button1.Visible = false;
button1.Enabled = false;
さらにForm1.KeyPreview=true;
としたのですが、結果は変わりませんでした
24デフォルトの名無しさん (アウアウウー Sa6b-5lnE)
2021/12/16(木) 12:59:19.79ID:6kTxk0Gya デバッグ開始する
ボタン押す
enter以外のキーを押す=止まる
再開する
enterを押す=止まらない
って順番ということ?それならreturnで抜けてるから
デバッグ開始する
ボタン押す
enterを押す=止まらない
enter以外のキーを押す=止まる
って順番ということ?
ボタン押す
enter以外のキーを押す=止まる
再開する
enterを押す=止まらない
って順番ということ?それならreturnで抜けてるから
デバッグ開始する
ボタン押す
enterを押す=止まらない
enter以外のキーを押す=止まる
って順番ということ?
25デフォルトの名無しさん (ワッチョイ a748-4iyA)
2021/12/16(木) 13:04:12.22ID:GoezKG390 そうですね、デバッグ実行は毎回やりなおしてますが
enterを押す=止まらない ここのところですね問題は
Enterキー故に何かわからないですがviewのどれかに吸収されてるんではとも考えられるんです
enterを押す=止まらない ここのところですね問題は
Enterキー故に何かわからないですがviewのどれかに吸収されてるんではとも考えられるんです
26デフォルトの名無しさん (ワッチョイ a748-4iyA)
2021/12/16(木) 13:11:56.87ID:GoezKG390 inr fs;
public void button1_Click(object sender, EventArgs e)
{
if (fs==0) {
button1.Visible = false;
button1.Enabled = false;
anThread(); // ここをtest();に変えると直接実行になる
}
fs=1;
}
public void button1_Click(object sender, EventArgs e)
{
if (fs==0) {
button1.Visible = false;
button1.Enabled = false;
anThread(); // ここをtest();に変えると直接実行になる
}
fs=1;
}
27デフォルトの名無しさん (ワッチョイ a748-4iyA)
2021/12/16(木) 13:12:29.66ID:GoezKG390 もっとボタンのとこ具体的にかくと上のようにして一度しかtest()呼ばれないようにしてます
28デフォルトの名無しさん (アウアウウー Sa6b-5lnE)
2021/12/16(木) 13:19:59.88ID:6kTxk0Gya なら
KeyPreview=true;
protected override bool ProcessDialogKey(Keys keyData)
{
return false;
}
protected override void OnKeyDown(KeyEventArgs e)
{
base.OnKeyDown(e);
}
KeyPreview=true;
protected override bool ProcessDialogKey(Keys keyData)
{
return false;
}
protected override void OnKeyDown(KeyEventArgs e)
{
base.OnKeyDown(e);
}
29デフォルトの名無しさん (ワッチョイ a748-4iyA)
2021/12/16(木) 13:24:57.28ID:GoezKG390 おおEnterキーでもブレークポイントで止まるようになりました
ありがとうございます
ありがとうございます
30デフォルトの名無しさん (ワッチョイ a72d-zmQK)
2021/12/16(木) 13:28:58.72ID:lYga0rvW0 Formに配置したbuttonがEnterキーの制御を奪うから
その前にFormでキーを取得したいならPreviewKeyDownイベントを使う
その前にFormでキーを取得したいならPreviewKeyDownイベントを使う
31デフォルトの名無しさん (ワッチョイ e701-p36F)
2021/12/16(木) 14:09:04.68ID:i/INwEgL0 docs.microsoft.com/ja-jp/dotnet/api
にバージョンとかあって.NET 6とか選択するじゃないですか?
これって、どれを選べばいいのでしょうか?
自分のPCにどの.NET入ってるか調べる方法はありますでしょうか?
よよろしくおねがいします。
にバージョンとかあって.NET 6とか選択するじゃないですか?
これって、どれを選べばいいのでしょうか?
自分のPCにどの.NET入ってるか調べる方法はありますでしょうか?
よよろしくおねがいします。
32デフォルトの名無しさん (ラクッペペ MM8f-JWjg)
2021/12/16(木) 14:38:33.33ID:k8cIynuMM 自分のPCではなくユーザーの環境を考えて選ぼう
Windows2000なら2.0
WindowsXPなら4.0までしか使えない
Windows2000なら2.0
WindowsXPなら4.0までしか使えない
33デフォルトの名無しさん (ワッチョイ 675f-Rkf/)
2021/12/16(木) 15:37:50.09ID:y2oCKs8P0 今から始めるなら.NET 6選んでおけば問題ない
34デフォルトの名無しさん (ワッチョイ e701-p36F)
2021/12/16(木) 17:43:59.24ID:i/INwEgL0 Environment.Versionだと6.0.0
RuntimeEnvironment.GetSystemVersionだとv4.0.30319でした
RuntimeEnvironment.GetSystemVersionだとv4.0.30319でした
35デフォルトの名無しさん (ワッチョイ e701-p36F)
2021/12/16(木) 17:53:32.89ID:i/INwEgL0 System.Runtime.InteropServices.RuntimeInformation.FrameworkDescription
だと.NET 6.0.0-rtm.21522.10でした
だと.NET 6.0.0-rtm.21522.10でした
36デフォルトの名無しさん (ワッチョイ e701-p36F)
2021/12/16(木) 17:56:18.18ID:i/INwEgL0 clrver.exeだと、こう
PS C:\Users\a\source\repos> clrver.exe
Microsoft (R) .NET CLR Version Tool Version 4.8.3928.0
Copyright (c) Microsoft Corporation. All rights reserved.
Versions installed on the machine:
v2.0.50727
v4.0.30319
PS C:\Users\a\source\repos> clrver.exe
Microsoft (R) .NET CLR Version Tool Version 4.8.3928.0
Copyright (c) Microsoft Corporation. All rights reserved.
Versions installed on the machine:
v2.0.50727
v4.0.30319
37デフォルトの名無しさん (ワッチョイ 47da-3ffG)
2021/12/16(木) 18:05:33.14ID:6CYDlCWX038デフォルトの名無しさん (ワッチョイ c75f-o4eJ)
2021/12/16(木) 20:33:18.00ID:SBcuHk850 mauiって流行りますか?
39デフォルトの名無しさん (ワッチョイ e701-YTVu)
2021/12/16(木) 20:45:26.99ID:9+J81CzA0 Xamarinって流行ったか?つまりそういうことだ
40デフォルトの名無しさん (ワッチョイ 7fda-8rTh)
2021/12/16(木) 20:53:46.41ID:p4ec86X90 人脈が無い人には無理
41デフォルトの名無しさん (ワッチョイ 27ac-vu5C)
2021/12/16(木) 21:37:09.74ID:nAiVmB6z0 mauiも期待はしてるけどいつも通りなんだろうなあ。。
42デフォルトの名無しさん (アウアウウー Sa6b-5lnE)
2021/12/16(木) 22:11:02.45ID:6kTxk0Gya マルチプラットフォームっていう目的での利用は流行らないだろうな
でも普通にGUIアプリ作る一手段としては使われるんじゃないかな
でも普通にGUIアプリ作る一手段としては使われるんじゃないかな
43デフォルトの名無しさん (ワッチョイ 4718-N/e5)
2021/12/16(木) 23:26:32.48ID:el7qs11a0 言語仕様が多すぎてうんざり。
44デフォルトの名無しさん (ワッチョイ 0f18-RSrH)
2021/12/17(金) 00:31:22.94ID:A3/Tt7aa0 Linuxに本気で移行しようと思う。
45デフォルトの名無しさん (ワッチョイ 8a47-WIuU)
2021/12/17(金) 01:19:48.74ID:OxYtcTfz0 >>44
おっ、.NET Core + Linux いいね
おっ、.NET Core + Linux いいね
46デフォルトの名無しさん (スッップ Sd8a-jY/M)
2021/12/17(金) 01:35:44.89ID:0Acfg8Fxd これからMSワールドの外へ出てみたら実感すると思うけど、MSスタックは全部MSで揃えて他には見向きもしなくていい状態にこそ意義があるんだよ
いったん外にはみ出し始めちゃって歯車が狂うとたちまち不便なところばかりが目につくようになって、気がついたらMS成分は跡形も残らない、という結果になるのがオチだ
MSスタックをディスるつもりはなくて、これはむしろ最大限の賛辞だ
いったん外にはみ出し始めちゃって歯車が狂うとたちまち不便なところばかりが目につくようになって、気がついたらMS成分は跡形も残らない、という結果になるのがオチだ
MSスタックをディスるつもりはなくて、これはむしろ最大限の賛辞だ
47デフォルトの名無しさん (ワッチョイ beb0-i1tV)
2021/12/17(金) 08:09:16.08ID:GkoM7wOP0 あれ?MAUIのターゲットにLinuxが入ってない。。。
https://docs.microsoft.com/ja-jp/dotnet/maui/what-is-maui
https://docs.microsoft.com/ja-jp/dotnet/maui/what-is-maui
48デフォルトの名無しさん (ブーイモ MMe6-qbXX)
2021/12/17(金) 08:24:00.59ID:ObFlVNVZM LVGLを使え。という託宣。
49デフォルトの名無しさん (ワッチョイ 97c3-s2xl)
2021/12/17(金) 08:44:31.07ID:dbqWYop50 >>47
linuxはコミュニティによってサポートされます
linuxはコミュニティによってサポートされます
50sage (ワッチョイ a301-izju)
2021/12/17(金) 11:45:19.21ID:2+pcMu4G0 C:\Users\a>dotnet --info
.NET SDK (global.json を反映):
Version: 6.0.100
Commit: 9e8b04bbff
ランタイム環境:
OS Name: Windows
OS Version: 10.0.19042
OS Platform: Windows
RID: win10-x64
Base Path: C:\Program Files\dotnet\sdk\6.0.100\
Host (useful for support):
Version: 6.0.0
Commit: 4822e3c3aa
.NET SDKs installed:
6.0.100 [C:\Program Files\dotnet\sdk]
.NET runtimes installed:
Microsoft.AspNetCore.App 6.0.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.NETCore.App 6.0.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.WindowsDesktop.App 6.0.0 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
To install additional .NET runtimes or SDKs:
https://aka.ms/dotnet-download
.NET SDK (global.json を反映):
Version: 6.0.100
Commit: 9e8b04bbff
ランタイム環境:
OS Name: Windows
OS Version: 10.0.19042
OS Platform: Windows
RID: win10-x64
Base Path: C:\Program Files\dotnet\sdk\6.0.100\
Host (useful for support):
Version: 6.0.0
Commit: 4822e3c3aa
.NET SDKs installed:
6.0.100 [C:\Program Files\dotnet\sdk]
.NET runtimes installed:
Microsoft.AspNetCore.App 6.0.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.NETCore.App 6.0.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.WindowsDesktop.App 6.0.0 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
To install additional .NET runtimes or SDKs:
https://aka.ms/dotnet-download
51デフォルトの名無しさん (ワッチョイ a301-izju)
2021/12/17(金) 13:11:43.35ID:2+pcMu4G0 c#を勉強しはじめたのですが、メモリ関連でヒープとスタックというのがあるのを知りました。
で、C#で型がstaticのデータはヒープ領域に格納されるのですか?それともスタック領域に格納されるのですか?
で、C#で型がstaticのデータはヒープ領域に格納されるのですか?それともスタック領域に格納されるのですか?
52デフォルトの名無しさん (アウアウウー Sa9f-f5lq)
2021/12/17(金) 13:38:19.99ID:g/fCEX7wa スタックって日常でも使うことあるけど、積み重ねるって意味だからな
積み重ねちゃってるから下にあるものを無理に取り出そうとすると崩れてぐちゃぐちゃになる
だから下にあるデータは上にあるのがなくなるまで取り出せない
データは上下関係なく好きなところにあるデータにアクセスしたいものだからスタックにはしない=ヒープ
でもスタックとかヒープとか覚えなくていいよ
C#のテスト問題にそんなのが出たら「もっとまともな問題出せ」って回答用紙に書いときゃいいし
C#の本やサイトにそんなのが出てるなら投げ捨てときゃいい
積み重ねちゃってるから下にあるものを無理に取り出そうとすると崩れてぐちゃぐちゃになる
だから下にあるデータは上にあるのがなくなるまで取り出せない
データは上下関係なく好きなところにあるデータにアクセスしたいものだからスタックにはしない=ヒープ
でもスタックとかヒープとか覚えなくていいよ
C#のテスト問題にそんなのが出たら「もっとまともな問題出せ」って回答用紙に書いときゃいいし
C#の本やサイトにそんなのが出てるなら投げ捨てときゃいい
53デフォルトの名無しさん (ワッチョイ 8b59-1Hc8)
2021/12/17(金) 13:41:20.99ID:eUY6ZgLC0 メモリの確保と開放って元々C言語の概念だったよね
Javaではなくなったようだけど
Javaではなくなったようだけど
54デフォルトの名無しさん (ワッチョイ 0f18-RSrH)
2021/12/17(金) 14:24:53.34ID:A3/Tt7aa0 メモリを確保するのはアセンブラでもそうだよ。開放するのは動的に使うってことだよ。
スタックはCPUの基本機能、ハードで実装、提供されてるものだよ。だから高速。
SPレジスタ書き換えるだけだからね。速いコード書く人はスタック、ヒープは常に意識してる。
スタックはCPUの基本機能、ハードで実装、提供されてるものだよ。だから高速。
SPレジスタ書き換えるだけだからね。速いコード書く人はスタック、ヒープは常に意識してる。
55デフォルトの名無しさん (アウアウウー Sa9f-f5lq)
2021/12/17(金) 15:05:27.40ID:g/fCEX7wa そんなの意識するわけないだろ。どう意識するんだよw
アセンブラならpush/pop使うこと多いけど、C#じゃそんなの意識して組むのは非常に困難
意識するのは例えばこれはList<int>よりも基本通りint[]でいった方が速度有利だけど、こっちはListでいいとかそういう(ヒープの)使い方程度だよ
アセンブラならpush/pop使うこと多いけど、C#じゃそんなの意識して組むのは非常に困難
意識するのは例えばこれはList<int>よりも基本通りint[]でいった方が速度有利だけど、こっちはListでいいとかそういう(ヒープの)使い方程度だよ
56デフォルトの名無しさん (スププ Sd8a-WIuU)
2021/12/17(金) 15:35:53.88ID:Uf0Oj/NFd Marshal.AllocHGlobal使うときとかヒープ意識するな
57デフォルトの名無しさん (ワッチョイ 6a42-g56a)
2021/12/17(金) 15:38:33.74ID:8qM/JwoR0 大昔独自のC言語使った組み込み開発で、StaticはROMにマッピングされるやつが有った
いやあ、確かに便利だけど言語仕様くらい守れよとは思った
いやあ、確かに便利だけど言語仕様くらい守れよとは思った
58デフォルトの名無しさん (ワッチョイ a6da-SJTP)
2021/12/17(金) 16:30:31.61ID:xwFg4/y80 ただしstack overflowはバイブルな。
これさえあれば、大抵のことは何とかなる
これさえあれば、大抵のことは何とかなる
59デフォルトの名無しさん (アウアウウー Sa9f-xPAV)
2021/12/17(金) 17:26:57.23ID:OLbNm50pa >>51
ちょっと検索した感じだとstaticな「変数」(あくまで変数ね)は
ヒープに置かれるって意見とヒープでもスタックでもないって意見があって
はっきり分からんねw
個人的にはstaticな「変数」は一度staticコンストラクタが呼ばれて
作られてしまった後は管理が不要なので後者の方が正しいように感じるがどうだろう
ちょっと検索した感じだとstaticな「変数」(あくまで変数ね)は
ヒープに置かれるって意見とヒープでもスタックでもないって意見があって
はっきり分からんねw
個人的にはstaticな「変数」は一度staticコンストラクタが呼ばれて
作られてしまった後は管理が不要なので後者の方が正しいように感じるがどうだろう
60デフォルトの名無しさん (ワッチョイ 535f-j66Y)
2021/12/17(金) 19:03:20.75ID:FDMn0ZP00 MSスタックどころかWindowsフォームしかできないのがMSワールドの外に出ることなんて不可能だろうな
61デフォルトの名無しさん (オッペケ Srb3-fmnO)
2021/12/17(金) 19:14:42.55ID:25ZW3+3Or C#は適当にGC呼び出せば適切なところでメモリ解放がんばってくれるじゃん
62デフォルトの名無しさん (ワッチョイ 3b01-jbri)
2021/12/17(金) 20:16:20.89ID:hfvLzPNZ063デフォルトの名無しさん (ワッチョイ a301-izju)
2021/12/17(金) 20:53:34.58ID:2+pcMu4G0 これ??
PS C:\Users\a\source\repos\stack\stack\bin\Debug\net6.0> dumpbin /headers stack.exe
Microsoft (R) COFF/PE Dumper Version 14.30.30706.0
Copyright (C) Microsoft Corporation. All rights reserved.
Dump of file stack.exe
PE signature found
File Type: EXECUTABLE IMAGE
<<中略>>
SECTION HEADER #3
.data name
14F8 virtual size
24000 virtual address (0000000140024000 to 00000001400254F7)
A00 size of raw data
21C00 file pointer to raw data (00021C00 to 000225FF)
0 file pointer to relocation table
0 file pointer to line numbers
0 number of relocations
0 number of line numbers
C0000040 flags
Initialized Data
Read Write
PS C:\Users\a\source\repos\stack\stack\bin\Debug\net6.0> dumpbin /headers stack.exe
Microsoft (R) COFF/PE Dumper Version 14.30.30706.0
Copyright (C) Microsoft Corporation. All rights reserved.
Dump of file stack.exe
PE signature found
File Type: EXECUTABLE IMAGE
<<中略>>
SECTION HEADER #3
.data name
14F8 virtual size
24000 virtual address (0000000140024000 to 00000001400254F7)
A00 size of raw data
21C00 file pointer to raw data (00021C00 to 000225FF)
0 file pointer to relocation table
0 file pointer to line numbers
0 number of relocations
0 number of line numbers
C0000040 flags
Initialized Data
Read Write
64デフォルトの名無しさん (ワッチョイ 3ebb-fVZy)
2021/12/17(金) 21:35:28.65ID:IQClZtiS065デフォルトの名無しさん (ワッチョイ 0f18-RSrH)
2021/12/17(金) 21:40:51.67ID:A3/Tt7aa0 xpSP2以降、自己書き換え禁止されたはずだから嘘だと思うけど
66デフォルトの名無しさん (ワッチョイ 7e33-bJft)
2021/12/17(金) 22:19:09.70ID:RGFXVjzf0 嘘つきはMicrosoftの始まりって聞いたで
67デフォルトの名無しさん (ワッチョイ 2a01-7mHJ)
2021/12/17(金) 22:37:03.33ID:ePonqmC10 >>64
ざっくりだけどあってる
AppDomainのLoaderHeapのHigh Frequency Heapと呼ばれる場所に
MethodTable Strucureの一部として確保される
Heapと名前がつくがGC HeapやLarge Object Heapとは別で
GCはされずAppDomainがアンロードされるまで生きてる
AppDomainをざっくり言えばコード領域
ざっくりだけどあってる
AppDomainのLoaderHeapのHigh Frequency Heapと呼ばれる場所に
MethodTable Strucureの一部として確保される
Heapと名前がつくがGC HeapやLarge Object Heapとは別で
GCはされずAppDomainがアンロードされるまで生きてる
AppDomainをざっくり言えばコード領域
68デフォルトの名無しさん (アウアウウー Sa9f-f5lq)
2021/12/17(金) 23:21:12.45ID:g/fCEX7wa ざっくり曲げすぎ。そもそもいわゆるコード領域はリードオンリーだよ
69デフォルトの名無しさん (オッペケ Srb3-fmnO)
2021/12/18(土) 01:21:58.30ID:4KhQcFRSr とにかくGC連打
メモリ管理をどうこうしようなんて考える必要なし
メモリ管理をどうこうしようなんて考える必要なし
70デフォルトの名無しさん (ワッチョイ 0f18-RSrH)
2021/12/18(土) 01:27:31.41ID:5vur9Hw60 結局、Dispose()だらけで汚いコードだらけみたいな。
71デフォルトの名無しさん (アウアウウー Sa9f-f5lq)
2021/12/18(土) 01:36:05.34ID:T7YxQHIHa いやいや。disposeは必ずしろよ・・・
72デフォルトの名無しさん (ワッチョイ 3b01-WooP)
2021/12/18(土) 01:51:37.69ID:pciZCSWm0 某現場で提供されてたDB接続クラスがIDisposable持ってるからusingで書いたら全然動かん
よく見たらdispose内でロールバック処理が入ってて目を疑った
よく見たらdispose内でロールバック処理が入ってて目を疑った
73デフォルトの名無しさん (ワッチョイ a301-eGgJ)
2021/12/18(土) 02:07:40.04ID:hd7cWOei0 それどうなったの
74デフォルトの名無しさん (ワッチョイ 3b01-WooP)
2021/12/18(土) 02:38:11.15ID:pciZCSWm075デフォルトの名無しさん (ワッチョイ bea7-4tmb)
2021/12/18(土) 03:04:40.74ID:+EDLAGXQ0 usingはMSの提供品ならアリ
それ以外のライブラリでは信じるに値しない
精々努力目標がいいとこ
それ以外のライブラリでは信じるに値しない
精々努力目標がいいとこ
76デフォルトの名無しさん (オッペケ Srb3-fmnO)
2021/12/18(土) 03:11:34.73ID:4KhQcFRSr77デフォルトの名無しさん (アウアウウー Sa9f-xPAV)
2021/12/18(土) 03:25:01.34ID:rlJS0/xAa78デフォルトの名無しさん (ワッチョイ bea7-4tmb)
2021/12/18(土) 03:48:54.74ID:+EDLAGXQ0 別にStreamWriterのusingも疑えって言ってるわけじゃない
ただ、チェックされてる保証がないモノを無条件に信じるのはやめろってこと
少なくともMS提供品以外のusingは使うなら一度はdisposeの実装に目を通したほうがいい
ブラックボックスのライブラリはメモリリークしてても不思議じゃないから場合によっては
別プロセスにしてキックしないといけないかもしれない
ただ、チェックされてる保証がないモノを無条件に信じるのはやめろってこと
少なくともMS提供品以外のusingは使うなら一度はdisposeの実装に目を通したほうがいい
ブラックボックスのライブラリはメモリリークしてても不思議じゃないから場合によっては
別プロセスにしてキックしないといけないかもしれない
79デフォルトの名無しさん (ワッチョイ bea7-4tmb)
2021/12/18(土) 04:00:36.02ID:+EDLAGXQ0 そもそもなまじガベコレなんてあるから
綺麗な後始末にはヘルプをよく読まないといけないクラスが多い気がする
まあ、その前にアプリを終了してしまえば問題は起きないが
サービスとかだとこいつが牙をむく場面が多い
綺麗な後始末にはヘルプをよく読まないといけないクラスが多い気がする
まあ、その前にアプリを終了してしまえば問題は起きないが
サービスとかだとこいつが牙をむく場面が多い
80デフォルトの名無しさん (アウアウウー Sa9f-xPAV)
2021/12/18(土) 04:43:58.91ID:QLDMMuZWa >>78
人の話聞かない人?
だから、同じことはDispose以外の全てのメソッドについても当てはまるでしょ。
他人の作ったものは全て信じられないから使わない。
これなら偏執狂的ではあっても論理的に一貫している。
しかしDisposeだけ疑うのは羹に(
人の話聞かない人?
だから、同じことはDispose以外の全てのメソッドについても当てはまるでしょ。
他人の作ったものは全て信じられないから使わない。
これなら偏執狂的ではあっても論理的に一貫している。
しかしDisposeだけ疑うのは羹に(
81デフォルトの名無しさん (ワッチョイ a301-izju)
2021/12/18(土) 05:17:14.21ID:4kEqj5670 >>68
厳密にいうと微妙に違う属性みたい
SECTION HEADER #1
.text name
1830C virtual size
1000 virtual address (0000000140001000 to 000000014001930B)
18400 size of raw data
400 file pointer to raw data (00000400 to 000187FF)
0 file pointer to relocation table
0 file pointer to line numbers
0 number of relocations
0 number of line numbers
60000020 flags
Code
Execute Read
厳密にいうと微妙に違う属性みたい
SECTION HEADER #1
.text name
1830C virtual size
1000 virtual address (0000000140001000 to 000000014001930B)
18400 size of raw data
400 file pointer to raw data (00000400 to 000187FF)
0 file pointer to relocation table
0 file pointer to line numbers
0 number of relocations
0 number of line numbers
60000020 flags
Code
Execute Read
82デフォルトの名無しさん (ワッチョイ 5f78-kSWT)
2021/12/18(土) 07:53:04.33ID:EMtIeou+0 >>72
トランザクション処理を行っていたらロールバックする仕様は普通じゃね?
トランザクション処理を行っていたらロールバックする仕様は普通じゃね?
83デフォルトの名無しさん (ワッチョイ bea7-4tmb)
2021/12/18(土) 08:55:44.41ID:+EDLAGXQ0 >>80
まあ、確認対象に入るだけとも言うな
まあ、確認対象に入るだけとも言うな
84デフォルトの名無しさん (ワッチョイ bea7-4tmb)
2021/12/18(土) 08:59:22.77ID:+EDLAGXQ0 >>82
失敗してないのにやるんじゃない?
usingを正常に抜けるための何らかの条件があってそれがされてないと
disposeで失敗とみなしてロールバックするんじゃね?
その条件はソースを見るか組んだやつしかわからんが
失敗してないのにやるんじゃない?
usingを正常に抜けるための何らかの条件があってそれがされてないと
disposeで失敗とみなしてロールバックするんじゃね?
その条件はソースを見るか組んだやつしかわからんが
85sage (ワッチョイ a301-izju)
2021/12/18(土) 09:13:54.47ID:4kEqj5670 >>55
以下ソースで30000ちょっとでスタックオーバーフロするから、
それなりに意識する必要のある人もいるように思われ
企業が作るデカイアプリとか
public class Hello
{
public static void a(int n)
{
System.Console.WriteLine(n);
a(n + 1);
}
public static void Main()
{
a(0);
System.Console.WriteLine("hello world!");
}
}
以下ソースで30000ちょっとでスタックオーバーフロするから、
それなりに意識する必要のある人もいるように思われ
企業が作るデカイアプリとか
public class Hello
{
public static void a(int n)
{
System.Console.WriteLine(n);
a(n + 1);
}
public static void Main()
{
a(0);
System.Console.WriteLine("hello world!");
}
}
86デフォルトの名無しさん (ワッチョイ a301-izju)
2021/12/18(土) 10:36:30.21ID:rkAxz2WM0 https://dotnetfiddle.net/tXv7Oq
ランダムで0〜100までの数値を出して0〜50と50〜80、80~100の場合に分けてそれぞれを表示するプログラムです
場合分けを増やすとどうしてもforが複数回繰り返してしまいます、2回目以降の
for (int i = 0; i < 5; i++)
を1回に抑えたいのですが何かいい方法はありませんか?
ランダムで0〜100までの数値を出して0〜50と50〜80、80~100の場合に分けてそれぞれを表示するプログラムです
場合分けを増やすとどうしてもforが複数回繰り返してしまいます、2回目以降の
for (int i = 0; i < 5; i++)
を1回に抑えたいのですが何かいい方法はありませんか?
87デフォルトの名無しさん (ワッチョイ be46-eOGQ)
2021/12/18(土) 10:42:34.52ID:/Zq/GLbL0 なんかの
88デフォルトの名無しさん (ワッチョイ be46-eOGQ)
2021/12/18(土) 10:43:28.05ID:/Zq/GLbL0 なんかのデータ構造を3つ用意して一回のループで分けるとか
一回全部ソートして前から見ていくとか
一回全部ソートして前から見ていくとか
89デフォルトの名無しさん (アウアウウー Sa9f-f5lq)
2021/12/18(土) 10:46:28.80ID:T7YxQHIHa linqなんかを使うって方法もあるけど実質同じだからなしだよな
stringをいくつか用意しといて、最初のforの中でconsole出力するんじゃなくてstringに値を格納
for抜けてからconsole出力するとか?
stringをいくつか用意しといて、最初のforの中でconsole出力するんじゃなくてstringに値を格納
for抜けてからconsole出力するとか?
90デフォルトの名無しさん (ワッチョイ 0f18-RSrH)
2021/12/18(土) 11:37:28.63ID:5vur9Hw60 普通にcommitしてからdispose()すればrollbackしないんじゃねーの?
原因不明で途中終了されたらrollbackするのは普通に見える。
とにかくデストラクタがC++と同じタイミングで走ってくれれば
C#にdisposeはいらなかったんじゃないのかと初心者のボクは思うわけですよ。
原因不明で途中終了されたらrollbackするのは普通に見える。
とにかくデストラクタがC++と同じタイミングで走ってくれれば
C#にdisposeはいらなかったんじゃないのかと初心者のボクは思うわけですよ。
91デフォルトの名無しさん (ワッチョイ 5f78-kSWT)
2021/12/18(土) 11:57:23.73ID:EMtIeou+092デフォルトの名無しさん (ワッチョイ 0f18-RSrH)
2021/12/18(土) 12:12:33.65ID:5vur9Hw60 速度重視なのかメモリ効率重視なのかによるよな。
普通は分けたデータは再利用するので3つ分の配列を作ってそこに入れるかな。
なら場合分け処理は最初の1ループ一回しかしないで済む。
普通は分けたデータは再利用するので3つ分の配列を作ってそこに入れるかな。
なら場合分け処理は最初の1ループ一回しかしないで済む。
93デフォルトの名無しさん (ワッチョイ 1f02-kYDk)
2021/12/18(土) 13:11:47.91ID:Y+I1/Zg8094デフォルトの名無しさん (アウアウウー Sa9f-xPAV)
2021/12/18(土) 14:04:14.85ID:GkRVZLhXa >>86
その例なら単純にdata[]を昇順にソートしてから
var i = 0;
Console.Write("0以上50未満:");
for (; data[i] < 50 && data[i] >= 0; i++) { ... }
Console.Write("50以上80未満:");
for (; data[i] < 80 && data[i] >= 50; i++) { ... }
とかでいいんじゃないの?
その例なら単純にdata[]を昇順にソートしてから
var i = 0;
Console.Write("0以上50未満:");
for (; data[i] < 50 && data[i] >= 0; i++) { ... }
Console.Write("50以上80未満:");
for (; data[i] < 80 && data[i] >= 50; i++) { ... }
とかでいいんじゃないの?
95デフォルトの名無しさん (ワッチョイ 2a01-7mHJ)
2021/12/18(土) 14:32:27.17ID:iUN/Cy1s096デフォルトの名無しさん (ワッチョイ 0f2f-j66Y)
2021/12/18(土) 14:56:48.68ID:yfxR8FS90 >>90
正確には、コミットしたあと、何もない処理をロールバックするんじゃないかな
実質何もしないのと同じ
未コミットあるかないか確認するのが丁寧ではあるだろうけど
なんにせよIDisposableなDB接続クラスを未コミットでDisposeするのは使い方が悪いわ
正確には、コミットしたあと、何もない処理をロールバックするんじゃないかな
実質何もしないのと同じ
未コミットあるかないか確認するのが丁寧ではあるだろうけど
なんにせよIDisposableなDB接続クラスを未コミットでDisposeするのは使い方が悪いわ
97デフォルトの名無しさん (ワッチョイ 2a01-7mHJ)
2021/12/18(土) 18:11:55.26ID:iUN/Cy1s098デフォルトの名無しさん (ワッチョイ a301-izju)
2021/12/18(土) 22:12:35.26ID:4kEqj5670 ここってスキル高そうな人いるみたいだけど、以下でランキング入りできますか?
paiza.jp/botchi/ranking
paiza.jp/steins_gate/ranking
paiza.jp/logic_summoner/top/ranking
paiza.jp/botchi/ranking
paiza.jp/steins_gate/ranking
paiza.jp/logic_summoner/top/ranking
99デフォルトの名無しさん (ワッチョイ a301-izju)
2021/12/18(土) 23:03:36.27ID:rkAxz2WM0 色々ありがとうございます、自分に合ったものを探してみたいと思います
100デフォルトの名無しさん (ワッチョイ 1f5f-4jiE)
2021/12/19(日) 14:12:33.67ID:XEu/0Ow00 1.jpg
10.jpg
2.jpg
を
1.jpg
2.jpg
10.jpg
のように自然順ソートできるライブラリありませんか?
Windows,Mac,Linuxで動かせるものがほしいです
10.jpg
2.jpg
を
1.jpg
2.jpg
10.jpg
のように自然順ソートできるライブラリありませんか?
Windows,Mac,Linuxで動かせるものがほしいです
101デフォルトの名無しさん (ワッチョイ be63-Ucht)
2021/12/19(日) 14:34:22.80ID:O/qDX0wZ0 ライブラリはないと思うよ
君の言う自然順の定義が適当すぎるからね
君の言う自然順の定義が適当すぎるからね
102デフォルトの名無しさん (アウアウウー Sa9f-xPAV)
2021/12/19(日) 14:37:18.67ID:pYj8pB6Ua >>100
古い記事だけど参考まで
今は標準で実装されてるかも
https://wiki.dobon.net/index.php?.NET%A5%D7%A5%ED%A5%B0%A5%E9%A5%DF%A5%F3%A5%B0%B8%A6%B5%E6%2F111
古い記事だけど参考まで
今は標準で実装されてるかも
https://wiki.dobon.net/index.php?.NET%A5%D7%A5%ED%A5%B0%A5%E9%A5%DF%A5%F3%A5%B0%B8%A6%B5%E6%2F111
103デフォルトの名無しさん (アウアウウー Sa9f-f5lq)
2021/12/19(日) 14:38:55.11ID:n0pWJPWXa nugetとかgoogleで「natural sort」
104デフォルトの名無しさん (テテンテンテン MMe6-J8DE)
2021/12/19(日) 14:48:02.86ID:wbja7KXrM 漢数字やローマ数字は?
全角は?
全角は?
105デフォルトの名無しさん (アウアウウー Sa9f-f5lq)
2021/12/19(日) 15:12:30.82ID:n0pWJPWXa 全角ぐらいならnatural sortにCompareOptions.IgnoreWidth渡せばできる
漢字はやりたきゃ自分でやるか日本語対応のを探すしかないだろうな
漢字はやりたきゃ自分でやるか日本語対応のを探すしかないだろうな
106デフォルトの名無しさん (ワッチョイ 0f18-RSrH)
2021/12/19(日) 15:24:46.95ID:JBr0bC1G0 漢数字やローマ数字対応してもICompareを実装するのにおそらく10分。
107デフォルトの名無しさん (ラクッペペ MMe6-Ucht)
2021/12/19(日) 16:12:08.38ID:3MHXzmFiM こういう手合いは追加要件が出てくるのが基本だから最後には自分で実装しろって回答になってるはず
108デフォルトの名無しさん (アウアウウー Sa9f-xPAV)
2021/12/19(日) 16:56:47.20ID:EE70Ra2ja なんか頭おかしい奴が大量に湧いてるけど、少なくとも2000年代の前半には
「自然順ソート」という概念はあった。
何が「こういう手合い」だバカw
ウンコはお前の方だろ。
「自然順ソート」という概念はあった。
何が「こういう手合い」だバカw
ウンコはお前の方だろ。
109デフォルトの名無しさん (ワッチョイ beb0-i1tV)
2021/12/19(日) 17:14:52.86ID:kxTQmf/60 なるほど。
https://ja.wikipedia.org/wiki/自然順
https://ja.wikipedia.org/wiki/自然順
110デフォルトの名無しさん (アウアウウー Sa9f-f5lq)
2021/12/19(日) 17:29:08.07ID:n0pWJPWXa "2.jpg" "123.jpg" "500.jpg" "百日紅(さるすべりの花).jpg" "百.jpg"
用途によっては漢数字も数字としてソートしたい場合もある
今回は漢数字不要だろうけど、「こういう手合い」になることは多い
用途によっては漢数字も数字としてソートしたい場合もある
今回は漢数字不要だろうけど、「こういう手合い」になることは多い
111デフォルトの名無しさん (スップ Sd2a-OcGH)
2021/12/19(日) 17:50:05.64ID:TLyD+52gd ソート順って問題になることが多いからな
特に日本語は色んな文字を使うので厄介
カナとか漢字あたりの動作がめちゃくちゃでいいならライブラリなんていくらでも見つかるだろうけど後からケチ付けられないようにしとくのは大事
特に日本語は色んな文字を使うので厄介
カナとか漢字あたりの動作がめちゃくちゃでいいならライブラリなんていくらでも見つかるだろうけど後からケチ付けられないようにしとくのは大事
112デフォルトの名無しさん (アウアウウー Sa9f-kSWT)
2021/12/20(月) 05:46:43.82ID:3MMk62pZa タブコントロールの色ってフォームのデザイナーから変えられないの?
113デフォルトの名無しさん (スッップ Sd8a-e+q/)
2021/12/20(月) 10:32:55.78ID:f5rUAgGLd 職場でcsc.exe使ってフォームアプリつくろうと思ったけど
コマンドプロンプト自体制限されてて使えなかったなり
コマンドプロンプト自体制限されてて使えなかったなり
114デフォルトの名無しさん (ワッチョイ a301-eGgJ)
2021/12/20(月) 14:19:05.77ID:qyvCBTAG0 csc.exeのショートカット作って、
プロパティでオプションやソースファイル指定するとか
プロパティでオプションやソースファイル指定するとか
115デフォルトの名無しさん (ワッチョイ 1f5f-4jiE)
2021/12/20(月) 14:20:33.92ID:zxhyAyTl0 自然順ソートっ標準で搭載されている言語って結構少なかったんですね
PHPから入ったので当たり前に貼るものだと思ってました
頂いた情報で組んでみます
PHPから入ったので当たり前に貼るものだと思ってました
頂いた情報で組んでみます
116デフォルトの名無しさん (アウアウウー Sa9f-2GdG)
2021/12/20(月) 14:24:01.64ID:wYqxvWvia chartコントロールについてですが、折線グラフを使用したときにデータポイント間の線上の任意のX位置を取得してその箇所のY値を取得することは可能でしょうか
117デフォルトの名無しさん (アウアウウー Sa9f-f5lq)
2021/12/20(月) 14:26:28.21ID:BkeSeNUYa 線の中にPoints[]があってそこにXValueとYValueがあるからそれ読めばいい
118デフォルトの名無しさん (アウアウウー Sa9f-2GdG)
2021/12/20(月) 14:35:19.70ID:/nEC48Zya119デフォルトの名無しさん (アウアウウー Sa9f-xPAV)
2021/12/20(月) 14:39:36.28ID:I6RlAoqPa 116の人が聞いてるのはいわゆる「内挿」ってやつのことだと思うけど、
そんな気の利いた機能がchartについてるかな。
使ったことないから知らんけどついてないと思うw
そんな気の利いた機能がchartについてるかな。
使ったことないから知らんけどついてないと思うw
120デフォルトの名無しさん (アウアウウー Sa9f-f5lq)
2021/12/20(月) 14:49:56.05ID:BkeSeNUYa ああ、そういう意味か。それはないな
読めるのは追加した点だけ
読めるのは追加した点だけ
121デフォルトの名無しさん (アウアウウー Sa9f-2GdG)
2021/12/20(月) 15:38:01.47ID:EVpX0LdIa122デフォルトの名無しさん (スププ Sd8a-WIuU)
2021/12/20(月) 15:58:56.17ID:hpQP1bPDd >>113
powershell使えば
powershell使えば
123デフォルトの名無しさん (アウアウウー Sa9f-xPAV)
2021/12/20(月) 17:33:26.35ID:I6RlAoqPa >>121
でも求め方は中一レベルの数学だから難しくないでしょ
でも求め方は中一レベルの数学だから難しくないでしょ
124デフォルトの名無しさん (アウアウウー Sa9f-2GdG)
2021/12/20(月) 18:59:07.12ID:/usP9Uara >>123
あっ。そうですね。2点のXYデータがわかるわけだから折線だったら計算でだせますね。ありがとうございます
すみませんがもう1点だけ質問いいでしょうか
グラフの拡大縮小をしたときにX軸にスクロールバーがでると思いますが、それを元の表示に戻したいときにスクロールバーの横の小さいボタンを押すと戻りますが、これを自前のボタンイベントで実装するにはどうしたらいいでしょうか
あっ。そうですね。2点のXYデータがわかるわけだから折線だったら計算でだせますね。ありがとうございます
すみませんがもう1点だけ質問いいでしょうか
グラフの拡大縮小をしたときにX軸にスクロールバーがでると思いますが、それを元の表示に戻したいときにスクロールバーの横の小さいボタンを押すと戻りますが、これを自前のボタンイベントで実装するにはどうしたらいいでしょうか
125デフォルトの名無しさん (アウアウウー Sa9f-xPAV)
2021/12/20(月) 19:19:36.55ID:I6RlAoqPa126デフォルトの名無しさん (アウアウウー Sa9f-2GdG)
2021/12/20(月) 22:05:52.14ID:4d89Imwra127デフォルトの名無しさん (ワッチョイ 0f01-izju)
2021/12/21(火) 19:30:29.17ID:smn5oieg0 海外の12歳の少女が、NFTで1億8000万円を稼ぐ
12歳のナイラ・ヘイズ氏のNFT(※)コレクションが、数時間で160万ドル(約1億8000万円)
を稼ぎ出したと、米メディアの『Business Insider』が報じている。
ヘイズ氏は4歳で絵を描き始め、9歳のときにスマートフォンを使って彼女の代表作
「Long Neckie Ladies」を描いたという。このシリーズは3333点からなる、首の長い
多種多様な女性を描いたコレクションだ。出品後わずか数時間で売り切れとなり、
総額は約1億8000万円にのぼるという。
「アートは私が自分自身を表現し、言葉では不可能なやり方で人々を
驚かせるのためのもの」と述べている。
これまでにヘイズ氏は、NFTで1394ETH(約6億6000万円)を稼ぎ出してきた。
若きアーティストのさらなる活躍に期待しよう。
12歳のナイラ・ヘイズ氏のNFT(※)コレクションが、数時間で160万ドル(約1億8000万円)
を稼ぎ出したと、米メディアの『Business Insider』が報じている。
ヘイズ氏は4歳で絵を描き始め、9歳のときにスマートフォンを使って彼女の代表作
「Long Neckie Ladies」を描いたという。このシリーズは3333点からなる、首の長い
多種多様な女性を描いたコレクションだ。出品後わずか数時間で売り切れとなり、
総額は約1億8000万円にのぼるという。
「アートは私が自分自身を表現し、言葉では不可能なやり方で人々を
驚かせるのためのもの」と述べている。
これまでにヘイズ氏は、NFTで1394ETH(約6億6000万円)を稼ぎ出してきた。
若きアーティストのさらなる活躍に期待しよう。
128デフォルトの名無しさん (ワッチョイ 7b24-8o0J)
2021/12/21(火) 20:26:03.81ID:A1/tNWXn0 >>127
マネーロンダリング定期
マネーロンダリング定期
129デフォルトの名無しさん (ワッチョイ 1f02-O/WW)
2021/12/21(火) 23:18:04.09ID:F5aAVbmG0 c# winForms webView2
Form1にウェブビューとボタンを配置しました。
表示したwebサイトの方のボタンを、コードで指定して押させたいんだけどできますか?
(フォームに配置したボタンを押すと、HTMLの方のボタンが押される)
Form1にウェブビューとボタンを配置しました。
表示したwebサイトの方のボタンを、コードで指定して押させたいんだけどできますか?
(フォームに配置したボタンを押すと、HTMLの方のボタンが押される)
130デフォルトの名無しさん (ワッチョイ 6a8e-qezp)
2021/12/22(水) 00:11:20.30ID:jK1jR4AH0 できます
131デフォルトの名無しさん (ワッチョイ 1f02-O/WW)
2021/12/22(水) 00:15:56.40ID:3dt5vZu90 ありがと!
お手数おかけしますがどなたか教えてください
お手数おかけしますがどなたか教えてください
132デフォルトの名無しさん (ワッチョイ 1f02-O/WW)
2021/12/22(水) 00:20:23.33ID:3dt5vZu90 >>129ですが
実装の仕方を知りたいです...
実装の仕方を知りたいです...
133デフォルトの名無しさん (アウアウウー Sa9f-f5lq)
2021/12/22(水) 00:31:14.60ID:b3HiuJNda form上のボタン押したら、web上のボタンを押すためのjavascriptをwebview2に突っ込む
詳しくは WebView2.ExecuteScriptAsync をぐぐれば出てくる
詳しくは WebView2.ExecuteScriptAsync をぐぐれば出てくる
134デフォルトの名無しさん (ワッチョイ 535f-eATD)
2021/12/22(水) 08:04:47.48ID:UZclHfmg0 JavaのSpringフレームワークみたいにウェブサービス関係を学ぶにはASP.netでいいのですか?
net coreとかnet6とか用語が新しくできてASP.NETは廃止されたりしてませんか?
net coreとかnet6とか用語が新しくできてASP.NETは廃止されたりしてませんか?
135デフォルトの名無しさん (ワッチョイ eaad-+GC8)
2021/12/22(水) 12:23:03.79ID:Af2fhJsR0 >>134
されてません
されてません
136デフォルトの名無しさん (ワッチョイ 8a47-WIuU)
2021/12/22(水) 12:47:15.14ID:xFuE7Z410 >>134
今ならASP.net coreですね
今ならASP.net coreですね
137デフォルトの名無しさん (ワッチョイ 535f-eATD)
2021/12/22(水) 13:17:51.59ID:UZclHfmg0138デフォルトの名無しさん (ワッチョイ 9749-i1tV)
2021/12/22(水) 16:32:03.68ID:Gb4RQ3pz0 .NET 6 のASP.NET Core Web Apiでの質問です。
[ApiController]
[Route("[controller]")]
public class UserController : ControllerBase
{
private readonly ILogger<UserController> _logger;
private readonly IConfiguration _config;
public UserController(ILogger<UserController> logger, IConfiguration config, IBearerTokenValidater bearer)
{
_logger = logger;
_config = config;
}
[HttpGet(Name = "GetUsers")]
public string Get()
{
★ var _ = Request.Headers.TryGetValue("Bearer", out var apiKey);
return apiKey;
}
}
というControllerを作りました。
★の処理を本当はコンストラクタで行いたいのですが、移動すると以下のエラーが出ます。(もしくはもっと前に行いたい)
System.NullReferenceException: 'Object reference not set to an instance of an object.'
Microsoft.AspNetCore.Mvc.ControllerBase.Request.get が null を返しました。
★の処理をコンストラクタ(もしくはもっと前)で行うにはどうすればいいでしょうか。
(コンストラクタではHttpcontextを参照できないのでしょうか。エラーになるのは起動時ではなくRequestで到達した時です。)
[ApiController]
[Route("[controller]")]
public class UserController : ControllerBase
{
private readonly ILogger<UserController> _logger;
private readonly IConfiguration _config;
public UserController(ILogger<UserController> logger, IConfiguration config, IBearerTokenValidater bearer)
{
_logger = logger;
_config = config;
}
[HttpGet(Name = "GetUsers")]
public string Get()
{
★ var _ = Request.Headers.TryGetValue("Bearer", out var apiKey);
return apiKey;
}
}
というControllerを作りました。
★の処理を本当はコンストラクタで行いたいのですが、移動すると以下のエラーが出ます。(もしくはもっと前に行いたい)
System.NullReferenceException: 'Object reference not set to an instance of an object.'
Microsoft.AspNetCore.Mvc.ControllerBase.Request.get が null を返しました。
★の処理をコンストラクタ(もしくはもっと前)で行うにはどうすればいいでしょうか。
(コンストラクタではHttpcontextを参照できないのでしょうか。エラーになるのは起動時ではなくRequestで到達した時です。)
139デフォルトの名無しさん (ワッチョイ a6da-SJTP)
2021/12/22(水) 17:24:08.56ID:GlBmoaYS0 >>138
Requestヘッダにアクセスするユーティリティクラスを作ってそれをDIする。
ちょっとstackoverflow検索すれば出てくると思うが。
https://stackoverflow.com/questions/24024291/web-api-read-header-value-in-controller-constructor
まぁAPIキーを調べたいなら、いちいちControllerでやるより
StartUpの段階で検証処理を割り込ませておくのが定石だと思うが。
Requestヘッダにアクセスするユーティリティクラスを作ってそれをDIする。
ちょっとstackoverflow検索すれば出てくると思うが。
https://stackoverflow.com/questions/24024291/web-api-read-header-value-in-controller-constructor
まぁAPIキーを調べたいなら、いちいちControllerでやるより
StartUpの段階で検証処理を割り込ませておくのが定石だと思うが。
140デフォルトの名無しさん (ワッチョイ 7bd3-oRuC)
2021/12/22(水) 19:57:47.15ID:gZ1M8pW10 char[] str = { 'A', 'A', 'A', '\0' };
Span<char> span = str.AsSpan();
char[]型からSpan<char>型へは、AsSpan()を使って取り出せるのですが、
Span<char>型からchar[]型へ、取り出す方法はないのでしょうか?
SpanのToArray()は新しい配列を作ってしまうので、それではないです
Span<char> span = str.AsSpan();
char[]型からSpan<char>型へは、AsSpan()を使って取り出せるのですが、
Span<char>型からchar[]型へ、取り出す方法はないのでしょうか?
SpanのToArray()は新しい配列を作ってしまうので、それではないです
141デフォルトの名無しさん (ワッチョイ dabd-lbJU)
2021/12/22(水) 20:11:28.65ID:LzRptcUf0 List〈staring〉の中に複数四角の座標点が入っていて、四角と四角重なってるものを再計算して重なりがなくなるまで繰り返したいんですが、これは無限ループですよね?
重なった時の再計算方法は別にしてコードの構成ってどうやってやるのか教えて欲しいです。
重なった時の再計算方法は別にしてコードの構成ってどうやってやるのか教えて欲しいです。
142デフォルトの名無しさん (ワッチョイ bea7-4tmb)
2021/12/22(水) 20:18:40.21ID:epvDktEA0143デフォルトの名無しさん (ラクッペペ MMe6-8gNF)
2021/12/22(水) 20:25:56.04ID:svF48xPZM144デフォルトの名無しさん (アウアウウー Sa9f-f5lq)
2021/12/22(水) 20:54:43.67ID:ASx8K7vaa 2つの四角が重なってたら最大5つの四角に分割するってことなのかな
こんな関数用意して全組み合わせのstaringが分割しなくなるまでぶんまわす
List<staring> 分割処理(staring a, staring b)
{ (aとbが重なってたら分割して返す)}
こんな関数用意して全組み合わせのstaringが分割しなくなるまでぶんまわす
List<staring> 分割処理(staring a, staring b)
{ (aとbが重なってたら分割して返す)}
145sage (ワッチョイ 1f02-O/WW)
2021/12/22(水) 21:36:42.01ID:3dt5vZu90 >>133
ありがとうございます
ありがとうございます
146デフォルトの名無しさん (ワッチョイ dabd-lbJU)
2021/12/22(水) 22:51:01.68ID:LzRptcUf0 携帯なので伝わるかあれですが、まず元リスト(oLst)を
昇順に並び替えた上で下記のループを通すと1個に対して1個の重なりに関しては問題ないんですけど、2個3個と重なるともちろん無理なんですけど、、、、
======================
for oLst ループ
※数値変数格納
if nLst.Countが0はoLst[i]をadd
else
for nLstのloop
※数値変数格納
※oLst変数とnLst変数で重なり計算
計算結果でnLst書き換え、追加
======================
昇順に並び替えた上で下記のループを通すと1個に対して1個の重なりに関しては問題ないんですけど、2個3個と重なるともちろん無理なんですけど、、、、
======================
for oLst ループ
※数値変数格納
if nLst.Countが0はoLst[i]をadd
else
for nLstのloop
※数値変数格納
※oLst変数とnLst変数で重なり計算
計算結果でnLst書き換え、追加
======================
147デフォルトの名無しさん (ワッチョイ 6a8e-qezp)
2021/12/22(水) 23:11:35.00ID:jK1jR4AH0 ロジック(頭)の問題だからスレチ
148デフォルトの名無しさん (ワッチョイ bea7-4tmb)
2021/12/23(木) 00:31:07.80ID:OWAFmQuW0 重なってたらどうするん?
重なってたら重ならないように移動って処理なら無限ループありえるよ
そもそも与えられた領域に対して四角形の面積のが大きかったらどう処理しようが重ならないようにするのは不可能でしょ
重なってたら重ならないように移動って処理なら無限ループありえるよ
そもそも与えられた領域に対して四角形の面積のが大きかったらどう処理しようが重ならないようにするのは不可能でしょ
149デフォルトの名無しさん (ワッチョイ 7e33-bJft)
2021/12/23(木) 01:52:30.77ID:xiJKAqfg0 質問者c#使う気ナッシングでワロタ
150デフォルトの名無しさん (ブーイモ MM17-eDst)
2021/12/23(木) 06:06:41.21ID:9nVKwS0QM 学校の課題が出る季節なのか?
151デフォルトの名無しさん (ワッチョイ 9749-i1tV)
2021/12/23(木) 09:21:59.12ID:QC2UxaCs0 >>139
返信ありがとうございます。
やっぱりどこかで取ってからDIしたほうがいいですよね
.NET 5 まではStartupでいろいろやってたんですが、
.NET 6 のASP.NET Core WebだとStartup.cs自体やConfigure周りがないんですよね・・・
(少なくともプロジェクト作成時点で)
なので起動後、URLアクセス時点でコントローラに直に行ってるように見えます・・
.NET 6のググラビリティもそんな良くないですが、
DI自体はbuilder.Services.AddTransientあたりでできているので、そっちで出来ないか、
最悪はStartupを自作出来ないかまた調べてみます!
返信ありがとうございます。
やっぱりどこかで取ってからDIしたほうがいいですよね
.NET 5 まではStartupでいろいろやってたんですが、
.NET 6 のASP.NET Core WebだとStartup.cs自体やConfigure周りがないんですよね・・・
(少なくともプロジェクト作成時点で)
なので起動後、URLアクセス時点でコントローラに直に行ってるように見えます・・
.NET 6のググラビリティもそんな良くないですが、
DI自体はbuilder.Services.AddTransientあたりでできているので、そっちで出来ないか、
最悪はStartupを自作出来ないかまた調べてみます!
152デフォルトの名無しさん (ワッチョイ 7b24-8o0J)
2021/12/23(木) 09:47:09.94ID:lsirm1I00 >>140
君はspanの実態がchar[] strと知ってるかもしれないけど言語側からはそんなこと分からないからそれは無理だね
char[]含めマネージ型はアンセーフな方法で作る事は不可能なので、もしそのspanの実態がstackallocとかだとしたら大変な事になるし
どうしてもやりたいならMemory<T>を使えばできる
君はspanの実態がchar[] strと知ってるかもしれないけど言語側からはそんなこと分からないからそれは無理だね
char[]含めマネージ型はアンセーフな方法で作る事は不可能なので、もしそのspanの実態がstackallocとかだとしたら大変な事になるし
どうしてもやりたいならMemory<T>を使えばできる
153デフォルトの名無しさん (ワッチョイ a6da-SJTP)
2021/12/23(木) 14:18:00.17ID:D5zS0GJt0 >>151
.NET6でもStartupがC#9.0のトップレベル構文に変わってProgram.csに組み込まれただけでしょ?
例えばJWTならProgram.csで以下のように検証処理を登録可能じゃないのかな
using (var serviceScope = app.Services.CreateScope())
{
services.AddAuthentication( JwtBearerDefaults.AuthenticationScheme ).AddJwtBearer( options => ほげほげ);
};
でservice取得して.NET5以前のConfigureServices相当の処理が出来ると思うが。
(というか出来ないと困るw)
.NET6でもStartupがC#9.0のトップレベル構文に変わってProgram.csに組み込まれただけでしょ?
例えばJWTならProgram.csで以下のように検証処理を登録可能じゃないのかな
using (var serviceScope = app.Services.CreateScope())
{
services.AddAuthentication( JwtBearerDefaults.AuthenticationScheme ).AddJwtBearer( options => ほげほげ);
};
でservice取得して.NET5以前のConfigureServices相当の処理が出来ると思うが。
(というか出来ないと困るw)
154デフォルトの名無しさん (ワッチョイ a6da-SJTP)
2021/12/23(木) 14:20:58.23ID:D5zS0GJt0 services取得する文が抜けてた失礼
using (var serviceScope = app.Services.CreateScope())
{
var services = serviceScope.ServiceProvider;
services.AddAuthentication( JwtBearerDefaults.AuthenticationScheme ).AddJwtBearer( options => ほげほげ);
};
using (var serviceScope = app.Services.CreateScope())
{
var services = serviceScope.ServiceProvider;
services.AddAuthentication( JwtBearerDefaults.AuthenticationScheme ).AddJwtBearer( options => ほげほげ);
};
155デフォルトの名無しさん (ワッチョイ 9749-i1tV)
2021/12/23(木) 16:52:51.25ID:QC2UxaCs0 >>153
ありがとうございました。
コードまで書いてもらってすみません。
Jwtでのやりかたは
https://www.c-sharpcorner.com/article/jwt-token-authentication-and-authorizations-in-net-core-6-0-web-api/
のやりかたで出来ました(サービスのDIみたいな。staticですが)
ですが今回は、JWTでなく独自のランダム文字列で、DBで検証したいと思っています。
AddAuthenticationは参考になりました!
.NET 5 ではAuthenticationHandlerを継承しHandleAuthenticateAsyncをオーバーライドしてrequestを処理してました。。
いまだにHttpContextをコンストラクタ前に参照するやり方がわかりませんが、悩んでみます。
しかし、requestHeaderを全URLでDBで解析したいってだけなので、本来複雑になるのもおかしいんですよね・・・
FilterもちょっとアレですしJwtにしても複雑になっててちょっとな・・・
ありがとうございました。
コードまで書いてもらってすみません。
Jwtでのやりかたは
https://www.c-sharpcorner.com/article/jwt-token-authentication-and-authorizations-in-net-core-6-0-web-api/
のやりかたで出来ました(サービスのDIみたいな。staticですが)
ですが今回は、JWTでなく独自のランダム文字列で、DBで検証したいと思っています。
AddAuthenticationは参考になりました!
.NET 5 ではAuthenticationHandlerを継承しHandleAuthenticateAsyncをオーバーライドしてrequestを処理してました。。
いまだにHttpContextをコンストラクタ前に参照するやり方がわかりませんが、悩んでみます。
しかし、requestHeaderを全URLでDBで解析したいってだけなので、本来複雑になるのもおかしいんですよね・・・
FilterもちょっとアレですしJwtにしても複雑になっててちょっとな・・・
156デフォルトの名無しさん (ワッチョイ 7bd3-oRuC)
2021/12/23(木) 17:22:50.07ID:ZRc9iK9X0157デフォルトの名無しさん (ワッチョイ d32d-8t7q)
2021/12/24(金) 13:32:10.30ID:XCrVpQjR0 オブジェクトをバイナリで直列化するにゃ結局どうすりゃええんじゃ。
binaryFormatterはASPじゃ使えんし、nugetで見つけたBinarySerializerも
すぐ無限ループで止まるし遅いしで使えなさそう。
JsonSerializer感覚で使えるバイナリのシリアライザは無いんか……
binaryFormatterはASPじゃ使えんし、nugetで見つけたBinarySerializerも
すぐ無限ループで止まるし遅いしで使えなさそう。
JsonSerializer感覚で使えるバイナリのシリアライザは無いんか……
158デフォルトの名無しさん (アウアウウー Sadd-j5Xv)
2021/12/24(金) 14:34:05.08ID:dgPpP4/Qa バイナリであることに意味があるとは思えないので(だって全てはバイナリだから)
要するに吐き出すサイスが小さい and/or 高速であればいいんだよね?
いや答えは持ってないけどw
要するに吐き出すサイスが小さい and/or 高速であればいいんだよね?
いや答えは持ってないけどw
159デフォルトの名無しさん (ブーイモ MM5b-4VuR)
2021/12/24(金) 14:52:18.99ID:QunxCEetM MSは廃止されたWCFの代替としてgrpcを推奨してるから、バイナリ形式のシリアライザはprotobufでいいんじゃね
160デフォルトの名無しさん (ワッチョイ d32d-8t7q)
2021/12/24(金) 16:56:42.12ID:XCrVpQjR0 >>158
せや。今ワイは差分データを管理してオブジェクトグラフの去就を眺められるようなアプリを作っとるんやが、
バイナリにすりゃ20バイトのデータがJsonを経由すると5倍とかに膨れてまうんや。
そんだけ差があると1000オブジェクトの各1000差分で100MBとか差が出ちまうわけで。
ここをもっと高圧縮+高速展開できるフォーマットにしたいんや。
せや。今ワイは差分データを管理してオブジェクトグラフの去就を眺められるようなアプリを作っとるんやが、
バイナリにすりゃ20バイトのデータがJsonを経由すると5倍とかに膨れてまうんや。
そんだけ差があると1000オブジェクトの各1000差分で100MBとか差が出ちまうわけで。
ここをもっと高圧縮+高速展開できるフォーマットにしたいんや。
161デフォルトの名無しさん (ワッチョイ 3fae-p1N6)
2021/12/24(金) 16:58:00.07ID:hnRiR98X0 し、し・・・尻洗い座
162デフォルトの名無しさん (アウアウウー Sa71-+Efm)
2021/12/24(金) 16:59:17.78ID:dl4nCBdHa あのclassもこのclassもなんでもかんでもシリアライズしたいんだ、じゃなくて特定のデータか
ならbinarywriterで十分だろ
というか、binaryformatterよりもはるかにいいだろ
ならbinarywriterで十分だろ
というか、binaryformatterよりもはるかにいいだろ
163デフォルトの名無しさん (ワッチョイ d32d-8t7q)
2021/12/24(金) 17:03:08.03ID:XCrVpQjR0 binaryWriterでやりくりするにもインスタンスが持ってる別のオブジェクトの参照をどうするか問題が面倒すぎるやろ。
binaryFormatterならその辺はスルーできるわけで。
binaryFormatterならその辺はスルーできるわけで。
164デフォルトの名無しさん (ワッチョイ 9978-bp1O)
2021/12/24(金) 18:37:43.23ID:7pq3d27z0 >>163
MessagePack for C#
MessagePack for C#
165デフォルトの名無しさん (スッップ Sdaf-kITW)
2021/12/25(土) 11:18:28.56ID:/ADmtxYCd フォームにいろいろ書き込んだ内容を印刷したんですけど、フォーム直印刷だとリストビューとかあるので見きらないんで、なんかいい方法ないですか?
Excelに貼るとかですかね?
Excelに貼るとかですかね?
166デフォルトの名無しさん (ワッチョイ 0124-SPNH)
2021/12/25(土) 13:13:26.63ID:R3AeJQpZ0 >>160
速度、データサイズ共に最高な汎用シリアライズフォーマットはGoogleが開発したProtocol Buffers
速度、データサイズ共に最高な汎用シリアライズフォーマットはGoogleが開発したProtocol Buffers
167デフォルトの名無しさん (ワッチョイ b101-j5Xv)
2021/12/25(土) 15:24:03.77ID:sZ4+jXNJ0 >>161
パナソニックがお勧め。
パナソニックがお勧め。
168デフォルトの名無しさん (アウアウウー Sadd-j5Xv)
2021/12/25(土) 16:31:25.59ID:lta8bYVGa169デフォルトの名無しさん (オッペケ Sra9-YdH9)
2021/12/25(土) 18:32:48.38ID:R611sM/xr WinFormsのデスクトップアプリ開発でデスクトップアプリ内に組み込むデータベースはSQLiteしかないですか?
むしろSQLiteが最適ですかね?
むしろSQLiteが最適ですかね?
170デフォルトの名無しさん (ワッチョイ 9347-ev7J)
2021/12/25(土) 18:57:35.10ID:uQo3kTST0 >>169
accessのファイル形式のmdbとかaccdbとか
accessのファイル形式のmdbとかaccdbとか
171デフォルトの名無しさん (ワッチョイ 9978-bp1O)
2021/12/25(土) 19:33:35.62ID:bx014roB0 >>169
LiteDBもSQLiteと同じシングルファイルだから運用楽でオススメ
LiteDBもSQLiteと同じシングルファイルだから運用楽でオススメ
172デフォルトの名無しさん (オッペケ Sra9-YdH9)
2021/12/25(土) 19:57:51.53ID:R611sM/xr173デフォルトの名無しさん (ワッチョイ 6b8e-V3ae)
2021/12/25(土) 20:10:02.35ID:/fiswOOz0 >>172
馬鹿って人の言うことに耳を傾けないから馬鹿なんだよな
馬鹿って人の言うことに耳を傾けないから馬鹿なんだよな
174デフォルトの名無しさん (アウアウウー Sa71-ps/A)
2021/12/25(土) 20:37:46.29ID:gvd3przGa こいつが部下だったらちょっとキレるかもしれんw
175デフォルトの名無しさん (ワッチョイ 1f18-B4r9)
2021/12/25(土) 20:42:32.18ID:5ppS8Aaq0 理系ってバカ文系にいくら説明しても無駄だと散々経験してるから無視するよね。
176デフォルトの名無しさん (アウアウウー Sa71-+Efm)
2021/12/25(土) 20:43:40.19ID:Ba+2nHZ/a litedbとかaccessよりsqliteの方がよほどいいからな。注意しないと激遅だけど
177デフォルトの名無しさん (オッペケ Sra9-YdH9)
2021/12/25(土) 20:46:17.70ID:R611sM/xr178デフォルトの名無しさん (ワッチョイ 1fda-Llus)
2021/12/25(土) 20:48:41.15ID:FMuPTmPe0 redisを使うのです
179デフォルトの名無しさん (ワッチョイ 1f18-B4r9)
2021/12/25(土) 21:00:27.06ID:5ppS8Aaq0 正直、褒めてるのかディスってるのか分からないレスだよな。
180デフォルトの名無しさん (ワッチョイ 03da-WfmY)
2021/12/25(土) 21:00:28.06ID:KekUyy+Z0 信頼性いうならSQL Server LocalDBじゃないの
181デフォルトの名無しさん (ワッチョイ 1301-uAVb)
2021/12/25(土) 21:21:27.23ID:PUQlITfY0182デフォルトの名無しさん (ワッチョイ 572c-nHKY)
2021/12/26(日) 11:01:59.91ID:bwDwv7pP0 ブラウザとか、たいていのアプリは、SQLite
183デフォルトの名無しさん (ワッチョイ 3fae-p1N6)
2021/12/26(日) 11:39:00.73ID:/Mcnum8Y0 アプリの設定の保存に便利とか?
184デフォルトの名無しさん (ワッチョイ 1301-uAVb)
2021/12/26(日) 11:43:30.10ID:Ep2AbKxF0 そもそもVisual Studio自体がSQLite使ってるし
https://qiita.com/h_matsumura/items/e1597a985de25e2ea9c8
https://qiita.com/h_matsumura/items/e1597a985de25e2ea9c8
185デフォルトの名無しさん (ワッチョイ 3fae-p1N6)
2021/12/26(日) 11:50:44.60ID:/Mcnum8Y0 そういえばATOKのジャストシステムって、内部DBは昔から自社で抱え込んでるだけだっけ?
186デフォルトの名無しさん (ワッチョイ 0124-3cBe)
2021/12/26(日) 12:01:04.09ID:+dhDC6900 ちなみにSQLiteはWindowsならwinsqlite3.dllとして組み込まれてるから別途dllをダウソする必要なくDllImport("kernel32.dll")と同じ感覚で使える
winsqlite3はstdcallだから尚更何も設定せずに呼べる
逆にオフィシャルsqlite3.dllはcdecl呼びなので注意
まぁ今時ネイティブ呼びなんて一々する奴はおらんか
winsqlite3はstdcallだから尚更何も設定せずに呼べる
逆にオフィシャルsqlite3.dllはcdecl呼びなので注意
まぁ今時ネイティブ呼びなんて一々する奴はおらんか
187デフォルトの名無しさん (ワッチョイ f701-rh2g)
2021/12/26(日) 12:35:17.11ID:CeLvnh/P0 個人的にはFirebirdがEmbeddedでもC/Sでも使い方変わらなくてとても扱いやすいけど
まあ誰も使ってないからなあ
まあ誰も使ってないからなあ
188デフォルトの名無しさん (スププ Sd57-ev7J)
2021/12/26(日) 14:15:59.80ID:3V1vzGfad >>186
nugetでラッパークラス持ってこればいいだけでしょ
nugetでラッパークラス持ってこればいいだけでしょ
189デフォルトの名無しさん (ワッチョイ 792f-WdtH)
2021/12/26(日) 18:59:54.98ID:XSCzp0/m0 チキンマックナゲット?
あれバーベキューソース以外はうまくないよね
あれバーベキューソース以外はうまくないよね
190デフォルトの名無しさん (スププ Sdaf-ev7J)
2021/12/26(日) 19:19:54.19ID:0tkG5TaRd >>189
C#er でnuget知らないのはモグリだね
C#er でnuget知らないのはモグリだね
191デフォルトの名無しさん (ワッチョイ ebad-wz/S)
2021/12/26(日) 19:21:20.78ID:za+d+iaN0 >>189
マスタード結構好きやで
マスタード結構好きやで
192デフォルトの名無しさん (アウアウウー Sab3-Td/R)
2021/12/27(月) 09:55:41.47ID:wVOMt1/ia me too
193デフォルトの名無しさん (ワッチョイ cf01-epTM)
2021/12/27(月) 11:45:32.82ID:vQCGjWOK0 マックはやっぱり朝マック
ソーセージマフィンとハッシュポテト最高
ソーセージマフィンとハッシュポテト最高
194デフォルトの名無しさん (ブーイモ MM5b-2F4e)
2021/12/27(月) 11:50:50.36ID:70kYKKIvM ここ1年ぐらいで急に最近もの忘れが増えた
なんでだろう
カルボナーラのレシピ間違えて大失敗
(´Д`)ハァ…
なんでだろう
カルボナーラのレシピ間違えて大失敗
(´Д`)ハァ…
195デフォルトの名無しさん (ワッチョイ 8da7-knFX)
2021/12/27(月) 23:31:50.52ID:j+U+mLOY0196デフォルトの名無しさん (アウアウウー Sadd-j5Xv)
2021/12/28(火) 03:27:40.46ID:fTNrE9qna197デフォルトの名無しさん (ワッチョイ 495f-jX8X)
2021/12/28(火) 14:41:54.41ID:KhNUA+lU0 .Net 6 を利用してlinuxで開発することは不可能ですか?
ほとんどWindowsの記事しかないのですが、できないと考えていいでしょうか?
ほとんどWindowsの記事しかないのですが、できないと考えていいでしょうか?
198デフォルトの名無しさん (ワッチョイ 495f-jX8X)
2021/12/28(火) 14:42:14.18ID:KhNUA+lU0 .Net 6 を利用してGUIソフトをlinuxで開発することは不可能ですか?
ほとんどWindowsの記事しかないのですが、できないと考えていいでしょうか?
ほとんどWindowsの記事しかないのですが、できないと考えていいでしょうか?
199デフォルトの名無しさん (アウアウウー Sa71-+Efm)
2021/12/28(火) 15:07:47.70ID:x0tKn+Lqa .net6はlinux対応してるし、linux対応のvscodeなんかもあるから十分linux完結でできるだろ
やったことないからどんなトラブル起きるか知らないけど
やったことないからどんなトラブル起きるか知らないけど
200デフォルトの名無しさん (ワッチョイ 5333-+mB7)
2021/12/28(火) 15:48:12.29ID:nNq9VLvH0 コンソールとかならできると思うけど、GUIはどうなんだろう?
Xamarin.Formsとかでいけるんかね?
Xamarin.Formsとかでいけるんかね?
201デフォルトの名無しさん (ワッチョイ b342-t0J7)
2021/12/28(火) 16:09:42.66ID:onzdS06W0 unoというUWPアプリを作ると、スマホやリナックス、webに翻訳してくれるソリューションがあるな
202デフォルトの名無しさん (テテンテンテン MM97-garQ)
2021/12/28(火) 16:26:15.60ID:I0zktY0qM AvaroniaUIってどうなったんだ
マイナーすぎて消えた?
XAMLじゃ流行らんよな。。。
マイナーすぎて消えた?
XAMLじゃ流行らんよな。。。
203デフォルトの名無しさん (アウアウウー Sa71-+Efm)
2021/12/28(火) 16:29:45.08ID:x0tKn+Lqa mauiすら忘れ去られてる感じだな
204デフォルトの名無しさん (テテンテンテン MM97-garQ)
2021/12/28(火) 16:39:43.27ID:X7A0KCITM XamlもBlazorも微妙なんでXMLリテラル導入してJSXパクってCSXとかやれば良いのに
205デフォルトの名無しさん (ワッチョイ 2bad-gjQl)
2021/12/29(水) 00:23:49.09ID:CdP0np+t0 >>202
最近 git credential manager で採用されたから君も実は使ってるんじゃない?
最近 git credential manager で採用されたから君も実は使ってるんじゃない?
206デフォルトの名無しさん (ワッチョイ a101-Zi6h)
2021/12/29(水) 00:52:47.99ID:O0eaohY80 guiはラズパイでwinformが起動はしたけどちょっと動かしただけでアレがねーコレがねーでコケまくったので諦めた
コンソールアプリはサーバ用途でcから置き換えたりと普通に使ってる
コンソールアプリはサーバ用途でcから置き換えたりと普通に使ってる
207デフォルトの名無しさん (オッペケ Sr1f-YdH9)
2021/12/29(水) 10:57:21.23ID:BXs4L8uGr なんでGUIって一向に解決しないんだろ
WinFormsがゴミだったからIEObjectかなんかでブラウザ表示させてそこにhtmlとcssのGUIをつくったことあったけどそれも手間で微妙だった
WinFormsがゴミだったからIEObjectかなんかでブラウザ表示させてそこにhtmlとcssのGUIをつくったことあったけどそれも手間で微妙だった
208デフォルトの名無しさん (スップ Sddb-kLRE)
2021/12/29(水) 11:23:01.28ID:8IhoLKLed209デフォルトの名無しさん (ブーイモ MM5b-EQGr)
2021/12/29(水) 12:23:55.88ID:Ra2a7YlyM エレクトロンは遅いからなー
見た目もそこそこで速くて開発が楽なフレームワークならまだ需要あると思うけど
見た目もそこそこで速くて開発が楽なフレームワークならまだ需要あると思うけど
210デフォルトの名無しさん (アウアウウー Sa71-+Efm)
2021/12/29(水) 12:34:02.62ID:YT6dcuk4a 一時期はGUIアプリのuiをwebにするの流行ったけどそれも消えたな
結局素のwinformで十分
マルチプラットフォームでのGUIアプリはそもそも需要がない
結局素のwinformで十分
マルチプラットフォームでのGUIアプリはそもそも需要がない
211デフォルトの名無しさん (アウアウウー Sadd-j5Xv)
2021/12/29(水) 13:49:36.52ID:FEkVVVGta 15年以上迷走してる最大の原因はたぶん大企業病だね
バルマーさんが「デベロッパー」連呼しなくなった頃でもあるよね
あと、ラピッドリリース的なアメリカ人好みの「ノリ」もよくない。
使えねーから利用者が増えず利用者が増えないから〜の悪循環の原因になってる。
たまたまC#と.NETは割とうまくいったけど他はだいたいこれで消えてるよね
バルマーさんが「デベロッパー」連呼しなくなった頃でもあるよね
あと、ラピッドリリース的なアメリカ人好みの「ノリ」もよくない。
使えねーから利用者が増えず利用者が増えないから〜の悪循環の原因になってる。
たまたまC#と.NETは割とうまくいったけど他はだいたいこれで消えてるよね
212デフォルトの名無しさん (ワッチョイ 2bad-gjQl)
2021/12/29(水) 15:42:21.72ID:CdP0np+t0 >>208
TeamsはElectronを捨ててWebview2に移行したし、MSはそういう流れだよ
TeamsはElectronを捨ててWebview2に移行したし、MSはそういう流れだよ
213デフォルトの名無しさん (オッペケ Sr1f-YdH9)
2021/12/29(水) 17:53:05.01ID:BXs4L8uGr GUIはWebでいいから裏はc#ってのはないの?
Electron.Netってあったみたいだがどういうのかは知らん
Electron.Netってあったみたいだがどういうのかは知らん
214デフォルトの名無しさん (ワッチョイ 2bad-gjQl)
2021/12/29(水) 18:55:45.23ID:CdP0np+t0 >>213
Webview2
Webview2
215デフォルトの名無しさん (オッペケ Sr1f-YdH9)
2021/12/29(水) 19:14:43.10ID:BXs4L8uGr >>214
ガワはWinforms、フロントGUIはWebView2でReact、裏側はc#って可能?
ガワはWinforms、フロントGUIはWebView2でReact、裏側はc#って可能?
216デフォルトの名無しさん (ワッチョイ 2bad-gjQl)
2021/12/29(水) 19:21:08.49ID:CdP0np+t0217デフォルトの名無しさん (オッペケ Sr1f-YdH9)
2021/12/29(水) 20:00:49.32ID:BXs4L8uGr218デフォルトの名無しさん (ワッチョイ 6b8e-V3ae)
2021/12/29(水) 20:52:17.04ID:Nt8x11Lh0 間違いなく理解力しとらんだろうな
219デフォルトの名無しさん (ワッチョイ b101-epTM)
2021/12/29(水) 22:09:38.99ID:1mZddh0b0 MSはwinformsをブラッシュアップするだけでいいのに
他のことに気を取られてばかり
他のことに気を取られてばかり
220デフォルトの名無しさん (オッペケ Sr1f-YdH9)
2021/12/29(水) 22:54:54.27ID:BXs4L8uGr221デフォルトの名無しさん (ワッチョイ 6d5f-0a5U)
2021/12/29(水) 23:14:59.32ID:wkYL84Sf0222デフォルトの名無しさん (ワッチョイ 8da7-knFX)
2021/12/29(水) 23:31:22.38ID:qvydRR790223デフォルトの名無しさん (ワッチョイ 9347-ev7J)
2021/12/29(水) 23:32:05.16ID:a/yruJDS0 >>221
バックエンドはC#で書きたいという要件なんだからそんなこと言っても意味ない
バックエンドはC#で書きたいという要件なんだからそんなこと言っても意味ない
224デフォルトの名無しさん (ワッチョイ 6d5f-0a5U)
2021/12/30(木) 00:18:07.99ID:bIp4jvLE0 >>223
別にasp.net coreで受けんでもC#のメソッドとWebView2内のJavaScriptのinteropはできる。
別にasp.net coreで受けんでもC#のメソッドとWebView2内のJavaScriptのinteropはできる。
225デフォルトの名無しさん (ワッチョイ 9347-ev7J)
2021/12/30(木) 00:41:07.70ID:zcLz16Vn0 >>224
そういうことじゃなくてサーバーサイドのDB処理などのビジネスロジックをC#で書きたいとか普通にある要望だろ
そういうことじゃなくてサーバーサイドのDB処理などのビジネスロジックをC#で書きたいとか普通にある要望だろ
226デフォルトの名無しさん (オッペケ Sr1f-YdH9)
2021/12/30(木) 00:57:41.55ID:aPDyoOjbr あーすまんやっぱできそうだね
https://qiita.com/NagaJun/items/baf00494e0841a5e767e
>>225
そうそう
バックエンドはc#でフロントはjs + React + bootstrapなどのcssフレームワークがいい
別にNode.jsでもいいんだがそれだともはやElectronになってしまうしこのスレ的に意味がない
とにかくWinFormsだとGUIが限界だしかといって今更wpfやuwpは使いたくない
https://qiita.com/NagaJun/items/baf00494e0841a5e767e
>>225
そうそう
バックエンドはc#でフロントはjs + React + bootstrapなどのcssフレームワークがいい
別にNode.jsでもいいんだがそれだともはやElectronになってしまうしこのスレ的に意味がない
とにかくWinFormsだとGUIが限界だしかといって今更wpfやuwpは使いたくない
227デフォルトの名無しさん (ワッチョイ 6d5f-0a5U)
2021/12/30(木) 03:45:43.54ID:bIp4jvLE0 あ、これはすまん、完全に誤解してたわ。
228デフォルトの名無しさん (ワッチョイ a9ad-nzDE)
2021/12/30(木) 05:11:02.37ID:X93R+eJ50 いいってことよ
229デフォルトの名無しさん (ワッチョイ a101-Zi6h)
2021/12/30(木) 05:24:01.14ID:ULSEZSm40 優しい世界
230デフォルトの名無しさん (ワッチョイ 3b5f-bp1O)
2021/12/30(木) 14:43:07.83ID:SV8D0i0R0 ツールバーはアイコン集めと選択が面倒で好きじゃない
231デフォルトの名無しさん (ワッチョイ 6d5f-0a5U)
2021/12/30(木) 15:52:58.20ID:bIp4jvLE0 しかしWebView2、割と良いな。
XamarinのWebViewもEdgeベースになってるので、ガワネティブはホントに捗るかも。
XamarinのWebViewもEdgeベースになってるので、ガワネティブはホントに捗るかも。
232デフォルトの名無しさん (ワッチョイ 9978-bp1O)
2021/12/30(木) 18:29:16.67ID:fY9tDQGH0 WebView2ってhtmlやcss、javascriptの知識が必須でしょ?
一から覚えるのは少し敷居が高すぎるんだよなぁ
一から覚えるのは少し敷居が高すぎるんだよなぁ
233デフォルトの名無しさん (ワッチョイ a9ad-nzDE)
2021/12/30(木) 19:10:45.85ID:X93R+eJ50 cssはなくてもええんやで
234デフォルトの名無しさん (オッペケ Sr1f-YdH9)
2021/12/30(木) 19:31:49.55ID:5ETdhzffr htmlやcssやったことがないならムリだろうね
俺は25年くらいやってるからむしろ何も考えずに作れる
俺は25年くらいやってるからむしろ何も考えずに作れる
235デフォルトの名無しさん (ワッチョイ 6d5f-0a5U)
2021/12/30(木) 19:34:16.23ID:bIp4jvLE0 >>232
XAMLで日本地図書いてホクホクしてた連中にとっては割と朝飯前だと思うぞ。
XAMLで日本地図書いてホクホクしてた連中にとっては割と朝飯前だと思うぞ。
236デフォルトの名無しさん (ワッチョイ 0124-3cBe)
2021/12/30(木) 20:30:29.11ID:Q51k9VIp0 どっちにしても今時htmlとjsは避けて通れないやろ
スクレイピングツールの一つや二つは作るだろうし
スクレイピングツールの一つや二つは作るだろうし
237デフォルトの名無しさん (ワッチョイ 2b01-/iW8)
2021/12/30(木) 20:32:40.49ID:JgkxYzDs0 bootstrap5は使えないの?
238デフォルトの名無しさん (ワッチョイ 9f5f-nHKY)
2021/12/30(木) 20:41:45.42ID:eW25y3/J0 表 html css javascript
裏 C#
で開発するのって効率的なのか?
裏 C#
で開発するのって効率的なのか?
239デフォルトの名無しさん (テテンテンテン MM97-garQ)
2021/12/30(木) 20:46:42.24ID:Zu0xfojoM フロント開発はReactが多分ベストなんで仕方なくJSかAltJSを使います
バックエンドは強い制約がないので好きな言語を使えばいいでしょう
そして自由に選べるならC#より快適な言語なんてありません
バックエンドは強い制約がないので好きな言語を使えばいいでしょう
そして自由に選べるならC#より快適な言語なんてありません
240デフォルトの名無しさん (ブーイモ MMc1-CT45)
2021/12/30(木) 20:47:53.26ID:QTRHqfCgM241デフォルトの名無しさん (ワッチョイ 9f5f-nHKY)
2021/12/30(木) 20:53:16.32ID:eW25y3/J0 時代遅れのWindowsフォームからそろそろ逃げ出す先がほしいってことだよね
Web技術が好きならReact Native for Windows + macOSが選択肢になるんじゃないかな
Web技術が好きならReact Native for Windows + macOSが選択肢になるんじゃないかな
242デフォルトの名無しさん (ワッチョイ a101-Zi6h)
2021/12/30(木) 23:12:19.19ID:ULSEZSm40 c#スレですよ
c#で積み上げたライブラリを別言語で書き直すのヤダ!派に救いの手を
c#で積み上げたライブラリを別言語で書き直すのヤダ!派に救いの手を
243デフォルトの名無しさん (オッペケ Srbb-Ec79)
2021/12/31(金) 00:36:27.02ID:geAImU1qr >>238
リッチなGUIにしたいときだけかな
リッチなGUIにしたいときだけかな
244デフォルトの名無しさん (ワッチョイ bb5f-g2Am)
2021/12/31(金) 03:13:26.16ID:AHpR20H50 何年か前からだけどC#は目的がはっきりしてる人が使う言語になった感じがする
スキルの価値とか気にする人には全く向かない
システムプログラミング用の言語とスクリプト言語だけあればいい世界になってきた感じ
C#のような立ち位置の言語の利用シーンが広がっていくことはないのではないだろうか
スキルの価値とか気にする人には全く向かない
システムプログラミング用の言語とスクリプト言語だけあればいい世界になってきた感じ
C#のような立ち位置の言語の利用シーンが広がっていくことはないのではないだろうか
245デフォルトの名無しさん (ワッチョイ 6301-cFo6)
2021/12/31(金) 03:41:36.53ID:ScgFuRuP0 何故そう思ったのかわからん
全然ピンとこない
全然ピンとこない
246デフォルトの名無しさん (ワッチョイ 5bb0-m7xg)
2021/12/31(金) 09:41:30.53ID:ApQoIWIb0247デフォルトの名無しさん (ワッチョイ ba47-3i6b)
2021/12/31(金) 09:45:47.30ID:1BOJjA0/0 >>246
スタンドアロンの話はしてないだろ
スタンドアロンの話はしてないだろ
248デフォルトの名無しさん (ワッチョイ 7fad-CykR)
2021/12/31(金) 09:48:56.35ID:XRzC6nSy0 スタンドアロンの話だろ
249デフォルトの名無しさん (アウアウウー Sac7-TuUh)
2021/12/31(金) 09:50:52.09ID:i/j6j8jEa 角が丸い四角や吹き出しや、そういうのGUIを純粋なC#で作るの面倒なんだよ
そういうときにhtml/css/javascript使うと簡単に作れる。スタンドアロンでもそういう構成にすると手間が減るんだよ
俺は手間かけてc#でやる方が好きだけど。html使いだすとソースがごちゃごちゃして最悪だしオーバーヘッドも大きいから
そういうときにhtml/css/javascript使うと簡単に作れる。スタンドアロンでもそういう構成にすると手間が減るんだよ
俺は手間かけてc#でやる方が好きだけど。html使いだすとソースがごちゃごちゃして最悪だしオーバーヘッドも大きいから
250デフォルトの名無しさん (ブーイモ MM26-t9H8)
2021/12/31(金) 10:03:43.42ID:xJV3dJ+lM251デフォルトの名無しさん (オッペケ Srbb-Ec79)
2021/12/31(金) 10:54:23.68ID:7PtxpeiFr >>250
良さげ!
良さげ!
252デフォルトの名無しさん (ワッチョイ bb5f-dlbi)
2021/12/31(金) 13:24:39.29ID:FNrpfdyG0253デフォルトの名無しさん (ワッチョイ 8b01-9EuL)
2021/12/31(金) 14:04:55.17ID:i4wD88hA0 WinFormsで何の問題もない
254デフォルトの名無しさん (アウアウウー Sac7-h6Ia)
2021/12/31(金) 14:36:27.18ID:e+iXUqyka255デフォルトの名無しさん (アウアウウー Sac7-h6Ia)
2021/12/31(金) 14:43:15.34ID:e+iXUqyka256デフォルトの名無しさん (ワッチョイ bb5f-g2Am)
2021/12/31(金) 14:52:08.44ID:AHpR20H50 コードで角を丸くするのってそんな大変だったっけ・・・
257デフォルトの名無しさん (アウアウウー Sac7-TuUh)
2021/12/31(金) 15:02:56.34ID:PZrDxaJGa 角丸めるだけなら簡単だなw
でも丸めるだけだとダサいだろ。そういうデザインのことだよ
でも丸めるだけだとダサいだろ。そういうデザインのことだよ
258デフォルトの名無しさん (ブーイモ MM7f-gyb8)
2021/12/31(金) 15:04:09.93ID:ONP3ZHucM こういうビジュアルデザインの実装に対する方法論って、ガチのWeb開発をやったことがある奴とない奴とでは話が通じにくいんだよね
この線とこの線は何ptの太さで間に何ptの隙間があって色は#aaff12でとか指定されるんだぞ
この線とこの線は何ptの太さで間に何ptの隙間があって色は#aaff12でとか指定されるんだぞ
259デフォルトの名無しさん (ワッチョイ 9718-ylhX)
2021/12/31(金) 15:13:44.40ID:+14EUf560 やっつけ専用言語にデザインこだわってもなぁ。
260デフォルトの名無しさん (ワッチョイ 5bb0-m7xg)
2021/12/31(金) 15:42:51.31ID:ApQoIWIb0 そもそも、一貫したUIガイドラインに沿うべきGUIと、それぞれのサイトで独自色を出したいWebの方法論って
かなり方向性がq違うからあまり混ぜないでほしいがなぁ。
かなり方向性がq違うからあまり混ぜないでほしいがなぁ。
261デフォルトの名無しさん (ワッチョイ 8b01-h6Ia)
2021/12/31(金) 15:43:49.86ID:2Zk/vij+0 混ぜたのはマイクロソフトでは?
262デフォルトの名無しさん (ワッチョイ bb5f-g2Am)
2021/12/31(金) 15:45:01.75ID:AHpR20H50 >>258
その程度なら普通にできない?
その程度なら普通にできない?
263デフォルトの名無しさん (ワッチョイ 8b01-h6Ia)
2021/12/31(金) 15:52:24.59ID:2Zk/vij+0 今年は厚生労働省が「マスクの供給は十分です」と発表したのでマスク買い溜めて、厚生労働省が「トイレットペーパーは無くなりません」と発表したので即座にトイレットペーパー買いだめしたので、一年中ウンコできたわ。
来年もこの調子で厚生労働省の流すデマに惑わされないよう生きようと思います。
来年もこの調子で厚生労働省の流すデマに惑わされないよう生きようと思います。
264デフォルトの名無しさん (ブーイモ MM7f-gyb8)
2021/12/31(金) 16:13:21.59ID:ONP3ZHucM >>262
できるかできないかで言えばそりゃできるだろうね
今日の折込チラシのうちで一番凝ったデザインのものを完全再現した画面を作るのを想像してみ
で作って見せたらここの角はやっぱり丸くしないとか影付けて強調したいとか変更が入るんだよ
WinFormsだと技術的に対応しにくい例をあげるとすれば、例えばテキストボックスを角丸にしたとして、
統一感を持たせるためにその隣りにあるボタンも同様のデザインにしたくなったとする
こういうのはCSSなら一瞬だけど、WinFormsなら一大事だよね
できるかできないかで言えばそりゃできるだろうね
今日の折込チラシのうちで一番凝ったデザインのものを完全再現した画面を作るのを想像してみ
で作って見せたらここの角はやっぱり丸くしないとか影付けて強調したいとか変更が入るんだよ
WinFormsだと技術的に対応しにくい例をあげるとすれば、例えばテキストボックスを角丸にしたとして、
統一感を持たせるためにその隣りにあるボタンも同様のデザインにしたくなったとする
こういうのはCSSなら一瞬だけど、WinFormsなら一大事だよね
265デフォルトの名無しさん (ワッチョイ bb5f-dlbi)
2021/12/31(金) 16:14:58.78ID:FNrpfdyG0 >>255
これはわかる。
俺はロジックではない部分は積極的に外に出してしまいたいし、誰でもできるようにしておきたいなと思う。
そういう部分で、HTML+CSSでテンプレート作るのは滅茶苦茶ラクだよなぁって思ってる。
角丸ぐらいだったら良いんだけど、みんな無茶言ってくるからな。
これはわかる。
俺はロジックではない部分は積極的に外に出してしまいたいし、誰でもできるようにしておきたいなと思う。
そういう部分で、HTML+CSSでテンプレート作るのは滅茶苦茶ラクだよなぁって思ってる。
角丸ぐらいだったら良いんだけど、みんな無茶言ってくるからな。
266デフォルトの名無しさん (ワッチョイ 8b01-h6Ia)
2021/12/31(金) 16:16:21.80ID:2Zk/vij+0 その程度なら問題なくない?
267デフォルトの名無しさん (ワッチョイ 8b01-h6Ia)
2021/12/31(金) 16:17:05.46ID:2Zk/vij+0 カレーは飲み物って人は?
268デフォルトの名無しさん (ワッチョイ 5bb0-m7xg)
2021/12/31(金) 16:30:43.26ID:ApQoIWIb0269デフォルトの名無しさん (ワッチョイ bb5f-g2Am)
2021/12/31(金) 16:47:15.22ID:AHpR20H50 まだ時代遅れのWinForms使ってる人いたのか
あれはデザイン性やUXを捨てたものしか作れないから使わないほうがいい
あれはデザイン性やUXを捨てたものしか作れないから使わないほうがいい
270デフォルトの名無しさん (ブーイモ MM26-VYHi)
2021/12/31(金) 16:56:22.55ID:4KQ1p4JtM デザイン性www
UXwwwww
UXwwwww
271デフォルトの名無しさん (ワッチョイ bb5f-dlbi)
2021/12/31(金) 16:57:44.41ID:FNrpfdyG0 >>268
実のところここは凄く楽になる。
C#側は正しくデータを入出力できる事を確認すれば良い。
JS側(というかHTML側)は与えられたJSONなりを検証して画面を正しく構築して、C#側から何かjsをevalする可能性があるならそれを全てこなせることを確認するだけ。
パキッと分けられるしどちらも自動化できる。
UIのフレームワークは業務ではReact使うことが多いけど、メンツ的な問題で個人的にはガワネイティブにはVueの方が楽だと思ってる。
流行に乗るならSvelteでも良いのでは?
実のところここは凄く楽になる。
C#側は正しくデータを入出力できる事を確認すれば良い。
JS側(というかHTML側)は与えられたJSONなりを検証して画面を正しく構築して、C#側から何かjsをevalする可能性があるならそれを全てこなせることを確認するだけ。
パキッと分けられるしどちらも自動化できる。
UIのフレームワークは業務ではReact使うことが多いけど、メンツ的な問題で個人的にはガワネイティブにはVueの方が楽だと思ってる。
流行に乗るならSvelteでも良いのでは?
272デフォルトの名無しさん (ワッチョイ bb5f-g2Am)
2021/12/31(金) 17:03:51.48ID:AHpR20H50 HTML以下でしょWinFormsは
273デフォルトの名無しさん (ワッチョイ 5bb0-m7xg)
2021/12/31(金) 17:10:31.19ID:ApQoIWIb0274デフォルトの名無しさん (ワッチョイ bb5f-dlbi)
2021/12/31(金) 17:20:57.32ID:FNrpfdyG0 >>273
UIがWebかどうかなんかあんまり関係ないのでは?
ローカルのリソース使うんだし実際あんま関係ないと思うが。
CordovaやelectronをWebと言うかどうか、みたいな問題に聞こえる。
正直WPF以降であれば、慣れの問題では?と思うけどなぁ。
UIがWebかどうかなんかあんまり関係ないのでは?
ローカルのリソース使うんだし実際あんま関係ないと思うが。
CordovaやelectronをWebと言うかどうか、みたいな問題に聞こえる。
正直WPF以降であれば、慣れの問題では?と思うけどなぁ。
275デフォルトの名無しさん (ワッチョイ 5bb0-m7xg)
2021/12/31(金) 18:17:17.40ID:ApQoIWIb0 定義はどうでもよくて、気になったのはのは実際にFormsやWPFより楽になるのかなんだが。
スタンドアロンアプリの話をしているわけじゃなさそうだからもういいけど。
スタンドアロンアプリの話をしているわけじゃなさそうだからもういいけど。
276デフォルトの名無しさん (ワッチョイ 9a01-6K9d)
2021/12/31(金) 18:37:19.76ID:CE1IM8E70 >>258
むしろそこまでキッチリ指定されてるなら面倒ではあるけど難しくはないだろ
むしろそこまでキッチリ指定されてるなら面倒ではあるけど難しくはないだろ
277デフォルトの名無しさん (ワッチョイ bb5f-dlbi)
2021/12/31(金) 19:00:48.11ID:FNrpfdyG0278デフォルトの名無しさん (ワッチョイ 9aad-sg8L)
2021/12/31(金) 19:06:50.70ID:54dO0PUs0 C#で作られたDLLでSafeFileHandleを返す関数があるんだけど
C++で呼び出すラッパーDLLを作ろうと思うんだけどどうするのがベターなんだろうか
ラッパー側でSafeFileHandleを格納するvectorとか作っておいて
Openで格納、Closeで削除するって感じでいいのだろうか
C++で呼び出すラッパーDLLを作ろうと思うんだけどどうするのがベターなんだろうか
ラッパー側でSafeFileHandleを格納するvectorとか作っておいて
Openで格納、Closeで削除するって感じでいいのだろうか
279デフォルトの名無しさん (ワッチョイ 5bb0-m7xg)
2021/12/31(金) 19:07:51.75ID:ApQoIWIb0 Svelte使うスタンドアロンアプリってのは興味深い。
280デフォルトの名無しさん (スップ Sd5a-gyb8)
2021/12/31(金) 19:11:37.16ID:DclmO4XRd >>278
C++/CLIだったら変に集中管理とかしないで普通にRAIIなラッパークラス作ればよくね
C++/CLIだったら変に集中管理とかしないで普通にRAIIなラッパークラス作ればよくね
281デフォルトの名無しさん (ワッチョイ bb5f-dlbi)
2021/12/31(金) 19:18:48.86ID:FNrpfdyG0 >>279
それ自体は既にある。
WebView2でやるのがちょっと面倒なだけで。
https://dev.to/khangnd/build-a-desktop-app-with-electron-and-svelte-44dp
それ自体は既にある。
WebView2でやるのがちょっと面倒なだけで。
https://dev.to/khangnd/build-a-desktop-app-with-electron-and-svelte-44dp
282デフォルトの名無しさん (ワッチョイ 5bb0-m7xg)
2021/12/31(金) 20:06:32.82ID:ApQoIWIb0 それでどこまで楽になるのか興味深かったんだが
>WebView2でやるのがちょっと面倒なだけで。
本末転倒やん
>WebView2でやるのがちょっと面倒なだけで。
本末転倒やん
283デフォルトの名無しさん (ワッチョイ 9718-ylhX)
2021/12/31(金) 20:09:14.87ID:+14EUf560 楽なのはVB6、winformあたりが限界で
それ以上何かやろうとしてもどんどん面倒になるだけだな。
それ以上何かやろうとしてもどんどん面倒になるだけだな。
284デフォルトの名無しさん (ワッチョイ bb5f-dlbi)
2021/12/31(金) 20:11:29.60ID:FNrpfdyG0 >>282
お前は本当に何も理解してないんだな。
WPFでつくる方がよっぽど面倒なんだよ、そもそも。
BlendとモックのDLL使ってコントロール作って貰ってたのが、Web技術で作って貰えるだけでも相当工数下がるの。
デザイナー×制作にでも作れるんだから。
お前は本当に何も理解してないんだな。
WPFでつくる方がよっぽど面倒なんだよ、そもそも。
BlendとモックのDLL使ってコントロール作って貰ってたのが、Web技術で作って貰えるだけでも相当工数下がるの。
デザイナー×制作にでも作れるんだから。
285デフォルトの名無しさん (ワッチョイ bb5f-dlbi)
2021/12/31(金) 20:12:57.99ID:FNrpfdyG0 >>283
MSがあれだけBlendを振り回して叫んでた「デザイナーと技術者で役割分担」という絵空事を解決したのは結局これというね。
MSがあれだけBlendを振り回して叫んでた「デザイナーと技術者で役割分担」という絵空事を解決したのは結局これというね。
286デフォルトの名無しさん (ワッチョイ 9718-ylhX)
2021/12/31(金) 20:14:09.02ID:+14EUf560 昔はASP案件が多かったから経験ある人はWEBまわりの学習コストが下がるがWPFはね。
287デフォルトの名無しさん (ワッチョイ bb5f-g2Am)
2021/12/31(金) 20:26:28.10ID:AHpR20H50 このスレは能力低い人が多いからWinForms以外をすすめても意味がない
あれしか理解できない
あれしか理解できない
288デフォルトの名無しさん (ワッチョイ 2702-3Acz)
2021/12/31(金) 20:29:05.37ID:F5O9+7Cr0 WinFormsで事足りる案件をそれ以上でやる意味なんてないからな
289デフォルトの名無しさん (ワッチョイ 6301-cFo6)
2021/12/31(金) 20:47:01.32ID:ScgFuRuP0 なんかwinformに一族を滅ぼされた人がいるっぽいな
290デフォルトの名無しさん (ワッチョイ 5bb0-m7xg)
2021/12/31(金) 20:54:49.37ID:ApQoIWIb0 >WPFでつくる方がよっぽど面倒なんだよ、そもそも。
>BlendとモックのDLL使ってコントロール作って貰ってたのが、Web技術で作って貰えるだけでも相当工数下がるの。
つまりhtml+jsの方が楽ってのはこういうふうにカスタムコントロールを作る前提での話なのかい?
それとも、それがなくてもhtmlの方が簡単っていうことなのかい?
こんなふうにどんどん後付け条件が出てくると話が迷走していけない。
>BlendとモックのDLL使ってコントロール作って貰ってたのが、Web技術で作って貰えるだけでも相当工数下がるの。
つまりhtml+jsの方が楽ってのはこういうふうにカスタムコントロールを作る前提での話なのかい?
それとも、それがなくてもhtmlの方が簡単っていうことなのかい?
こんなふうにどんどん後付け条件が出てくると話が迷走していけない。
291デフォルトの名無しさん (ワッチョイ bb5f-dlbi)
2021/12/31(金) 20:59:35.03ID:FNrpfdyG0 >>290
ほとんど全ての場合だよ。
カスタムコントロール作らない事の方が珍しいだろ。ペタペタと直接、素のコントロール置いて作ってるとか狂気の沙汰じゃん。
後付け条件も何も俺は最初からその想定で言ってる。
お前がどんどん原始的な例ばっかり挙げて後付け条件出してるんでは?
ほとんど全ての場合だよ。
カスタムコントロール作らない事の方が珍しいだろ。ペタペタと直接、素のコントロール置いて作ってるとか狂気の沙汰じゃん。
後付け条件も何も俺は最初からその想定で言ってる。
お前がどんどん原始的な例ばっかり挙げて後付け条件出してるんでは?
292デフォルトの名無しさん (ワッチョイ 9718-ylhX)
2021/12/31(金) 21:04:02.72ID:+14EUf560 コモンコントロール以上の何かがほしいってそれはもうRICHなGUIですよ。
アナログメーターだのバーコードだのね。
アナログメーターだのバーコードだのね。
293デフォルトの名無しさん (ワッチョイ 8b01-h6Ia)
2021/12/31(金) 21:13:20.91ID:2Zk/vij+0294デフォルトの名無しさん (ワッチョイ 33a7-/mqy)
2021/12/31(金) 21:48:59.01ID:M0GZ3VlB0 WPFは結局見た目重視の癖に他のデザインツールとの連携がゴミカスだったからな
お前に食わせられるデータって何のアプリで作れるの?っていう根本的な問題が解決しない
お前に食わせられるデータって何のアプリで作れるの?っていう根本的な問題が解決しない
295デフォルトの名無しさん (オッペケ Srbb-Ec79)
2021/12/31(金) 22:31:41.34ID:DunWig+Gr flutterみたいにGUIが整備されていればいいだけなのにマイクロソフトには作れないのか
https://codezine.jp/article/detail/15063
https://codezine.jp/article/detail/15063
296デフォルトの名無しさん (ワッチョイ 33a7-/mqy)
2021/12/31(金) 23:02:04.13ID:M0GZ3VlB0 つか、データ内容から言ってイラレとの連携が必須なのにそこの対応がおざなりなのがいけない
そして見た目にこだわらせるツールなら
全コントロールカスタマイズ可能にしろ
もちろんイラレのデータで
これができんからwebview2なんて使ってんだろそいつも
そして見た目にこだわらせるツールなら
全コントロールカスタマイズ可能にしろ
もちろんイラレのデータで
これができんからwebview2なんて使ってんだろそいつも
297デフォルトの名無しさん (ワッチョイ bb5f-dlbi)
2021/12/31(金) 23:38:40.48ID:FNrpfdyG0 なんでイラレなの?XDとかFigmaとかでは?
Storyboardで見ながら全カスタマイズ出来て当然かと。
デザイナーや制作にもそれができるからWebView2とかelectron使うんだが。
Storyboardで見ながら全カスタマイズ出来て当然かと。
デザイナーや制作にもそれができるからWebView2とかelectron使うんだが。
298デフォルトの名無しさん (ワッチョイ 33a7-/mqy)
2022/01/01(土) 00:03:57.34ID:s/VzubKG0299デフォルトの名無しさん (ワッチョイ 33a7-/mqy)
2022/01/01(土) 00:04:02.95ID:s/VzubKG0300デフォルトの名無しさん (ワッチョイ bb5f-dlbi)
2022/01/01(土) 00:05:29.75ID:pK4dI97g0301デフォルトの名無しさん (ワッチョイ bb5f-g2Am)
2022/01/01(土) 05:34:40.61ID:zdHw19Xx0 >>292
メーターはCommunity Toolkitにあるな
メーターはCommunity Toolkitにあるな
302デフォルトの名無しさん (ワッチョイ bb5f-dlbi)
2022/01/01(土) 08:49:17.03ID:pK4dI97g0 このあたりが出来るのが楽。
https://observablehq.com/@d3/zoomable-sunburst
JSのエコシステムは割と手厚くて、結構色々できる。
変わり種だと最近はこれも使った。今までだったら相当大がかりな仕組みになってた。
https://modelviewer.dev/
IEベースのWebViewだったら出来なかったんよね、これ。
https://observablehq.com/@d3/zoomable-sunburst
JSのエコシステムは割と手厚くて、結構色々できる。
変わり種だと最近はこれも使った。今までだったら相当大がかりな仕組みになってた。
https://modelviewer.dev/
IEベースのWebViewだったら出来なかったんよね、これ。
303デフォルトの名無しさん (アウアウウー Saa5-45BR)
2022/01/01(土) 16:57:15.57ID:cbVZORXia 何の話で盛り上がってるんだっけ?
結局MSは今後デスクトップは何使えって言ってるんだっけ?
もうWin32を追放してUWPで統一する計画は頓挫してたよね?
結局MSは今後デスクトップは何使えって言ってるんだっけ?
もうWin32を追放してUWPで統一する計画は頓挫してたよね?
304デフォルトの名無しさん (オッペケ Srf1-gA9r)
2022/01/01(土) 17:38:08.24ID:lDil4oeBr MSは何も示せなくてユーザーたちが独自になんとかしようともだえてる
305デフォルトの名無しさん (アウアウウー Saa5-45BR)
2022/01/01(土) 17:52:27.24ID:cbVZORXia306デフォルトの名無しさん (ワッチョイ 49d2-MYyk)
2022/01/01(土) 17:56:51.18ID:gOXFnTf60 UWPってアレ結局なんなん?
MSのうさんくさい説明見ても正体がさっぱり掴めんわ
ちなXAML使い
MSのうさんくさい説明見ても正体がさっぱり掴めんわ
ちなXAML使い
307デフォルトの名無しさん (アウアウウー Saa5-FJ/U)
2022/01/01(土) 19:05:01.23ID:Je/lt7i4a308デフォルトの名無しさん (ワッチョイ e95f-rbeQ)
2022/01/01(土) 19:09:06.13ID:pK4dI97g0 >>307
IEコンポーネントはパフォーマンス悪すぎて大変だったんよ。本当に悪かった。
WebGL 2.0は全くダメだし。
そしてごく最近の記法が使えないので、古い書き方で苦労するかトランスパイラで相当トランスパイルしないといかんのだけど、これもこれで大変。
IEコンポーネントはパフォーマンス悪すぎて大変だったんよ。本当に悪かった。
WebGL 2.0は全くダメだし。
そしてごく最近の記法が使えないので、古い書き方で苦労するかトランスパイラで相当トランスパイルしないといかんのだけど、これもこれで大変。
309デフォルトの名無しさん (ワッチョイ 45ad-Rgq3)
2022/01/01(土) 19:38:20.84ID:FXZWUiqn0 そういえば、IEのコンポーネントって他プロセスから普通にDOM掴めたけど今のはそんなこと無いよな、さすがに。
310デフォルトの名無しさん (ワッチョイ ade6-X9o+)
2022/01/02(日) 02:26:12.88ID:XjOyUWVU0 >>308
VML使えや
VML使えや
311デフォルトの名無しさん (ワッチョイ 49b0-IeG5)
2022/01/02(日) 08:39:01.25ID:i8dUNFkB0 >>309
今のIE11でも変わらない。Chromium Edgeは無理。
今のIE11でも変わらない。Chromium Edgeは無理。
312デフォルトの名無しさん (オイコラミネオ MM65-f1Pp)
2022/01/03(月) 00:27:24.71ID:qrnm2syfM 結局DelphiやVB6を超えられなかったね
313デフォルトの名無しさん (ワッチョイ 9901-BTCB)
2022/01/03(月) 09:45:55.35ID:eQW2AhJK0 ということにしたいのですね
314デフォルトの名無しさん (ワッチョイ 49b0-IeG5)
2022/01/03(月) 09:53:42.79ID:Nty+tcHi0 もったいないので私にください
315デフォルトの名無しさん (アウアウウー Saa5-Rgq3)
2022/01/03(月) 10:54:19.16ID:SmC4rDQma はつみみです。
316デフォルトの名無しさん (ワッチョイ 6eda-iZeD)
2022/01/03(月) 13:30:35.98ID:lKbCt2OW0 C#でNewtonsoft.Jsonを使用して
[272,1496922300000,1496934000000,"Y3913",true,"XA","XA","HSZ-HAC","HAC-DFS-WCY",1496913600000]
のようなJSONを作成できますか?
(数値と文字列の混合配列)
[272,1496922300000,1496934000000,"Y3913",true,"XA","XA","HSZ-HAC","HAC-DFS-WCY",1496913600000]
のようなJSONを作成できますか?
(数値と文字列の混合配列)
317デフォルトの名無しさん (アウアウウー Saa5-FJ/U)
2022/01/03(月) 13:46:53.86ID:AMytSBf5a 名前なしのカンマ区切りだったらそれはcsvとして処理した方がはやいんじゃないのか
318デフォルトの名無しさん (ワッチョイ 31a7-TiOx)
2022/01/03(月) 14:44:00.30ID:5Qqik4MO0 >>316
全部文字列でいいじゃん
全部文字列でいいじゃん
319316 (ワッチョイ 6eda-iZeD)
2022/01/03(月) 15:23:04.22ID:lKbCt2OW0 echartsのガントチャートのデモです。
https://echarts.apache.org/examples/en/editor.html?c=custom-gantt-flight
このデモ用のデータが
https://echarts.apache.org/examples/data/asset/data/airport-schedule.json
なんですが、これをバックエンドのC#から渡したいのです。
>>316はJSON構造の一部で、他に名前付きのデータも渡します。
なのでCSVはそぐわないかと思われます。
https://echarts.apache.org/examples/en/editor.html?c=custom-gantt-flight
このデモ用のデータが
https://echarts.apache.org/examples/data/asset/data/airport-schedule.json
なんですが、これをバックエンドのC#から渡したいのです。
>>316はJSON構造の一部で、他に名前付きのデータも渡します。
なのでCSVはそぐわないかと思われます。
320デフォルトの名無しさん (スププ Sd62-8XAc)
2022/01/03(月) 16:42:23.19ID:JMA8ZT+Nd >>319
CSV一行分をjsonのValueとして持てばいいんだよ
CSV一行分をjsonのValueとして持てばいいんだよ
321デフォルトの名無しさん (ワッチョイ e22c-4nvB)
2022/01/03(月) 17:00:56.51ID:0xi3No7I0 var objs = new {
hoge = "hoge",
fuga = new object[] { 272, 1496922300000, "Y3913", true, "XA" },
};
var json = JsonConvert.SerializeObject(objs);
できない理由はないけどなんか他に条件とかありそうでアレだな
hoge = "hoge",
fuga = new object[] { 272, 1496922300000, "Y3913", true, "XA" },
};
var json = JsonConvert.SerializeObject(objs);
できない理由はないけどなんか他に条件とかありそうでアレだな
322デフォルトの名無しさん (ワッチョイ 6eda-iZeD)
2022/01/03(月) 18:09:00.90ID:lKbCt2OW0323デフォルトの名無しさん (ワッチョイ ed18-TVXy)
2022/01/03(月) 18:12:39.51ID:TMV+x4l+0 var json =
結局何の型だよってイライラくるよね
結局何の型だよってイライラくるよね
324デフォルトの名無しさん (ワッチョイ 2247-8XAc)
2022/01/03(月) 18:57:22.48ID:GjMIBEAT0 >>323
Visual Studioだとvarの上にカーソル持っていったら型が表示されるだろ
Visual Studioだとvarの上にカーソル持っていったら型が表示されるだろ
325デフォルトの名無しさん (ワッチョイ 4201-wcXw)
2022/01/03(月) 20:14:18.47ID:pwAwOJBp0 var: 無能発見機
326デフォルトの名無しさん (ワッチョイ ed18-TVXy)
2022/01/03(月) 22:52:28.05ID:TMV+x4l+0 型が分からなくてもソースが読み書きできる人が羨ましいわ。
どういう脳の論理構造してるのだろう。分からないまま読み進めるとかイライラしないの?
昔、『菊次郎の夏』って映画見て、映画見ながら、だから菊次郎って誰だよ?って
最後までイライラして発狂しそうになったの思い出したわ。ほんと糞な脚本だと思ったわ。
どういう脳の論理構造してるのだろう。分からないまま読み進めるとかイライラしないの?
昔、『菊次郎の夏』って映画見て、映画見ながら、だから菊次郎って誰だよ?って
最後までイライラして発狂しそうになったの思い出したわ。ほんと糞な脚本だと思ったわ。
327デフォルトの名無しさん (ワッチョイ 2ee3-iZeD)
2022/01/03(月) 22:59:05.73ID:/qjDMXVn0 右辺見ろよ
328デフォルトの名無しさん (テテンテンテン MM26-8VTm)
2022/01/03(月) 23:54:17.33ID:/ROio/0MM インテリセンスとAPIデザインが優秀って前提はあるだろうね
適当に.で繋げてけばなんとなくコードが出来上がる
間違ったらコンパイルエラーになる
だったらもうそれで型名は書かなくてもいいじゃない
型付スクリプト言語はその辺がまだまだ雑魚なんで型名をしっかり書かないと間違えるようにできてる
適当に.で繋げてけばなんとなくコードが出来上がる
間違ったらコンパイルエラーになる
だったらもうそれで型名は書かなくてもいいじゃない
型付スクリプト言語はその辺がまだまだ雑魚なんで型名をしっかり書かないと間違えるようにできてる
329デフォルトの名無しさん (アウアウウー Saa5-45BR)
2022/01/04(火) 00:14:59.85ID:fY9OVGa4a330デフォルトの名無しさん (ワッチョイ 2247-8XAc)
2022/01/04(火) 00:16:29.87ID:2Grj8syS0 >>326
なんでvarの上にカーソル持って行かないの?
なんでvarの上にカーソル持って行かないの?
331デフォルトの名無しさん (スップ Sdc2-8yPh)
2022/01/04(火) 00:23:52.35ID:ufcanjsed332デフォルトの名無しさん (ワッチョイ e95f-rbeQ)
2022/01/04(火) 02:20:28.03ID:f9obKWjH0333デフォルトの名無しさん (ワッチョイ 4124-iMNY)
2022/01/04(火) 09:52:16.17ID:2gpItayR0 326はC#の話じゃなくてジャバスクとかの話してるんだろ
334デフォルトの名無しさん (ワッチョイ 31ae-GQgw)
2022/01/04(火) 10:52:36.05ID:+AHJD1dV0 inai inai var !
335デフォルトの名無しさん (スププ Sd62-8XAc)
2022/01/04(火) 11:04:23.12ID:Qpyz6D0Nd336デフォルトの名無しさん (ワッチョイ ed18-TVXy)
2022/01/04(火) 11:48:21.13ID:Oz0E0ZFa0 型が分からないとほんとイライラくるよな。
今回の反応でスルーできる奴の脳みその構造がだいたい分かってきたわ。わかったつもりで何も分かってない。
ジャバスクの話だ!! そういうことか!!! ←こいつらの脳の構造はこれなんだよ。馬鹿かこいつら…
今回の反応でスルーできる奴の脳みその構造がだいたい分かってきたわ。わかったつもりで何も分かってない。
ジャバスクの話だ!! そういうことか!!! ←こいつらの脳の構造はこれなんだよ。馬鹿かこいつら…
337デフォルトの名無しさん (ワッチョイ 9d78-iZeD)
2022/01/04(火) 11:52:23.41ID:Hrzc5R7N0 >型が分からないとほんとイライラくるよな。
varは型が確定しています
イライラしているのはあなたがバカなだけ
varは型が確定しています
イライラしているのはあなたがバカなだけ
338デフォルトの名無しさん (ワッチョイ 8201-TJkF)
2022/01/04(火) 11:56:22.08ID:698Ta9DA0 >>337
“いつ”確定するの?
“いつ”確定するの?
339デフォルトの名無しさん (ワッチョイ ed18-TVXy)
2022/01/04(火) 11:58:40.79ID:Oz0E0ZFa0 ジャバスクの話だ!!! varは型が確定している!!! ほんと馬鹿かこいつら…
340デフォルトの名無しさん (スププ Sd62-8XAc)
2022/01/04(火) 12:00:45.54ID:K01QBlyFd341デフォルトの名無しさん (ワッチョイ 2ee3-iZeD)
2022/01/04(火) 12:01:01.01ID:g8h7/5Pi0342デフォルトの名無しさん (アウアウウー Saa5-FJ/U)
2022/01/04(火) 12:07:12.39ID:kSsP1HEHa >>323見たときに
var json =
こうあったとき、デコード後のclassが入ってることあったり、json stringが入ってたり、varやjsonなんて型や変数名だとわけわかんねーよ!
って話かと思ったら全然違った。なんだこの流れ・・・
var json =
こうあったとき、デコード後のclassが入ってることあったり、json stringが入ってたり、varやjsonなんて型や変数名だとわけわかんねーよ!
って話かと思ったら全然違った。なんだこの流れ・・・
343デフォルトの名無しさん (ワッチョイ ed18-TVXy)
2022/01/04(火) 12:11:24.66ID:Oz0E0ZFa0 これこれ。>>341 おれは一言もジャバスクなんて言ってないのにジャバスクの話にされて、
さらにはおれがジャバスクを後付したと妄信し、いきなり仕事したくないとかキチガイ妄想炸裂。
仕事先でこんなキチガイいたらガチで名誉毀損で訴えるわ。
これが型をスルーできる奴の脳の構造。リアルでアホだろ、こいつら…
さらにはおれがジャバスクを後付したと妄信し、いきなり仕事したくないとかキチガイ妄想炸裂。
仕事先でこんなキチガイいたらガチで名誉毀損で訴えるわ。
これが型をスルーできる奴の脳の構造。リアルでアホだろ、こいつら…
344デフォルトの名無しさん (ワッチョイ 9901-QLHw)
2022/01/04(火) 12:12:43.55ID:IgSyCTXi0 ※現在は削除されています
https://i.imgur.com/1WGlGRS.png
https://i.imgur.com/1WGlGRS.png
345デフォルトの名無しさん (スププ Sd62-8XAc)
2022/01/04(火) 12:14:13.14ID:K01QBlyFd >>343
TypeScriptおすすめ
TypeScriptおすすめ
346デフォルトの名無しさん (テテンテンテン MM26-8VTm)
2022/01/04(火) 12:23:30.92ID:CklunmhzM TypeScriptは型ヒント付きスクリプト言語にはよくあることだけど型が嘘をつけるので積極的に使わない方がいい
「型がついてるから安心だ」と思っていたら実行時に違う型の値が入っていることがよくある
なんなら生のJavaScriptの方が「型がないから全ての変数が信用できない」という前提に立てる分まだマシまである
「型がついてるから安心だ」と思っていたら実行時に違う型の値が入っていることがよくある
なんなら生のJavaScriptの方が「型がないから全ての変数が信用できない」という前提に立てる分まだマシまである
347デフォルトの名無しさん (スププ Sd62-8XAc)
2022/01/04(火) 12:29:36.62ID:K01QBlyFd >>346
それ言い出すとC++もreinterpret_cast多用で型の嘘つけるからなあ
それ言い出すとC++もreinterpret_cast多用で型の嘘つけるからなあ
348デフォルトの名無しさん (テテンテンテン MM26-8VTm)
2022/01/04(火) 12:42:28.79ID:rprq1MIMM >>347
まさにそれだね
cppは名前付きのキャストを使い分ける習慣が広まってるから状況は多少、マシ
TSにはanyとかいう負の遺産がある
それにJSはそれ自身ではできることが少ない言語なのでインフラapiコールに頼りがちだ
そこでanyを使いたくなくても多用するのでとにかく間違えやすい
自分がうっかり間違える可能性
チームメンバーが間違える可能性
ライブラリ作者が間違える可能性
とにかく間違いが起こりやすい
なのでTypeScriptは使わないほいがいい
まさにそれだね
cppは名前付きのキャストを使い分ける習慣が広まってるから状況は多少、マシ
TSにはanyとかいう負の遺産がある
それにJSはそれ自身ではできることが少ない言語なのでインフラapiコールに頼りがちだ
そこでanyを使いたくなくても多用するのでとにかく間違えやすい
自分がうっかり間違える可能性
チームメンバーが間違える可能性
ライブラリ作者が間違える可能性
とにかく間違いが起こりやすい
なのでTypeScriptは使わないほいがいい
349デフォルトの名無しさん (ワッチョイ 2eb0-IeG5)
2022/01/04(火) 12:53:18.36ID:rkCZbU1/0 ・間違ったコールバックの型付け
・間違ったasの使用
・間違った.d.tsの使用
・間違ったユーザー定義タイプガード
TypeScriptで肩を間違える可能性があるのはこんなところかね。
まぁ、自分で使いこなせないものを使わない方がいいってのはその通りだが、
他人も同じように使いこなせないわけじゃないしな。
・間違ったasの使用
・間違った.d.tsの使用
・間違ったユーザー定義タイプガード
TypeScriptで肩を間違える可能性があるのはこんなところかね。
まぁ、自分で使いこなせないものを使わない方がいいってのはその通りだが、
他人も同じように使いこなせないわけじゃないしな。
350デフォルトの名無しさん (テテンテンテン MM26-8VTm)
2022/01/04(火) 13:23:06.07ID:b15zgk0OM >>349
間違える余地が在ることが問題
特定の個人が使いこなせるこなせないという低次元な議論じゃない
型Aと書いたものが実際にはAでないという可能性が生じた時点であらゆるコードが信頼性を失い
その検証のために心労とコストが増えて
そして実際にバグが増える
C#では例えば「DateTimeと書いた変数に実際にはstringが入っているかもしれない」などと考えてコーディングする人は誰もいない
C#ではよほどのことがなければ基本的に型が嘘をつかないからそれで上手くいく
DateTimeと書かれたらそれはDateTimeであってstringであることを考慮する必要はない
しかしTypeScriptは違う
型は平気で嘘をつく
Date型と書いた変数が実際は文字列だろうが数値だろうがお構いなしだ
TypeScriptでは型が嘘をついていないことを確かめるには
その型が嘘をついている可能性があるという前提でバリデーションを追加するか
依存してるライブラリの内部の隅々までソースを追いかけるか
そういった対策をしなければならない
それはあまりにも非生産的だ
間違える余地が在ることが問題
特定の個人が使いこなせるこなせないという低次元な議論じゃない
型Aと書いたものが実際にはAでないという可能性が生じた時点であらゆるコードが信頼性を失い
その検証のために心労とコストが増えて
そして実際にバグが増える
C#では例えば「DateTimeと書いた変数に実際にはstringが入っているかもしれない」などと考えてコーディングする人は誰もいない
C#ではよほどのことがなければ基本的に型が嘘をつかないからそれで上手くいく
DateTimeと書かれたらそれはDateTimeであってstringであることを考慮する必要はない
しかしTypeScriptは違う
型は平気で嘘をつく
Date型と書いた変数が実際は文字列だろうが数値だろうがお構いなしだ
TypeScriptでは型が嘘をついていないことを確かめるには
その型が嘘をついている可能性があるという前提でバリデーションを追加するか
依存してるライブラリの内部の隅々までソースを追いかけるか
そういった対策をしなければならない
それはあまりにも非生産的だ
351デフォルトの名無しさん (テテンテンテン MM26-8VTm)
2022/01/04(火) 13:31:23.12ID:b15zgk0OM function ExternalLibFunc(): string
function example() {
const s: string = ExternalLibFunc();
if (typeof s === “string”)
throw new Error(“type errro”);
// do something
}
これが安全なTypeScriptコード
stringと宣言されたものを本当にstringかどうか確かめなければならない
この確認はバカバカしいと思うがやらなければバグを踏む可能性がある
でも全てを確認するなんて大変だ
だからみんな確認を怠る
そして実際にバグが発生する
そういう言語なんだTypeScriptってのは
function example() {
const s: string = ExternalLibFunc();
if (typeof s === “string”)
throw new Error(“type errro”);
// do something
}
これが安全なTypeScriptコード
stringと宣言されたものを本当にstringかどうか確かめなければならない
この確認はバカバカしいと思うがやらなければバグを踏む可能性がある
でも全てを確認するなんて大変だ
だからみんな確認を怠る
そして実際にバグが発生する
そういう言語なんだTypeScriptってのは
352デフォルトの名無しさん (ワッチョイ dd5f-lZmz)
2022/01/04(火) 14:02:28.93ID:4jDgn5Qw0 Form1csにイベントがたくさんあるので行数が多くなってしまうのですが
部品ごとにファイルを分けてコードを書く方法を教えてください
部品ごとにファイルを分けてコードを書く方法を教えてください
353デフォルトの名無しさん (アウアウウー Saa5-45BR)
2022/01/04(火) 15:10:27.49ID:v2mo/5h3a >>352
メニューやツールバーみたいのがあったら
イベントハンドラの数が増えること自体は仕方ない。
行数が増えて困ることは目的の場所を探しにくくなることだから、
対策は#regionディレクティブをうまく使って分類することぐらい
メニューやツールバーみたいのがあったら
イベントハンドラの数が増えること自体は仕方ない。
行数が増えて困ることは目的の場所を探しにくくなることだから、
対策は#regionディレクティブをうまく使って分類することぐらい
354デフォルトの名無しさん (ワッチョイ 2247-8XAc)
2022/01/04(火) 15:15:26.98ID:2Grj8syS0 >>352
partial class
partial class
355デフォルトの名無しさん (テテンテンテン MM26-8VTm)
2022/01/04(火) 15:40:55.02ID:y9M4FwJ2M >>352
void HogeEvent(object s, EventArgs e) {
//長いコード
}
↑これを
↓こうする
void HogeEvent(object s, EventArgs e) {
_hoge.DoSomething();
}
class Hoge {
public DoSomething() {
// 長いコード
}
}
void HogeEvent(object s, EventArgs e) {
//長いコード
}
↑これを
↓こうする
void HogeEvent(object s, EventArgs e) {
_hoge.DoSomething();
}
class Hoge {
public DoSomething() {
// 長いコード
}
}
356デフォルトの名無しさん (アウアウウー Saa5-FJ/U)
2022/01/04(火) 16:14:54.64ID:3sRZKpnOa >>350
そうは言ってもc#だってobjectや継承あるからな・・・
そうは言ってもc#だってobjectや継承あるからな・・・
357デフォルトの名無しさん (テテンテンテン MM26-rbeQ)
2022/01/04(火) 17:04:00.85ID:BWSRqAyGM358デフォルトの名無しさん (ワッチョイ 49b0-zYQh)
2022/01/04(火) 17:29:19.72ID:XgG7cDH40 なんだ動的型付け言語が嫌いなだけか
359デフォルトの名無しさん (テテンテンテン MM26-8VTm)
2022/01/04(火) 17:41:00.66ID:h9ISFI6AM >>356
全く意味合いが異なる
全く意味合いが異なる
360デフォルトの名無しさん (テテンテンテン MM26-8VTm)
2022/01/04(火) 17:42:21.35ID:h9ISFI6AM >>357
本来バリデーションが必要がないところでバリデーションが必要になることが大問題
本来バリデーションが必要がないところでバリデーションが必要になることが大問題
361デフォルトの名無しさん (アウアウウー Saa5-45BR)
2022/01/04(火) 18:00:52.01ID:v2mo/5h3a それはバリデーションじゃなくてバグのチェックだねw
362デフォルトの名無しさん (テテンテンテン MM26-8VTm)
2022/01/04(火) 18:24:36.74ID:h9ISFI6AM そだね
TypeScriptdではそういうことも必要になってくる
言語上の欠陥なんだけどランタイムがJSだから永遠に解決しないだろうなこれ
TypeScriptdではそういうことも必要になってくる
言語上の欠陥なんだけどランタイムがJSだから永遠に解決しないだろうなこれ
363デフォルトの名無しさん (ワッチョイ 2eb0-IeG5)
2022/01/04(火) 18:24:37.24ID:rkCZbU1/0 >間違える余地が在ることが問題
完全無欠な言語以外は認められないと?
>型Aと書いたものが実際にはAでないという可能性が生じた時点であらゆるコードが信頼性を失い
どういう場合にそのようなことが起きるかがわかってないんだろうね。結局使いこなしの問題。
完全無欠な言語以外は認められないと?
>型Aと書いたものが実際にはAでないという可能性が生じた時点であらゆるコードが信頼性を失い
どういう場合にそのようなことが起きるかがわかってないんだろうね。結局使いこなしの問題。
364デフォルトの名無しさん (テテンテンテン MM26-8VTm)
2022/01/04(火) 18:27:22.35ID:h9ISFI6AM >>363
完全無欠な言語しか使わないとまでは言わない
ただ大きな欠陥のある言語は使いたくない
感覚としてはその程度だね
どういう場合に起こるか?
それはあらゆる場面で起こりうる
ライブラリすら信用できない
完全無欠な言語しか使わないとまでは言わない
ただ大きな欠陥のある言語は使いたくない
感覚としてはその程度だね
どういう場合に起こるか?
それはあらゆる場面で起こりうる
ライブラリすら信用できない
365デフォルトの名無しさん (ワッチョイ e95f-rbeQ)
2022/01/04(火) 20:53:29.42ID:f9obKWjH0366デフォルトの名無しさん (ワッチョイ e95f-rbeQ)
2022/01/04(火) 20:55:06.78ID:f9obKWjH0367デフォルトの名無しさん (アウアウウー Saa5-zIXK)
2022/01/04(火) 21:33:12.76ID:e29mAngZa formsのchartを使ってるんだけど、20系列くらいを100ms以下でリアルタイム更新って厳しいのかな
色々試したけど更新にどうしても時間がかかる。。
色々試したけど更新にどうしても時間がかかる。。
368デフォルトの名無しさん (ワッチョイ 6187-F0I3)
2022/01/04(火) 21:37:51.18ID:I8DXoUzs0369デフォルトの名無しさん (ワッチョイ 2eb0-IeG5)
2022/01/04(火) 21:44:14.34ID:rkCZbU1/0 >>364
Cのポインタだって使い方を間違えたら正しい型を示さないことになるし、C自身も安全でない言語と見做される
こともあるが、それを分かったうえで正しく使う人はいるし実際広く使われている。そういうこと。
Cのポインタだって使い方を間違えたら正しい型を示さないことになるし、C自身も安全でない言語と見做される
こともあるが、それを分かったうえで正しく使う人はいるし実際広く使われている。そういうこと。
370デフォルトの名無しさん (ワッチョイ e95f-rbeQ)
2022/01/04(火) 21:58:28.71ID:f9obKWjH0 >>368
外部のAPIで1899年以前を扱いうる場合。
外部のAPIで1899年以前を扱いうる場合。
371デフォルトの名無しさん (ワッチョイ e22c-4nvB)
2022/01/04(火) 22:45:31.35ID:mTPUUbcD0 >>367
サードパーティ製のチャートを探すことをお勧め
詳しくないから具体的な名前は特に挙げられないけど
とりあえずScottPlotって名前を最近見かけたので試してみては
しかし20系列もあると読みづらそうだな
サードパーティ製のチャートを探すことをお勧め
詳しくないから具体的な名前は特に挙げられないけど
とりあえずScottPlotって名前を最近見かけたので試してみては
しかし20系列もあると読みづらそうだな
372デフォルトの名無しさん (アウアウウー Saa5-45BR)
2022/01/04(火) 22:57:39.12ID:xZMfmUxua >>367
ただの折れ線グラフとかでビジュアル的に凝る必要がなければ
UserConrolから自分で作った方が早いかもね。
昔散々そういうのやってたけど、やってみると案外簡単だ。
WPFを選択するとパフォーマンス問題にぶち当たるから注意。
ただの折れ線グラフとかでビジュアル的に凝る必要がなければ
UserConrolから自分で作った方が早いかもね。
昔散々そういうのやってたけど、やってみると案外簡単だ。
WPFを選択するとパフォーマンス問題にぶち当たるから注意。
373デフォルトの名無しさん (ワッチョイ 49b3-Fu3+)
2022/01/04(火) 23:04:51.13ID:hJBi5qqI0 おすすめ本あります?
アマゾンで独習を見たのですが第4版は不評、第3版おすすめとなってたんですが
2010年出版っというのが引っかかっているので他を探しています。
スキルはPythonでPyGameのサンプルを打ち込みつつ、解説を見て勉強してるレベルです。
その他言語の経験はなし!
アマゾンで独習を見たのですが第4版は不評、第3版おすすめとなってたんですが
2010年出版っというのが引っかかっているので他を探しています。
スキルはPythonでPyGameのサンプルを打ち込みつつ、解説を見て勉強してるレベルです。
その他言語の経験はなし!
374デフォルトの名無しさん (テテンテンテン MM26-8VTm)
2022/01/04(火) 23:13:01.18ID:0nFT+Tq8M >>365
違う
本来バリデーションは必要ないのにTSでは(というか型がゆるゆるのスクリプト言語全般だが)余計なバリデーションが必要ということ
string x = func();
と書いた時にC#ではxが本当に文字列であることを検証する必要はない
nullになっていないか、文字列が特定の書式を満たしているか、といった心配はあるだろう
しかし、xにintが入ってる可能性は考慮する必要はない
TSではxにnumberが入っているかも、という可能性を考慮しなければならない
これが本来やらなくていいはずのバリデーションだ
これは型が嘘をつくから起こりうること
TSの代表的な欠陥の1つだ
違う
本来バリデーションは必要ないのにTSでは(というか型がゆるゆるのスクリプト言語全般だが)余計なバリデーションが必要ということ
string x = func();
と書いた時にC#ではxが本当に文字列であることを検証する必要はない
nullになっていないか、文字列が特定の書式を満たしているか、といった心配はあるだろう
しかし、xにintが入ってる可能性は考慮する必要はない
TSではxにnumberが入っているかも、という可能性を考慮しなければならない
これが本来やらなくていいはずのバリデーションだ
これは型が嘘をつくから起こりうること
TSの代表的な欠陥の1つだ
375デフォルトの名無しさん (テテンテンテン MM26-8VTm)
2022/01/04(火) 23:14:48.44ID:0nFT+Tq8M376デフォルトの名無しさん (ワッチョイ ed18-TVXy)
2022/01/04(火) 23:19:57.46ID:Oz0E0ZFa0 var x = func();
var y = x.func();
型が分からないとイライラくるよね。
スルーできる奴の脳みそってそれをすべて妄想で埋めてることが社会実験で実証された。
var y = x.func();
型が分からないとイライラくるよね。
スルーできる奴の脳みそってそれをすべて妄想で埋めてることが社会実験で実証された。
377デフォルトの名無しさん (ワッチョイ 2eb0-IeG5)
2022/01/04(火) 23:20:34.56ID:rkCZbU1/0 >型が嘘をつく
この言い回しをよっぽど気に入っているようだけどw当然TypeScriptが勝手に嘘をつくわけはなくて、
嘘をつかせたのはそれを使うプログラマ自身だわな
この言い回しをよっぽど気に入っているようだけどw当然TypeScriptが勝手に嘘をつくわけはなくて、
嘘をつかせたのはそれを使うプログラマ自身だわな
378デフォルトの名無しさん (ワッチョイ 9d78-iZeD)
2022/01/04(火) 23:24:23.97ID:Hrzc5R7N0 >>376
それはメソッド名が糞なだけだよ
それはメソッド名が糞なだけだよ
379デフォルトの名無しさん (スフッ Sd62-XkW2)
2022/01/04(火) 23:30:10.65ID:r+SDF27Td わざわざ宣言した行まで戻って型確認するのか
380デフォルトの名無しさん (ワッチョイ 426a-M3Pq)
2022/01/04(火) 23:30:19.98ID:QHt6N4Fh0 相変わらずコードが読めてもテンプレ読めない人が多いな
381デフォルトの名無しさん (テテンテンテン MM26-8VTm)
2022/01/04(火) 23:36:38.21ID:0nFT+Tq8M >>377
TSが勝手に嘘をつくことはないがC#と比べて嘘をつかせるように導くのに長けている
プログラマは世界中に沢山いてTSを使うと漏れなくその脅威に晒される
また彼らが作成したライブラリにも嘘が潜んでいるかもしれない
TSが勝手に嘘をつくことはないがC#と比べて嘘をつかせるように導くのに長けている
プログラマは世界中に沢山いてTSを使うと漏れなくその脅威に晒される
また彼らが作成したライブラリにも嘘が潜んでいるかもしれない
382デフォルトの名無しさん (ワッチョイ e95f-rbeQ)
2022/01/04(火) 23:58:26.60ID:f9obKWjH0 >>374
違わないよ。
全てTSの中であればNumberであることが担保されているのは、全てC#の中である場合と同程度に正しい。
C#の場合でも信頼境界を越えるのであればその可能性は考慮しないといけないし、TSの場合でも信頼境界を越えないのであれば気にする必要は無い。
ましてやTSというかJSはシングルスレッドなので別スレッドに壊される事も無い。
違わないよ。
全てTSの中であればNumberであることが担保されているのは、全てC#の中である場合と同程度に正しい。
C#の場合でも信頼境界を越えるのであればその可能性は考慮しないといけないし、TSの場合でも信頼境界を越えないのであれば気にする必要は無い。
ましてやTSというかJSはシングルスレッドなので別スレッドに壊される事も無い。
383デフォルトの名無しさん (ワッチョイ e95f-rbeQ)
2022/01/05(水) 00:01:01.66ID:fuEg19Cq0384デフォルトの名無しさん (テテンテンテン MM26-8VTm)
2022/01/05(水) 00:50:54.28ID:JsfvM5KJM >>382
全てTSでも型が保証されない
最も簡単な事例は
const x: string = 100 as any
もちろんこんなコードを書く人はいないが
複雑で膨大なアプリケーションコードを扱うプロジェクトのなかで誰一人としてミスをしないかというと
そんな保証は全くなく型に嘘をつかれることになるだろう
全てTSでも型が保証されない
最も簡単な事例は
const x: string = 100 as any
もちろんこんなコードを書く人はいないが
複雑で膨大なアプリケーションコードを扱うプロジェクトのなかで誰一人としてミスをしないかというと
そんな保証は全くなく型に嘘をつかれることになるだろう
385デフォルトの名無しさん (テテンテンテン MM26-8VTm)
2022/01/05(水) 00:51:02.44ID:JsfvM5KJM >>383
ブーメラン
ブーメラン
386デフォルトの名無しさん (ワッチョイ e95f-rbeQ)
2022/01/05(水) 00:56:20.83ID:fuEg19Cq0 >>384
それはC#でも同じでしょ。
それはC#でも同じでしょ。
387デフォルトの名無しさん (テテンテンテン MM26-8VTm)
2022/01/05(水) 00:59:38.17ID:JsfvM5KJM C#ではI/Oが生じる場合にも型が嘘をつくことはない
例えばこうだ
int x = Parse<int>(inputStream);
パースエラーにより実行時に例外が発生することはある
それはどの言語でも起こりうることだ
しかし、依然としてxにstringが入ったり、DateTimeが入ったり、という、TSでは普通にあり得る悍ましい挙動を示すことは無いのだ
なぜならC#はTSと違って型が嘘をつかないから
C#の型は信頼できる
TSの型は嘘つきで信頼できない
例えばこうだ
int x = Parse<int>(inputStream);
パースエラーにより実行時に例外が発生することはある
それはどの言語でも起こりうることだ
しかし、依然としてxにstringが入ったり、DateTimeが入ったり、という、TSでは普通にあり得る悍ましい挙動を示すことは無いのだ
なぜならC#はTSと違って型が嘘をつかないから
C#の型は信頼できる
TSの型は嘘つきで信頼できない
388デフォルトの名無しさん (ワッチョイ e95f-rbeQ)
2022/01/05(水) 01:00:08.39ID:fuEg19Cq0389デフォルトの名無しさん (ワッチョイ e95f-rbeQ)
2022/01/05(水) 01:00:59.54ID:fuEg19Cq0 >>387
じゃあTSはどうしてxにStringやなにがしかが入るの?どこで入れてんのよ?w
じゃあTSはどうしてxにStringやなにがしかが入るの?どこで入れてんのよ?w
390デフォルトの名無しさん (テテンテンテン MM26-8VTm)
2022/01/05(水) 01:10:21.43ID:JsfvM5KJM >>386
全く異なる
C#ではdynamic、リフレクション、コード生成を使えばコンパイラの検証を回避して、間違った型の変数に値を設定できる
しかし、C#でこれをやると実行時にエラーになるのだ
TSで何事もなく処理が進むのとは、全く趣が異なる
そう、TSではstringと指定した筈の変数にnumberやDateの変数が入ったまま、何事もなく進んでしまうのだ
これは本当に恐ろしい挙動だ
つまり、バグを仕込んだところから、しばらく処理が進んだところで被害が顕現する、ということだ
これはまるで、潜伏期間の長いコロナウイルスのように厄介な特性だ
この挙動はC言語などではよくあるものだったが、原因と結果が離れているのでデバッグがしにくい、とのことで先人達は大いに苦しめられたものだ
まがりなりにも後発の言語であるTSが、大昔の言語設計と同じ失敗を繰り返しているのは残念でならない
全く異なる
C#ではdynamic、リフレクション、コード生成を使えばコンパイラの検証を回避して、間違った型の変数に値を設定できる
しかし、C#でこれをやると実行時にエラーになるのだ
TSで何事もなく処理が進むのとは、全く趣が異なる
そう、TSではstringと指定した筈の変数にnumberやDateの変数が入ったまま、何事もなく進んでしまうのだ
これは本当に恐ろしい挙動だ
つまり、バグを仕込んだところから、しばらく処理が進んだところで被害が顕現する、ということだ
これはまるで、潜伏期間の長いコロナウイルスのように厄介な特性だ
この挙動はC言語などではよくあるものだったが、原因と結果が離れているのでデバッグがしにくい、とのことで先人達は大いに苦しめられたものだ
まがりなりにも後発の言語であるTSが、大昔の言語設計と同じ失敗を繰り返しているのは残念でならない
391デフォルトの名無しさん (テテンテンテン MM26-8VTm)
2022/01/05(水) 01:17:22.12ID:JsfvM5KJM >>388
低レベルなメモリアクセスでランタイムを破壊できるのはどの言語でも当たり前のことだろう
TSのように低レベルメモリアクセスでもなんでもない、ただの代入で型安全を破壊できるようなものと同列に扱うべきではない
低レベルなメモリアクセスでランタイムを破壊できるのはどの言語でも当たり前のことだろう
TSのように低レベルメモリアクセスでもなんでもない、ただの代入で型安全を破壊できるようなものと同列に扱うべきではない
392デフォルトの名無しさん (テテンテンテン MM26-8VTm)
2022/01/05(水) 01:19:07.95ID:JsfvM5KJM393デフォルトの名無しさん (ワッチョイ 2247-8XAc)
2022/01/05(水) 01:46:29.20ID:lnjYKBBj0 >>379
varの上にマウスカーソル合わせてツールチップに表示される型を見るだけ
varの上にマウスカーソル合わせてツールチップに表示される型を見るだけ
394デフォルトの名無しさん (ワッチョイ 2eb0-IeG5)
2022/01/05(水) 07:33:07.78ID:OXnyWrYu0395デフォルトの名無しさん (ワッチョイ 8101-ooUO)
2022/01/05(水) 07:38:49.44ID:t5pkfnoc0 JSなんて使いたくて使ってるやつはいないって事だよ
ほかに選択肢がないから仕方なく使ってるだけで
そもそも本来TSのようなトランスパイラはこの世に存在し得ない存在
ほかに選択肢がないから仕方なく使ってるだけで
そもそも本来TSのようなトランスパイラはこの世に存在し得ない存在
396デフォルトの名無しさん (ワッチョイ d1ac-Loja)
2022/01/05(水) 09:23:21.76ID:bvaGXVet0 なんでc#スレで一生懸命TSの悪口言ってるの?
397デフォルトの名無しさん (ドコグロ MM56-wcXw)
2022/01/05(水) 09:53:21.58ID:SNzZltS0M 欠陥指摘できる俺すげー君だろw
スルーしとけ
スルーしとけ
398デフォルトの名無しさん (エアペラ SD2d-miAB)
2022/01/05(水) 09:57:56.22ID:5ORhcVX2D WinFormのlistViewをタブレットで使いたいのですがlist部分を指で上下してlistをスクロールする事は出来るでしょうか
スクロールバーで上下出来るのですがスマホのように出来ないかなと
スクロールバーで上下出来るのですがスマホのように出来ないかなと
399デフォルトの名無しさん (テテンテンテン MM26-8VTm)
2022/01/05(水) 10:15:33.57ID:Zzh6nSy3M >>394
挙げられたリストでは全く足りない
こういう認識の甘さがバグを仕込むキッカケになるのだろう
そもそも人間は間違える余地があれば、いつか必ず間違える
注意してれば大丈夫、などという考え方では到底ダメだ
挙げられたリストでは全く足りない
こういう認識の甘さがバグを仕込むキッカケになるのだろう
そもそも人間は間違える余地があれば、いつか必ず間違える
注意してれば大丈夫、などという考え方では到底ダメだ
400デフォルトの名無しさん (テテンテンテン MM26-8VTm)
2022/01/05(水) 10:17:21.15ID:Zzh6nSy3M401デフォルトの名無しさん (スププ Sd62-8XAc)
2022/01/05(水) 10:34:58.47ID:TbL+VltAd TypeScriptなしではJS開発やってられなくなってしまったな
特にチーム開発
特にチーム開発
402デフォルトの名無しさん (ワッチョイ e22c-4nvB)
2022/01/05(水) 11:00:24.24ID:dUhlmVC50403デフォルトの名無しさん (ササクッテロリ Spf1-Wb4d)
2022/01/05(水) 11:06:50.05ID:llHLsWPPp >>400
おまえは相手がうんと言うまでスレチ議論続けるつもりか
おまえは相手がうんと言うまでスレチ議論続けるつもりか
404デフォルトの名無しさん (アウアウウー Saa5-FJ/U)
2022/01/05(水) 11:43:03.34ID:93Qk8F8ua 例えばリストビューを作るときにアイテムのTagに日時を代入しとく
そうしたら選択したアイテムの日時がすぐにわかるから。こんなのはよくやる手法だよね
で、実際にアイテムがクリックされたときにTagを読んで日時を取得しようとしたらstringだったりDateTimeだったりして型エラー。バリデーションwが必要になる
こんなの(アホがプログラミングしたら)c#でも日常茶飯事だからな
tsでも同じ。アホがプログラミングしたらバリデーションwは必須だし、普通にプログラミングしたら不要
そうしたら選択したアイテムの日時がすぐにわかるから。こんなのはよくやる手法だよね
で、実際にアイテムがクリックされたときにTagを読んで日時を取得しようとしたらstringだったりDateTimeだったりして型エラー。バリデーションwが必要になる
こんなの(アホがプログラミングしたら)c#でも日常茶飯事だからな
tsでも同じ。アホがプログラミングしたらバリデーションwは必須だし、普通にプログラミングしたら不要
405デフォルトの名無しさん (テテンテンテン MM26-8VTm)
2022/01/05(水) 11:54:44.06ID:ZRZErZAVM >>404
君は議論の焦点を全く理解してないようだね
君は議論の焦点を全く理解してないようだね
406デフォルトの名無しさん (ワッチョイ aebb-dPEu)
2022/01/05(水) 12:07:48.08ID:2gwkfiFL0 すまんが、昔、Linux + LLDBでのC#のデバッグ方法が公式サイトに書かれていたようが気がするんだけどさ
そんなようなページってどこにあるのか、誰か知ってたら教えて!!!
そんなようなページってどこにあるのか、誰か知ってたら教えて!!!
407デフォルトの名無しさん (アウアウウー Saa5-45BR)
2022/01/05(水) 14:47:28.15ID:kRupjksVa 昔OSも乗ってない小規模組み込みをアセンブリでずっと書いてたけど、
アセンブリには当然型なんて概念そのものが存在しないが、
だからintとBCDを間違えたり、構造体のポインタを別の構造体のポインタと勘違いする
ミスが多いかと言うと、そこは意外とそうでもなかったりする。
それより生産性に対する影響の方が大きい印象だね。
まあこれは小規模かつ基本1人の開発だったからそうだっただけで、大規模かつチーム開発だと
話が変わってくるのかもしれない。
この辺はゲーム業界の人が詳しそうだね。
あの世界は下手したら90年代の終わり頃までアセンブリでやってたはず
アセンブリには当然型なんて概念そのものが存在しないが、
だからintとBCDを間違えたり、構造体のポインタを別の構造体のポインタと勘違いする
ミスが多いかと言うと、そこは意外とそうでもなかったりする。
それより生産性に対する影響の方が大きい印象だね。
まあこれは小規模かつ基本1人の開発だったからそうだっただけで、大規模かつチーム開発だと
話が変わってくるのかもしれない。
この辺はゲーム業界の人が詳しそうだね。
あの世界は下手したら90年代の終わり頃までアセンブリでやってたはず
408デフォルトの名無しさん (ワッチョイ d22d-qpXy)
2022/01/05(水) 15:04:40.06ID:XpPjLRYm0 バグには様々な要因があるから、不正な型が代入された場合だけを過度に心配してもね
409デフォルトの名無しさん (ワッチョイ ed18-TVXy)
2022/01/05(水) 15:08:39.22ID:C1Xb8B3u0 型を気にしない馬鹿はテストも当然にしないから
410デフォルトの名無しさん (スププ Sd62-rbeQ)
2022/01/05(水) 15:14:15.12ID:ROW6egx4d >>384
自分が守らなければそりゃ保証もされないだろ。
C#ならある型にはある値しか入らないと思ってそう。
例えば構造体につっこんでFieldOffsetで上書きすればあっさり壊れるぞ。
[StructLayout(LayoutKind.Explicit)]
struct XXX {
[FieldOffset(0)] public DateTime Value;
[FieldOffset(0)] public ushort Tag;
}
でXXX.Tagに適当なもの入れたらValueは無茶苦茶になる。
自分が守らなければそりゃ保証もされないだろ。
C#ならある型にはある値しか入らないと思ってそう。
例えば構造体につっこんでFieldOffsetで上書きすればあっさり壊れるぞ。
[StructLayout(LayoutKind.Explicit)]
struct XXX {
[FieldOffset(0)] public DateTime Value;
[FieldOffset(0)] public ushort Tag;
}
でXXX.Tagに適当なもの入れたらValueは無茶苦茶になる。
411デフォルトの名無しさん (ブーイモ MM26-8yPh)
2022/01/05(水) 15:54:13.43ID:qaVNdYDmM 参照型の変数にnullが入ってるかもしれないし、C#の場合は例外の型もドキュメントの記載を信じるしかないよね
結局は程度問題なんだよ
前者のnullの問題についてはnull許容参照型を使えば型として区別できるけど、null非許容だからといって絶対にnullが入らないわけではなく簡単にnullを混入させることができる
彼の大嫌いなTSと同じく、特にランタイムチェックのない紳士協定だ
結局は程度問題なんだよ
前者のnullの問題についてはnull許容参照型を使えば型として区別できるけど、null非許容だからといって絶対にnullが入らないわけではなく簡単にnullを混入させることができる
彼の大嫌いなTSと同じく、特にランタイムチェックのない紳士協定だ
412デフォルトの名無しさん (アウアウウー Saa5-45BR)
2022/01/05(水) 16:24:00.16ID:kRupjksVa っていうかこれたしか元はvarの話だよね。
繰り返しになるけど、元々の問題提起、つまり
「右辺の型が推測しづらいケースでもvarを使うのは不適切じゃないのか?」は正しいよ完全にw
匿名型を受ける場合以外のvarの目的は、「見れば分かる」冗長な繰り返しを避けて
シンプルにすること。
「かっこ悪い」みたいな中二病的動機で意地でも型を明示しないことに固執する奴はアホだが、
困ったことに現実にはそういうアホが結構いる。
この辺LINQの乱用が嫌われるのと同じなんだろうねw
シンプルにするための道具を使ってわざわざ難解にするバカw
たぶん彼はシンプルとは文字数が少ないことだと倒錯している
繰り返しになるけど、元々の問題提起、つまり
「右辺の型が推測しづらいケースでもvarを使うのは不適切じゃないのか?」は正しいよ完全にw
匿名型を受ける場合以外のvarの目的は、「見れば分かる」冗長な繰り返しを避けて
シンプルにすること。
「かっこ悪い」みたいな中二病的動機で意地でも型を明示しないことに固執する奴はアホだが、
困ったことに現実にはそういうアホが結構いる。
この辺LINQの乱用が嫌われるのと同じなんだろうねw
シンプルにするための道具を使ってわざわざ難解にするバカw
たぶん彼はシンプルとは文字数が少ないことだと倒錯している
413デフォルトの名無しさん (スププ Sd62-8XAc)
2022/01/05(水) 17:12:39.57ID:x9hFTlB3d varの型が分からん分からんってこいつメモ帳で開発してんのか?
414デフォルトの名無しさん (アウアウウー Saa5-FJ/U)
2022/01/05(水) 17:24:59.67ID:5TZJeeZKa IDEだけでしかソース見ない奴は問題ないんだよ
ぐぐってブラウザ上で見るソースなんてマウスあてても型表示してくれないからな
ぐぐってブラウザ上で見るソースなんてマウスあてても型表示してくれないからな
415デフォルトの名無しさん (ワッチョイ ed18-TVXy)
2022/01/05(水) 17:28:23.80ID:C1Xb8B3u0 どんだけ小さなプロジェクトしか関わったことないのか知らないが
code reviewするときに数百、数千というvarをおまえはいちいちマウス乗せてチェックしてるのか?
型を気にしないならオープンソースもコードを確認せずビルドして使うタイプだろう。
OSS品質=誰かがチェックしてくれるはず=テストしてない=今のMSのコード品質
code reviewするときに数百、数千というvarをおまえはいちいちマウス乗せてチェックしてるのか?
型を気にしないならオープンソースもコードを確認せずビルドして使うタイプだろう。
OSS品質=誰かがチェックしてくれるはず=テストしてない=今のMSのコード品質
416デフォルトの名無しさん (アウアウウー Saa5-FJ/U)
2022/01/05(水) 17:32:31.52ID:5TZJeeZKa var使ってるぐらいで崩壊するようなとこは大きいの作れないから気にする必要ないよw
417デフォルトの名無しさん (ワッチョイ 8101-ooUO)
2022/01/05(水) 17:43:11.47ID:t5pkfnoc0 varなんて大抵は右辺見たら型わかるやろ?
何が分からんのだ?
何が分からんのだ?
418デフォルトの名無しさん (ワッチョイ ed18-TVXy)
2022/01/05(水) 17:48:48.78ID:C1Xb8B3u0 実験結果は分かった気になって実は全然分かってないでした。
でも分かった気になってるのでいつまでもなぜ分からないのだ?と問い続ける。
でも分かった気になってるのでいつまでもなぜ分からないのだ?と問い続ける。
419デフォルトの名無しさん (ワッチョイ 8101-ooUO)
2022/01/05(水) 17:52:58.23ID:t5pkfnoc0 いやマジで何が分からんの?アホの子なの?
420デフォルトの名無しさん (ワッチョイ d242-hDuN)
2022/01/05(水) 17:58:12.21ID:bWjicXEh0 つか、変数名見ればクラス名も分かる程度にしておくのが普通だから
マウスで調べなくてもだいたい分かる
マウスで調べなくてもだいたい分かる
421デフォルトの名無しさん (ワッチョイ ed18-TVXy)
2022/01/05(水) 17:58:55.28ID:C1Xb8B3u0 自演じゃないよ、彼はそう信じてるんだ。笑わないでほしい。
422デフォルトの名無しさん (ワッチョイ 9d78-iZeD)
2022/01/05(水) 18:09:44.71ID:R56PdZ5+0 >>421
このスレの住人はお前のことを笑っているぞ
このスレの住人はお前のことを笑っているぞ
423デフォルトの名無しさん (ワッチョイ 8101-ooUO)
2022/01/05(水) 18:09:55.54ID:t5pkfnoc0 staticおじさんみたいなもんだな
424デフォルトの名無しさん (ワッチョイ ed18-TVXy)
2022/01/05(水) 18:21:06.82ID:C1Xb8B3u0 そして彼は笑いながら未テスト納品を繰り返す。そしてまたスパコンのデータを吹き飛ばす。
425デフォルトの名無しさん (ワッチョイ 8201-TJkF)
2022/01/05(水) 18:39:16.92ID:w42D9Ab/0 コードレビュー時にローカル変数の型をいちいち調べる意味がよくわからん
必要になるのってバグの原因調査する時だけでしょ
必要になるのってバグの原因調査する時だけでしょ
426デフォルトの名無しさん (ワッチョイ 31a7-TiOx)
2022/01/05(水) 18:41:30.05ID:jje+EFiu0 TS、JSの型がゴミなのはわかる
c#のvarも俺は嫌い
普通に読みにくい
最近は派遣先会社のVSに仕込まれた強制変換スクリプト?で保存すると勝手にvarが明示的な型に置き換えられて
久しく見ない問題だったが
c#のvarも俺は嫌い
普通に読みにくい
最近は派遣先会社のVSに仕込まれた強制変換スクリプト?で保存すると勝手にvarが明示的な型に置き換えられて
久しく見ない問題だったが
427デフォルトの名無しさん (ワッチョイ ed18-TVXy)
2022/01/05(水) 18:42:19.84ID:C1Xb8B3u0 何も知らないなら喋らなきゃ無知はバレない。
428デフォルトの名無しさん (アウアウウー Saa5-FJ/U)
2022/01/05(水) 19:07:10.79ID:5TZJeeZKa429デフォルトの名無しさん (ワッチョイ e95f-rbeQ)
2022/01/05(水) 19:19:51.10ID:fuEg19Cq0 限度の問題では?
MSの規約にあわせれば良いでしょ。
IEnumerable<T>で受けるべきなのにList<T>で受けてるとかそういう不適切な状態になってない限りvarで良いと思うけどな。
varは省略の為に使うのではなくて推論の為に使うんよ。
MSの規約にあわせれば良いでしょ。
IEnumerable<T>で受けるべきなのにList<T>で受けてるとかそういう不適切な状態になってない限りvarで良いと思うけどな。
varは省略の為に使うのではなくて推論の為に使うんよ。
430デフォルトの名無しさん (ワッチョイ 31a7-TiOx)
2022/01/05(水) 19:53:56.06ID:jje+EFiu0 varなんて右クリックメニューで元に戻せるから書くだけ書いたら明示的な記述に直しちゃった方がいいよ
431デフォルトの名無しさん (アウアウウー Saa5-45BR)
2022/01/05(水) 19:57:59.86ID:kRupjksVa >>429
推論はするよりしない方が脳への負担が低いはずなので、
君の説を採るとvarは全面禁止すべきという結論になってしまうよw
少なくともコードの読み手(書き手ではなく)にとってのvarのメリットは
右辺の型が分かりきっている時に左辺の方でもくどくどそれを繰り返される冗長さが回避されることだ。
推論はするよりしない方が脳への負担が低いはずなので、
君の説を採るとvarは全面禁止すべきという結論になってしまうよw
少なくともコードの読み手(書き手ではなく)にとってのvarのメリットは
右辺の型が分かりきっている時に左辺の方でもくどくどそれを繰り返される冗長さが回避されることだ。
432デフォルトの名無しさん (ラクッペペ MM26-geyu)
2022/01/05(水) 20:04:49.66ID:lXYh5E9eM433デフォルトの名無しさん (ラクッペペ MM26-X9o+)
2022/01/05(水) 20:09:49.34ID:34fypwCFM 書くやつは楽
コピペ盗作するやつは脳味噌が必要
var大勝利じゃん
コピペ盗作するやつは脳味噌が必要
var大勝利じゃん
434デフォルトの名無しさん (ワッチョイ 31a7-TiOx)
2022/01/05(水) 20:11:27.06ID:jje+EFiu0 >>432
そもそもこれがゴミなのか有効なのか?
って議論がなされないまま突然導入されてほら使えだからな
VSの右クリックメニューにもvarを元に戻す機能が付いたってことはあんまり評判よくないだろコレ
そもそもこれがゴミなのか有効なのか?
って議論がなされないまま突然導入されてほら使えだからな
VSの右クリックメニューにもvarを元に戻す機能が付いたってことはあんまり評判よくないだろコレ
435デフォルトの名無しさん (ワッチョイ ade6-X9o+)
2022/01/05(水) 20:16:51.17ID:eampx4mf0 議論に参加できるぐらい出世しろ
436デフォルトの名無しさん (ワッチョイ 31a7-TiOx)
2022/01/05(水) 20:20:48.72ID:jje+EFiu0 >>435
お前の会社は社長が1番技術力高いのか?
お前の会社は社長が1番技術力高いのか?
437デフォルトの名無しさん (ワッチョイ 6e33-tkKJ)
2022/01/05(水) 20:41:21.39ID:P9kF/5N50 varで推論しないほうが脳への負担が低いというのはどういうことですか?
438デフォルトの名無しさん (ワッチョイ ed18-TVXy)
2022/01/05(水) 20:42:40.80ID:C1Xb8B3u0 >>437
型が分からなくてもイライラしない人はそもそも負担がありません。
型が分からなくてもイライラしない人はそもそも負担がありません。
439デフォルトの名無しさん (ワッチョイ 31a7-TiOx)
2022/01/05(水) 21:00:44.67ID:jje+EFiu0 アホが作った無意味なマトリョーシカクラス追わなくて済むからな
440デフォルトの名無しさん (ワッチョイ 8201-TJkF)
2022/01/05(水) 21:16:57.60ID:w42D9Ab/0 15年近く前から導入されてるものに対して
いまだに文句を言い続ける「熱量」には感心する
いまだに文句を言い続ける「熱量」には感心する
441デフォルトの名無しさん (ワッチョイ 31a7-TiOx)
2022/01/05(水) 21:20:57.24ID:jje+EFiu0442デフォルトの名無しさん (アウアウウー Saa5-45BR)
2022/01/05(水) 21:56:49.45ID:LjEcMnXra >>441
そこは「しっくりこないんです」、と書いて欲しかったw
そこは「しっくりこないんです」、と書いて欲しかったw
443デフォルトの名無しさん (ワッチョイ 9d78-iZeD)
2022/01/05(水) 22:09:26.64ID:R56PdZ5+0 staticおじさん生きてたのかw
444デフォルトの名無しさん (ワッチョイ 2e8e-6dX5)
2022/01/05(水) 23:32:21.89ID:9KUuQ3bM0 わかってる奴がvar使うのはOK
馬鹿がvar使うのはNG
馬鹿がvar使うのはNG
445デフォルトの名無しさん (ワッチョイ 49b0-zYQh)
2022/01/05(水) 23:33:33.69ID:HyMzvNe00 じゃあdynamicつかうね
446デフォルトの名無しさん (ワッチョイ e95f-rbeQ)
2022/01/06(木) 02:10:11.97ID:jegOl+WX0447デフォルトの名無しさん (ワッチョイ fd1a-Z3YW)
2022/01/06(木) 02:36:29.67ID:Vr7+jyV40 そのメソッド追っ掛けるのが面倒だって話ではないのか
448デフォルトの名無しさん (アウアウウー Saa5-45BR)
2022/01/06(木) 02:50:36.77ID:ChZ1cCgVa >>446
推論の主語が変わってるよw
あなたの言ってる推論の主はコンパイラ(開発環境)だよね?w
ついでに言うと、あなたがたぶん言いたいことは「書く時の負担が減らせる」ということ。
だからそうじゃなくてコードの読み手にとってのメリットが重要なのよw
そう書いてるよね?>>431
だってそうでしょ。
コードを書いてる時の書き手にとってはどの変数がどの型かなんて
当然自明なんだからvarにはメリットしかないよ。そんなの当たり前でしょw
結局varについても意見が割れるのは前にも書いた(>255)こういう意識の差があるからだろうね。
世の中KISSなんてただのお題目だと思っててなぜ重要か体感レベルで実感できない人が結構いる。
推論の主語が変わってるよw
あなたの言ってる推論の主はコンパイラ(開発環境)だよね?w
ついでに言うと、あなたがたぶん言いたいことは「書く時の負担が減らせる」ということ。
だからそうじゃなくてコードの読み手にとってのメリットが重要なのよw
そう書いてるよね?>>431
だってそうでしょ。
コードを書いてる時の書き手にとってはどの変数がどの型かなんて
当然自明なんだからvarにはメリットしかないよ。そんなの当たり前でしょw
結局varについても意見が割れるのは前にも書いた(>255)こういう意識の差があるからだろうね。
世の中KISSなんてただのお題目だと思っててなぜ重要か体感レベルで実感できない人が結構いる。
449デフォルトの名無しさん (ワッチョイ e510-JblN)
2022/01/06(木) 03:46:43.08ID:Jy6L3sVt0450デフォルトの名無しさん (ワッチョイ ade6-X9o+)
2022/01/06(木) 06:07:27.91ID:WSidiaMA0451デフォルトの名無しさん (スププ Sd62-rbeQ)
2022/01/06(木) 08:30:02.04ID:GGuE86Bnd >>448
違うよ。
コードの書き手も読み手も楽が出来る。
varで宣言されている変数に関しては、推論を行わせて、自動的に型が決まっていても良い、というシンプルな話。
Task<IQueryable<Bar>> foo()
{
var masters=getMasters();
//なんかmastersを使った処理
// :
var predictate= e=> ... ;//変換したmastersを使った関数
IQueryable<Bar> result = xxxx.Where(predicate).Take(10);
//resultの確認
return result;
}
こんながあったとき、predictateとmastersはvarで充分では?
違うよ。
コードの書き手も読み手も楽が出来る。
varで宣言されている変数に関しては、推論を行わせて、自動的に型が決まっていても良い、というシンプルな話。
Task<IQueryable<Bar>> foo()
{
var masters=getMasters();
//なんかmastersを使った処理
// :
var predictate= e=> ... ;//変換したmastersを使った関数
IQueryable<Bar> result = xxxx.Where(predicate).Take(10);
//resultの確認
return result;
}
こんながあったとき、predictateとmastersはvarで充分では?
452デフォルトの名無しさん (ワッチョイ 8101-ooUO)
2022/01/06(木) 09:18:51.63ID:BMV6DlOj0 全く論点が不明
コードレビューでは全てのvar変数をマウスオーバーして型を確認しなければならないと言うのもシチュエーションとして理解不能、猿が働いてる企業なのか?
そもそもそんな使用の是非の議論が必要な話なら世の中にvar禁止の組織はさぞかしあるんだろ?
御託並べる前にgithubでvar禁止にしてるC#プロジェクトでも持ってこいよw
コードレビューでは全てのvar変数をマウスオーバーして型を確認しなければならないと言うのもシチュエーションとして理解不能、猿が働いてる企業なのか?
そもそもそんな使用の是非の議論が必要な話なら世の中にvar禁止の組織はさぞかしあるんだろ?
御託並べる前にgithubでvar禁止にしてるC#プロジェクトでも持ってこいよw
453デフォルトの名無しさん (ワッチョイ 8101-ooUO)
2022/01/06(木) 09:23:52.72ID:BMV6DlOj0 この手の「一人のstaticおじさんに大勢が説教する図」はさまざまなスレで見かけるけどまったく生産性ゼロで不毛だよな
ほかに同調する奴いない時点で自分が間違ってる可能性か考えろよ
まず自分を疑うのはエンジニアの基本やろ
ほかに同調する奴いない時点で自分が間違ってる可能性か考えろよ
まず自分を疑うのはエンジニアの基本やろ
454デフォルトの名無しさん (ワッチョイ ed18-TVXy)
2022/01/06(木) 09:37:12.69ID:VWdkYx+r0 >>440
また低能馬鹿論理でましたね。WPFでも同じ馬鹿なこと言ってる人がいました。
また低能馬鹿論理でましたね。WPFでも同じ馬鹿なこと言ってる人がいました。
455デフォルトの名無しさん (ブーイモ MM62-zmFY)
2022/01/06(木) 10:00:08.90ID:WPmMIBV7M >>451
C#だとresultの型は推論できないんだっけ?
C#だとresultの型は推論できないんだっけ?
456デフォルトの名無しさん (ワッチョイ ed18-TVXy)
2022/01/06(木) 10:02:24.36ID:VWdkYx+r0 >>ID:BMV6DlOj0
論点すら分からない馬鹿でも喋らなきゃ無知はバレない。
論点すら分からない馬鹿でも喋らなきゃ無知はバレない。
457デフォルトの名無しさん (ワッチョイ aebb-LZo4)
2022/01/06(木) 10:07:20.21ID:sIABQ4ka0 初心者スレで無知晒しても別に構わんだろ
ちゃんと教えてやれよ
ちゃんと教えてやれよ
458デフォルトの名無しさん (ワッチョイ e95f-rbeQ)
2022/01/06(木) 10:10:39.02ID:jegOl+WX0459デフォルトの名無しさん (ワッチョイ ed18-TVXy)
2022/01/06(木) 10:11:51.45ID:VWdkYx+r0 >>ID:BMV6DlOj0
いちいち捏造してはマウンティングしてきて
相手を猿だの罵倒してくるクソ野郎にはクソレス返しで十分。
いちいち捏造してはマウンティングしてきて
相手を猿だの罵倒してくるクソ野郎にはクソレス返しで十分。
460デフォルトの名無しさん (ワッチョイ 4274-miAB)
2022/01/06(木) 10:36:42.54ID:cm3DDwaa0 議論用でやれば
凄い流れるんだけど
凄い流れるんだけど
461デフォルトの名無しさん (ワッチョイ 8101-ooUO)
2022/01/06(木) 10:38:33.11ID:BMV6DlOj0 数千のvarをマウスオーバーして型を調べるってんだからそんなもん猿以外の何者でもないだろw
それでカネ貰えるんだからいい仕事だなあ
で、var禁止のC#プロジェクトは見つかったのか?
さっさと探してこいよ
それでカネ貰えるんだからいい仕事だなあ
で、var禁止のC#プロジェクトは見つかったのか?
さっさと探してこいよ
462デフォルトの名無しさん (ワッチョイ ed18-TVXy)
2022/01/06(木) 10:42:17.16ID:VWdkYx+r0 ID:BMV6DlOj0 ←無職のクソ野郎が仕事を語る
463デフォルトの名無しさん (スフッ Sd62-XkW2)
2022/01/06(木) 10:52:01.70ID:XJZjWgUBd 戦犯は>>323
464デフォルトの名無しさん (ワッチョイ ed18-TVXy)
2022/01/06(木) 10:58:22.55ID:VWdkYx+r0 >>463
馬鹿の壁の社会実験。参加してくれた馬鹿に感謝する。
馬鹿の壁の社会実験。参加してくれた馬鹿に感謝する。
465デフォルトの名無しさん (ドコグロ MM56-wcXw)
2022/01/06(木) 11:41:47.82ID:CKbwlJU4M >>458
メソッドの宣言?
ここの話だろ
> IQueryable<Bar> result = xxxx.Where(predicate).Take(10);
xxxx の定義によるけど普通は var で良くね?
メソッドの宣言?
ここの話だろ
> IQueryable<Bar> result = xxxx.Where(predicate).Take(10);
xxxx の定義によるけど普通は var で良くね?
466デフォルトの名無しさん (アウアウウー Saa5-FJ/U)
2022/01/06(木) 12:18:50.36ID:+o9sIybza IQueryable<Bar> result = xxxx.Where(predicate).Take(10);
↑だとこの一行でBarとってるとわかる
var result = xxxx.Where(predicate).Take(10);
これだとなにかを取ってるとしかわからない。たった数文字の差だけど受け取れる情報が多くなって読みやすい
俺みたいなエスパー能力低い人間にとっては普通に書いてくれた方がありがたい
↑だとこの一行でBarとってるとわかる
var result = xxxx.Where(predicate).Take(10);
これだとなにかを取ってるとしかわからない。たった数文字の差だけど受け取れる情報が多くなって読みやすい
俺みたいなエスパー能力低い人間にとっては普通に書いてくれた方がありがたい
467デフォルトの名無しさん (ブーイモ MM26-zmFY)
2022/01/06(木) 12:34:17.18ID:B4j0C8aZM 試してみたけどpredicateの型を明示的にExpression<Func<T>>にしてないと
WhereがIEnumelableで解釈されてだめやね
resultの型をIQueryable指定しててもコンパイルエラー
Whereにlambdaのリテラル入れた場合は varでOk
WhereがIEnumelableで解釈されてだめやね
resultの型をIQueryable指定しててもコンパイルエラー
Whereにlambdaのリテラル入れた場合は varでOk
468デフォルトの名無しさん (ワッチョイ e95f-rbeQ)
2022/01/06(木) 12:57:35.75ID:jegOl+WX0469デフォルトの名無しさん (アウアウウー Saa5-FJ/U)
2022/01/06(木) 13:20:28.91ID:+o9sIybza Barだと分かる必要はないけど分かったほうがありがたい
無地のジグソーパズルでも問題なく完成できるけど、絵柄があったほうがありがたいのと同じ
無地のジグソーパズルでも問題なく完成できるけど、絵柄があったほうがありがたいのと同じ
470デフォルトの名無しさん (ドコグロ MM56-wcXw)
2022/01/06(木) 13:50:37.41ID:A4g6fK0TM わかる必要はないのわかったほうがありがたい?
初心者にありがちな必要ないのにやけに細部にこだわるタイプなのかな?
初心者にありがちな必要ないのにやけに細部にこだわるタイプなのかな?
471デフォルトの名無しさん (アウアウウー Saa5-FJ/U)
2022/01/06(木) 14:04:18.23ID:+o9sIybza その行の前後見ればvarとあってもそれがBarだとわかる
でもBarと明示してくれたら前後見る手間なく分かる、たったそれだけの差をありがたいと言ってる
var result = colBar.Where(predicate).Take(10);
xxxxでなくcolBarというように書かれてたらvarでもBarだと分かるからありがたいし
もっと言えばresultとかやめて
var resBarTop10aroundPOI = colBarInTokyo.Where(predicate).Take(10);
こんな風にしてくれたら、この一行見るだけでそれが何しているのかが分かってありがたい
俺みたいに理解力に乏しい人間にとっては情報量多いほうがありがたいんだよ。無駄に多すぎるのは勘弁だが
でもBarと明示してくれたら前後見る手間なく分かる、たったそれだけの差をありがたいと言ってる
var result = colBar.Where(predicate).Take(10);
xxxxでなくcolBarというように書かれてたらvarでもBarだと分かるからありがたいし
もっと言えばresultとかやめて
var resBarTop10aroundPOI = colBarInTokyo.Where(predicate).Take(10);
こんな風にしてくれたら、この一行見るだけでそれが何しているのかが分かってありがたい
俺みたいに理解力に乏しい人間にとっては情報量多いほうがありがたいんだよ。無駄に多すぎるのは勘弁だが
472デフォルトの名無しさん (ワッチョイ 2247-4nvB)
2022/01/06(木) 14:08:45.09ID:t38juXmg0 class HogeBase
{
・・・
}
class Hoge : HogeBase
{
・・・
}
static Hoge GetHoge()
{
return new Hoge();
}
の場合
HogeBase hoge = GetHoge();
だと右辺の型確認しない主義の人はhogeの実態がHogeBase型だと勘違いしたまま作業することになるからまずいんじゃないの?
{
・・・
}
class Hoge : HogeBase
{
・・・
}
static Hoge GetHoge()
{
return new Hoge();
}
の場合
HogeBase hoge = GetHoge();
だと右辺の型確認しない主義の人はhogeの実態がHogeBase型だと勘違いしたまま作業することになるからまずいんじゃないの?
473デフォルトの名無しさん (ワッチョイ 45ad-Rgq3)
2022/01/06(木) 14:13:52.71ID:HsEWm91X0 それは勘違いじゃないんじゃないの?
474デフォルトの名無しさん (アウアウウー Saa5-FJ/U)
2022/01/06(木) 14:15:52.97ID:+o9sIybza それはHogeBaseとして扱いたいからHogeBaseに入れてるんでしょ
中身はHoge2やHoge3かもしれない。Hogeと知らなくてもいいよ
中身はHoge2やHoge3かもしれない。Hogeと知らなくてもいいよ
475デフォルトの名無しさん (ワッチョイ 2247-8XAc)
2022/01/06(木) 14:19:47.84ID:t38juXmg0476デフォルトの名無しさん (ワッチョイ 45ad-Rgq3)
2022/01/06(木) 14:29:24.20ID:HsEWm91X0 何か問題が?
それで困るなら派生させちゃ駄目
それで困るなら派生させちゃ駄目
477デフォルトの名無しさん (アウアウウー Saa5-FJ/U)
2022/01/06(木) 14:33:13.09ID:+o9sIybza HogeBaseがさらにIBaseってインターフェース派生だったらどうするよ
IBase hoge = GetHoge();
hogeは何も実装できないInterfaceだから何の動作もしないはずなんて思うやつはいない
そもそも型に対して前提としてる考え方が違う
GetがHogeじゃなくてHogeBase返してきたら右辺見ても区別つかないよ
static HogeBase GetHoge()
{
return new Hoge();
}
IBase hoge = GetHoge();
hogeは何も実装できないInterfaceだから何の動作もしないはずなんて思うやつはいない
そもそも型に対して前提としてる考え方が違う
GetがHogeじゃなくてHogeBase返してきたら右辺見ても区別つかないよ
static HogeBase GetHoge()
{
return new Hoge();
}
478デフォルトの名無しさん (ワッチョイ 2247-4nvB)
2022/01/06(木) 14:33:43.94ID:t38juXmg0479デフォルトの名無しさん (ワッチョイ 2247-4nvB)
2022/01/06(木) 14:37:00.03ID:t38juXmg0 >>477
うん、だからレビューするなら真面目に右辺のメソッドの中身まで確認しろってこと
うん、だからレビューするなら真面目に右辺のメソッドの中身まで確認しろってこと
480デフォルトの名無しさん (ドコグロ MM56-wcXw)
2022/01/06(木) 14:41:37.87ID:A4g6fK0TM481デフォルトの名無しさん (ワッチョイ 2247-8XAc)
2022/01/06(木) 14:54:39.91ID:t38juXmg0 使ってるからこの話題持ち出したんだけど
>>480
>>480
482デフォルトの名無しさん (ドコグロ MM56-wcXw)
2022/01/06(木) 15:15:22.51ID:FKeKEAH4M hoge.fuga();
って言うコードをレビューする時に実際に呼ばれるメソッドがまだ作られてないケースもあるんだけどどうやってレビューしてるの?
って言うコードをレビューする時に実際に呼ばれるメソッドがまだ作られてないケースもあるんだけどどうやってレビューしてるの?
483デフォルトの名無しさん (アウアウウー Saa5-45BR)
2022/01/06(木) 15:19:14.44ID:Rudq/m5Ya484デフォルトの名無しさん (ブーイモ MM26-zmFY)
2022/01/06(木) 15:20:25.57ID:77VqpiEwM var嫌がってるのってもしかしてテストコードを書かない種族の人?
485デフォルトの名無しさん (ワッチョイ e549-Loja)
2022/01/06(木) 16:21:47.64ID:7whnQ4QD0 ワイはvarのほうが効率あがる
うちはそこはレビューよりも書き手優先でvar推奨(c#)
レビューも気にするならその段階でIDE起動してる
その現場でいちいち書かせたいんなら型明示を強制すればいいんでね
うちのとこはそんなとこまでちまちま言い合うほど暇じゃないし、それ以上にテスト充実してほしい勢
まあvarにわざわざ書き直させたりもしないねw
うちはそこはレビューよりも書き手優先でvar推奨(c#)
レビューも気にするならその段階でIDE起動してる
その現場でいちいち書かせたいんなら型明示を強制すればいいんでね
うちのとこはそんなとこまでちまちま言い合うほど暇じゃないし、それ以上にテスト充実してほしい勢
まあvarにわざわざ書き直させたりもしないねw
486デフォルトの名無しさん (アウアウウー Saa5-FJ/U)
2022/01/06(木) 16:35:03.08ID:+o9sIybza 俺はvarが嫌なんじゃなくて読みにくいコードが嫌
で、読みにくい要因の一つがvarだということな
さらに自分がvar使うのが嫌なんじゃなくて他人が使ってるのが嫌。自分のコードだったらそんなこと気にしなくても読めるし
自分に優しく他人に厳しくがモットーなんだよ
で、読みにくい要因の一つがvarだということな
さらに自分がvar使うのが嫌なんじゃなくて他人が使ってるのが嫌。自分のコードだったらそんなこと気にしなくても読めるし
自分に優しく他人に厳しくがモットーなんだよ
487デフォルトの名無しさん (ワッチョイ 9901-45BR)
2022/01/06(木) 16:36:42.04ID:OeKJG00I0 私C#良く分からないのですが、
そんな私がC#の説明することになりました。
クラスが参照型なのですが、どういう理由でこうなっているのか、
どういう意図でこうなっているのか、何と言って説明すればいいの?
本読んでも「参照型はポインタ的な雰囲気の何か」的な説明しかなくて
なんでこうなっているのか全く書いてなかった。
ちなみに、参照型=ポインタと言い切っちゃってもいいのかな??
よろしくお願いいたします。
そんな私がC#の説明することになりました。
クラスが参照型なのですが、どういう理由でこうなっているのか、
どういう意図でこうなっているのか、何と言って説明すればいいの?
本読んでも「参照型はポインタ的な雰囲気の何か」的な説明しかなくて
なんでこうなっているのか全く書いてなかった。
ちなみに、参照型=ポインタと言い切っちゃってもいいのかな??
よろしくお願いいたします。
488デフォルトの名無しさん (ワッチョイ 9901-45BR)
2022/01/06(木) 16:38:59.36ID:OeKJG00I0 コード書くときはvarで書いて、
それをintとかlongに変換してくれるツールを作ればいいだけなのでは??
それをintとかlongに変換してくれるツールを作ればいいだけなのでは??
489デフォルトの名無しさん (ワッチョイ 9901-1ka7)
2022/01/06(木) 17:01:20.10ID:WCTWOnks0490デフォルトの名無しさん (ブーイモ MM26-zmFY)
2022/01/06(木) 17:31:36.72ID:ae3RunliM491デフォルトの名無しさん (ワッチョイ 9901-1ka7)
2022/01/06(木) 17:35:14.31ID:WCTWOnks0 Varでも何でもいいけど読みながらその都度型を類推するよりは読む前に何をしてるか理解してから読む
大まかな流れを理解してから読むのとメクラ滅法に読むのじゃ時間が100倍も1000倍も異なるからね
書く時だってそう
大まかな流れを理解してから読むのとメクラ滅法に読むのじゃ時間が100倍も1000倍も異なるからね
書く時だってそう
492デフォルトの名無しさん (ドコグロ MM56-wcXw)
2022/01/06(木) 17:50:32.30ID:rL+VifTwM493デフォルトの名無しさん (ワッチョイ ed18-TVXy)
2022/01/06(木) 17:51:43.10ID:VWdkYx+r0 >>492
型が分からなくてスルーできる脳みそが羨ましいわ〜
型が分からなくてスルーできる脳みそが羨ましいわ〜
494デフォルトの名無しさん (アウグロ MM0a-TiOx)
2022/01/06(木) 17:55:43.01ID:h7LPoqLqM そもそもvarがいいのって書くときだけじゃん
戻り値なんかでやられると最悪じゃん
戻り値なんかでやられると最悪じゃん
495デフォルトの名無しさん (スフッ Sd62-XkW2)
2022/01/06(木) 17:58:59.73ID:XJZjWgUBd 結局宣言行まで戻って型見る面倒
ショートカットでいいような
ショートカットでいいような
496デフォルトの名無しさん (ドコグロ MM56-wcXw)
2022/01/06(木) 18:41:32.37ID:6bRgcWdcM >>493
そういうレスしかできない時点でなにも困ってないのがバレバレやん
そういうレスしかできない時点でなにも困ってないのがバレバレやん
497デフォルトの名無しさん (ワッチョイ ed18-TVXy)
2022/01/06(木) 19:04:48.00ID:VWdkYx+r0 >>496
トラが檻に戻ってないのに確認しないで施錠できる脳みそみたいな
トラが檻に戻ってないのに確認しないで施錠できる脳みそみたいな
498sage (ワッチョイ 9901-qpXy)
2022/01/06(木) 19:25:09.72ID:OeKJG00I0499デフォルトの名無しさん (ドコグロ MM56-wcXw)
2022/01/06(木) 19:27:13.03ID:6bRgcWdcM 単なるアホかよ、NGしとくわ
500デフォルトの名無しさん (ワッチョイ ed18-TVXy)
2022/01/06(木) 19:34:15.72ID:VWdkYx+r0 >>499
推測しづらいケースが一つも思い浮かばない→推測をしたことがない→馬鹿の壁
推測しづらいケースが一つも思い浮かばない→推測をしたことがない→馬鹿の壁
501デフォルトの名無しさん (アウアウウー Saa5-FJ/U)
2022/01/06(木) 19:34:56.89ID:jNRDp0FJa502デフォルトの名無しさん (ワッチョイ 9d78-iZeD)
2022/01/06(木) 19:35:48.42ID:Bcw/lb7Z0503デフォルトの名無しさん (ワッチョイ 9901-Oi6W)
2022/01/06(木) 19:38:04.42ID:OeKJG00I0 var addFunc(var a, var b){ return (a + b); }
とかはありですか??
とかはありですか??
504デフォルトの名無しさん (ラクッペペ MM26-geyu)
2022/01/06(木) 19:42:33.04ID:Z0ROnAB1M505デフォルトの名無しさん (ワッチョイ 2ee3-iZeD)
2022/01/06(木) 20:15:49.57ID:pGhYWD4M0506デフォルトの名無しさん (ワッチョイ ed18-TVXy)
2022/01/06(木) 20:27:11.92ID:VWdkYx+r0 >>505
おまえの型推論はバグってるな。
おまえの型推論はバグってるな。
507デフォルトの名無しさん (ワッチョイ 6187-F0I3)
2022/01/06(木) 20:53:48.44ID:2nit6p8q0 >>471
これ、古より嫌われているシステムハンガリアンだから結構嫌がる人多いと思うよ
これ、古より嫌われているシステムハンガリアンだから結構嫌がる人多いと思うよ
508デフォルトの名無しさん (ワッチョイ ade6-X9o+)
2022/01/06(木) 20:55:39.69ID:WSidiaMA0 winapiのクソキャストにはハンガリアンぐらいが丁度いい
509デフォルトの名無しさん (アウアウウー Saa5-45BR)
2022/01/06(木) 20:59:03.64ID:snULIxlRa >>487
問題設定自体を変えた方がいいかもね。
なぜ値型ではだめなのか?と。
値型だと少なくとも「フールドを増やしたサブクラスの値を
ベースクラスの型の変数に入れる」なんて芸当は難しくなるね。
というか、こういう禅問答みたいな話は(たぶん重要なんだろうとは思うけど)
初心者は後回しにした方が絶対にいいと思う。
問題設定自体を変えた方がいいかもね。
なぜ値型ではだめなのか?と。
値型だと少なくとも「フールドを増やしたサブクラスの値を
ベースクラスの型の変数に入れる」なんて芸当は難しくなるね。
というか、こういう禅問答みたいな話は(たぶん重要なんだろうとは思うけど)
初心者は後回しにした方が絶対にいいと思う。
510デフォルトの名無しさん (ブーイモ MM6d-zmFY)
2022/01/06(木) 21:28:53.73ID:TiVU33P2M511デフォルトの名無しさん (ワッチョイ 6e33-tkKJ)
2022/01/06(木) 23:17:09.17ID:mv8eR6oh0 C#のスレでメソッド名の先頭が小文字から始まってる時点で、
・意識が低い
・まともに調べたり勉強していない
どちらかであることを認識すべき。
・意識が低い
・まともに調べたり勉強していない
どちらかであることを認識すべき。
512デフォルトの名無しさん (ワッチョイ ed18-TVXy)
2022/01/06(木) 23:20:50.62ID:VWdkYx+r0 varがある時点でやっつけ専用言語なのに
513デフォルトの名無しさん (ワッチョイ dd5f-HU52)
2022/01/06(木) 23:32:25.27ID:8QDluGwV0 >>512
???
???
514デフォルトの名無しさん (ワッチョイ 2247-8XAc)
2022/01/06(木) 23:51:42.25ID:t38juXmg0 >>512
今時C++でさえ型推論付いてるというのに
今時C++でさえ型推論付いてるというのに
515デフォルトの名無しさん (ワッチョイ ed18-TVXy)
2022/01/06(木) 23:53:35.71ID:VWdkYx+r0 どうしてもc++でやっつけコード書きたいから追加した仕様だろ
516デフォルトの名無しさん (ワッチョイ 2247-8XAc)
2022/01/07(金) 00:03:01.88ID:IK3vjsT30 今時型推論ないほうが珍しいだろ
517デフォルトの名無しさん (ワッチョイ ed18-TVXy)
2022/01/07(金) 00:09:41.99ID:qow9t6Ky0 やっつけコードしか書かないプログラマだらけの時代に何言ってんだ
昔はOSの無償サポートは10年とかだったのに今はすぐサポート切れの切り捨て。
なぜならやっつけコードで保守する気ないからだ。Win8とかEdgeとかWPFとかぜーんぶやっつけで作ってたからすぐ捨てられた。
昔はOSの無償サポートは10年とかだったのに今はすぐサポート切れの切り捨て。
なぜならやっつけコードで保守する気ないからだ。Win8とかEdgeとかWPFとかぜーんぶやっつけで作ってたからすぐ捨てられた。
518デフォルトの名無しさん (ワッチョイ 6187-F0I3)
2022/01/07(金) 00:23:20.23ID:bs4RpyaW0 型推論はやっつけなのか。
古き良きなのか、時代についてこれないのか
考え方は人それぞれよね
古き良きなのか、時代についてこれないのか
考え方は人それぞれよね
519デフォルトの名無しさん (ワッチョイ d1ac-Loja)
2022/01/07(金) 00:30:28.71ID:uWMJJK3h0 型推論だめってチームいやだわ
ギスギスしてそうw
ギスギスしてそうw
520デフォルトの名無しさん (ワッチョイ 2247-8XAc)
2022/01/07(金) 00:32:56.56ID:IK3vjsT30 型推論付きの言語はやっつけ専用か
普段この人は何言語でやっつけじゃない開発してんだろう
普段この人は何言語でやっつけじゃない開発してんだろう
521デフォルトの名無しさん (ワッチョイ 42e4-Z3YW)
2022/01/07(金) 00:40:49.40ID:YgufRjXg0 最近は「int key = 0」でなく「Key key = new(0)」みたいに書いてるからvarは使わんな
522デフォルトの名無しさん (ドコグロ MM56-wcXw)
2022/01/07(金) 06:45:05.41ID:j4Wq+RBJM523デフォルトの名無しさん (スップ Sdc2-MYyk)
2022/01/07(金) 08:15:52.34ID:y6x0s+uzd var一切使わない人ってラムダの引数型もクソ真面目に書いてそう
524デフォルトの名無しさん (ワッチョイ ed18-TVXy)
2022/01/07(金) 09:50:10.76ID:qow9t6Ky0 スップw 初心者スレでラムダw
525デフォルトの名無しさん (ワッチョイ ed18-TVXy)
2022/01/07(金) 10:00:38.21ID:qow9t6Ky0 知らないうちにLINQスレもなくなってる。過疎なム板で落ちるとかよほど人気ないのか。
>>523 そうやってガキみたいに初心者相手にマウンティグして全部追い出したんじゃないのか。
>>523 そうやってガキみたいに初心者相手にマウンティグして全部追い出したんじゃないのか。
526デフォルトの名無しさん (ワッチョイ 2e63-Ggfm)
2022/01/07(金) 11:42:40.26ID:yxixByMw0 おーっとここでガキマウントです
527デフォルトの名無しさん (ラクッペペ MM26-X9o+)
2022/01/07(金) 11:50:35.85ID:FRwoYiaWM528デフォルトの名無しさん (ワッチョイ 9901-45BR)
2022/01/07(金) 12:38:03.65ID:6zNCaZbD0 >>509
>> 値型だと少なくとも「フールドを増やしたサブクラスの値を
>> ベースクラスの型の変数に入れる」なんて芸当は難しくなるね。
すみません。良く分かりません。クラスが値型のC++で
「フールドを増やしたサブクラスの値をベースクラスの型の変数に入れる」
なんて芸当、なんの問題もなくできると思うのですが
>>510
>>文字列が値型だとどうなるか考えてみれば?
文字列は内部実装は参照ですが、ユーザ見えは値型と同じだと思うんですが・・・
内部でどう実装されているのかは、そんなに説明するつもりもないし・・・
>> 値型だと少なくとも「フールドを増やしたサブクラスの値を
>> ベースクラスの型の変数に入れる」なんて芸当は難しくなるね。
すみません。良く分かりません。クラスが値型のC++で
「フールドを増やしたサブクラスの値をベースクラスの型の変数に入れる」
なんて芸当、なんの問題もなくできると思うのですが
>>510
>>文字列が値型だとどうなるか考えてみれば?
文字列は内部実装は参照ですが、ユーザ見えは値型と同じだと思うんですが・・・
内部でどう実装されているのかは、そんなに説明するつもりもないし・・・
529デフォルトの名無しさん (スップ Sdc2-MYyk)
2022/01/07(金) 13:00:57.38ID:y6x0s+uzd >>528
ベースクラスの変数に入れることはなんの問題もないけど逆の操作派生クラスに戻せなくなる
C++でもそうだけどnewされた時の型をベースクラスが覚えておかないとvirtualとかasが使えない
ベースクラスの変数に入れることはなんの問題もないけど逆の操作派生クラスに戻せなくなる
C++でもそうだけどnewされた時の型をベースクラスが覚えておかないとvirtualとかasが使えない
530デフォルトの名無しさん (ワッチョイ 9901-45BR)
2022/01/07(金) 13:01:07.20ID:6zNCaZbD0531デフォルトの名無しさん (ワッチョイ ed18-TVXy)
2022/01/07(金) 13:03:35.17ID:qow9t6Ky0 c++に参照あるのに
532デフォルトの名無しさん (スップ Sdc2-MYyk)
2022/01/07(金) 13:03:54.16ID:y6x0s+uzd533デフォルトの名無しさん (ワッチョイ ed18-TVXy)
2022/01/07(金) 13:06:18.93ID:qow9t6Ky0 クラスや構造体の中にポインタもって動的にメモリを確保するだけである。型のサイズは変わらない。
534デフォルトの名無しさん (ワッチョイ 9901-45BR)
2022/01/07(金) 13:08:54.79ID:6zNCaZbD0535デフォルトの名無しさん (ワッチョイ e12d-qpXy)
2022/01/07(金) 13:09:35.44ID:IAj8vN+S0 >>530
生のポインタだとオブジェクトを移動して断片化したメモリの整理が出来ない
生のポインタだとオブジェクトを移動して断片化したメモリの整理が出来ない
536デフォルトの名無しさん (ワッチョイ 9901-45BR)
2022/01/07(金) 13:12:31.36ID:6zNCaZbD0 >>532
それだとクラスは値型でOKという話になっちゃいます。
それだとクラスは値型でOKという話になっちゃいます。
537デフォルトの名無しさん (ワッチョイ 9901-45BR)
2022/01/07(金) 13:17:33.66ID:6zNCaZbD0 >>535
ひょっとして私根本的な所を理解していないのかな?
class clsA { class clsB { class clsC { xxx }}}
みたいなクラスの内部にクラスを含んだクラスであっても
GCでガンガン割り当てられているメモリアドレスを
動かされると言いたいのでしょうか??
ひょっとして私根本的な所を理解していないのかな?
class clsA { class clsB { class clsC { xxx }}}
みたいなクラスの内部にクラスを含んだクラスであっても
GCでガンガン割り当てられているメモリアドレスを
動かされると言いたいのでしょうか??
538デフォルトの名無しさん (ワッチョイ ed18-TVXy)
2022/01/07(金) 13:18:48.25ID:qow9t6Ky0 で参照の何を議論してるんだ?
c#のクラスが参照型なのが許せない!!って言いたいのか? キミがそういうのならそうだろう。キミの中ではな。
c#のクラスが参照型なのが許せない!!って言いたいのか? キミがそういうのならそうだろう。キミの中ではな。
539デフォルトの名無しさん (ラクッペペ MM26-X9o+)
2022/01/07(金) 13:26:11.81ID:FRwoYiaWM 参照のほうが便利だからじゃね?
540デフォルトの名無しさん (ワッチョイ 9901-45BR)
2022/01/07(金) 13:28:12.36ID:6zNCaZbD0541デフォルトの名無しさん (ワッチョイ ed18-TVXy)
2022/01/07(金) 13:34:18.44ID:qow9t6Ky0 >>540
誰が質問をしたかすら知らないが、質問を質問で返す。つまりそれは構ってちゃんだ。
誰が質問をしたかすら知らないが、質問を質問で返す。つまりそれは構ってちゃんだ。
542デフォルトの名無しさん (ワッチョイ 6e33-KZG/)
2022/01/07(金) 13:45:30.30ID:BJs69ghP0 流れを読まず、適当なところに突っかかる
つまりそれは荒らしだ
つまりそれは荒らしだ
543デフォルトの名無しさん (ワッチョイ ed18-TVXy)
2022/01/07(金) 13:51:09.32ID:qow9t6Ky0 話題が分散しすぎて流れが分からないから聞いただけなのに酷い言い掛かりだ。
C#のクラスがなぜ参照型かだって?
C#は関係ないよ。.net側の仕様だから。vb.netでも同じ。で終わりの話。
C#のクラスがなぜ参照型かだって?
C#は関係ないよ。.net側の仕様だから。vb.netでも同じ。で終わりの話。
544デフォルトの名無しさん (ラクッペペ MM26-X9o+)
2022/01/07(金) 13:54:19.71ID:FRwoYiaWM545デフォルトの名無しさん (ワッチョイ e12d-qpXy)
2022/01/07(金) 14:01:57.02ID:IAj8vN+S0 >>537
そう頻繁では無いにしろ移動されない保証は無いね
そう頻繁では無いにしろ移動されない保証は無いね
546デフォルトの名無しさん (ワッチョイ ed18-TVXy)
2022/01/07(金) 14:24:42.02ID:qow9t6Ky0547デフォルトの名無しさん (ラクッペペ MM26-X9o+)
2022/01/07(金) 14:55:19.17ID:FRwoYiaWM だからみんな単純な回答してるじゃん
あ、俺はどちてぼうやじゃないよ
あ、俺はどちてぼうやじゃないよ
548デフォルトの名無しさん (ワッチョイ 9901-45BR)
2022/01/07(金) 15:17:14.00ID:6zNCaZbD0 >>546
>> コピーのコストが違うから分けたという単純な話
確かにそんな感じですね。
クラスが値型のc++が遅くて
クラスが参照型のc#が早いなんて
全く聞いたことないのですが、
MSがトチ狂って高速化を優先(それ以外を犠牲)したようですね。
>> コピーのコストが違うから分けたという単純な話
確かにそんな感じですね。
クラスが値型のc++が遅くて
クラスが参照型のc#が早いなんて
全く聞いたことないのですが、
MSがトチ狂って高速化を優先(それ以外を犠牲)したようですね。
549デフォルトの名無しさん (ラクッペペ MM26-X9o+)
2022/01/07(金) 15:54:45.54ID:FRwoYiaWM トチ狂っててワロタ
550デフォルトの名無しさん (ドコグロ MM56-wcXw)
2022/01/07(金) 16:20:24.15ID:EZdfrZXhM >>548
C++ は値型のクラスを作れるけどそれをそのま他の関数に渡すなんてことはほぼやらんぞ
そもそもCでも構造体をそのまま渡したらコピーされるからコピーコストを言うなら参照型にしてるだろ
要はC/C++はそういう制御もプログラマに開放してるがC#は開放してない(コピーはそれなりのメソッドを呼び出す)ってだけの話
C++ は値型のクラスを作れるけどそれをそのま他の関数に渡すなんてことはほぼやらんぞ
そもそもCでも構造体をそのまま渡したらコピーされるからコピーコストを言うなら参照型にしてるだろ
要はC/C++はそういう制御もプログラマに開放してるがC#は開放してない(コピーはそれなりのメソッドを呼び出す)ってだけの話
551デフォルトの名無しさん (ワッチョイ e95f-N1GP)
2022/01/07(金) 17:18:23.04ID:0zyZKkps0 牛乳飲んで落ち着いて
552デフォルトの名無しさん (ワッチョイ aebb-dPEu)
2022/01/07(金) 17:50:23.82ID:7Nc+xMj80 >C++ は値型のクラスを作れるけど
なんかもう、松永パソコン大先生みたいな話だな
なんかもう、松永パソコン大先生みたいな話だな
553デフォルトの名無しさん (オッペケ Srf1-Loja)
2022/01/07(金) 18:17:48.54ID:EoqFVcXVr 割りきればいいものを、どうでもよく無駄にこだわるやついるよな
554デフォルトの名無しさん (アウアウウー Saa5-45BR)
2022/01/07(金) 19:02:16.87ID:NAsC2Vwba >>528
正直C++よく知らんので調べてみたけど、だから↓にあるような「問題」があるわけだよね
https://www.cloverfield.co.jp/%E7%B5%84%E8%BE%BC%E3%81%BF%E7%8F%BE%E5%A0%B4%E3%81%AE%E3%80%8CC++%E3%80%8D%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%20%E6%98%8E%E6%97%A5%E3%81%8B%E3%82%89%E4%BD%BF%E3%81%88%E3%82%8B%E5%BE%B9%E5%BA%95%E5%85%A5%E9%96%80/3.3%20%E7%B6%99%E6%89%BF%E3%81%AE%E8%A3%8F%E5%81%B4.html
だから他の人が指摘しているstringのようなケースを無視するとしても、
値型で無理に継承を実現しようとすると、
(1) >>509に書いたように多態を諦めるか
(2) メモリ効率を犠牲にして、ベースクラスの変数のメモリ上のサイズは全ての派生クラスの
「共用体」のサイズとする。当然全ての型はinternalとして定義する必要もある。
こういうありがたくない制約が出来ちゃうでしょ
正直C++よく知らんので調べてみたけど、だから↓にあるような「問題」があるわけだよね
https://www.cloverfield.co.jp/%E7%B5%84%E8%BE%BC%E3%81%BF%E7%8F%BE%E5%A0%B4%E3%81%AE%E3%80%8CC++%E3%80%8D%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%20%E6%98%8E%E6%97%A5%E3%81%8B%E3%82%89%E4%BD%BF%E3%81%88%E3%82%8B%E5%BE%B9%E5%BA%95%E5%85%A5%E9%96%80/3.3%20%E7%B6%99%E6%89%BF%E3%81%AE%E8%A3%8F%E5%81%B4.html
だから他の人が指摘しているstringのようなケースを無視するとしても、
値型で無理に継承を実現しようとすると、
(1) >>509に書いたように多態を諦めるか
(2) メモリ効率を犠牲にして、ベースクラスの変数のメモリ上のサイズは全ての派生クラスの
「共用体」のサイズとする。当然全ての型はinternalとして定義する必要もある。
こういうありがたくない制約が出来ちゃうでしょ
555デフォルトの名無しさん (ワッチョイ 9901-45BR)
2022/01/07(金) 19:37:25.76ID:6zNCaZbD0556デフォルトの名無しさん (ワッチョイ 4124-iMNY)
2022/01/07(金) 19:39:06.67ID:46kMC38t0 Unityの座標系って左下起点がデフォなの?
WindowsのGUIとのやり取りが凄い大変なんだけどなぜこういう仕様になってるのか教えてもらいたい
WindowsのGUIとのやり取りが凄い大変なんだけどなぜこういう仕様になってるのか教えてもらいたい
557デフォルトの名無しさん (ワッチョイ 9901-45BR)
2022/01/07(金) 19:41:19.72ID:6zNCaZbD0 >>554
>> 正直C++よく知らんので調べてみたけど、だから↓にあるような「問題」があるわけだよね
菱形継承はいろいろと問題あるからね。菱形継承問題でググってみな
それにc#は多重継承できないからね・・・
>> 正直C++よく知らんので調べてみたけど、だから↓にあるような「問題」があるわけだよね
菱形継承はいろいろと問題あるからね。菱形継承問題でググってみな
それにc#は多重継承できないからね・・・
558デフォルトの名無しさん (ワッチョイ 4124-iMNY)
2022/01/07(金) 19:42:11.75ID:46kMC38t0 >>555
push_backでコピーorムーブが発生するってことを言いたいん?
そのコピーコストを無視できないくらい大きなもの扱ってるときは正にC#の参照型Listのようにポインタ型のvectorを作るか、resize+インデクサアクセスで直埋め込みするじゃん
push_backでコピーorムーブが発生するってことを言いたいん?
そのコピーコストを無視できないくらい大きなもの扱ってるときは正にC#の参照型Listのようにポインタ型のvectorを作るか、resize+インデクサアクセスで直埋め込みするじゃん
559デフォルトの名無しさん (ワッチョイ 9901-45BR)
2022/01/07(金) 19:44:39.54ID:6zNCaZbD0560デフォルトの名無しさん (アウアウウー Saa5-45BR)
2022/01/07(金) 19:46:03.22ID:NAsC2Vwba561デフォルトの名無しさん (アウアウウー Saa5-45BR)
2022/01/07(金) 19:47:36.10ID:NAsC2Vwba >>559
だから、そうだとしてそれにフィールドを追加した派生クラスの値を入れられるんですかと
だから、そうだとしてそれにフィールドを追加した派生クラスの値を入れられるんですかと
562デフォルトの名無しさん (ワッチョイ 9901-45BR)
2022/01/07(金) 19:48:35.26ID:6zNCaZbD0563デフォルトの名無しさん (ワッチョイ 4124-iMNY)
2022/01/07(金) 19:54:08.11ID:46kMC38t0 >>562
C/C++には参照型も糞なく全部値型だからvectorそのままだと当然値渡しになるから言葉そのまま受け取ればそういうことになるけど
std::vectorって配列へのポインタを持ってるだけだから疑似参照型みたいなもんってことを言いたいんだろ
sizeof(std::vector<T>)のTが何であろうと固定で16byteくらいだし
C/C++には参照型も糞なく全部値型だからvectorそのままだと当然値渡しになるから言葉そのまま受け取ればそういうことになるけど
std::vectorって配列へのポインタを持ってるだけだから疑似参照型みたいなもんってことを言いたいんだろ
sizeof(std::vector<T>)のTが何であろうと固定で16byteくらいだし
564デフォルトの名無しさん (ワッチョイ 9901-45BR)
2022/01/07(金) 19:54:17.18ID:6zNCaZbD0 >>561
つまり『ポインタを無理やり追い出した弊害に』だよなぁ
つまり『ポインタを無理やり追い出した弊害に』だよなぁ
565デフォルトの名無しさん (ワッチョイ 4124-iMNY)
2022/01/07(金) 19:58:27.54ID:46kMC38t0 >>560
WindowsGUIの方がレアだったのか
C#でもSIMD命令呼べるようになったから_mm_add_psとかで一気にやりたいのにxとyで加算減算分けないといけないから出来ないのが残念すぎる
WindowsGUIの方がレアだったのか
C#でもSIMD命令呼べるようになったから_mm_add_psとかで一気にやりたいのにxとyで加算減算分けないといけないから出来ないのが残念すぎる
566デフォルトの名無しさん (ワッチョイ ed18-TVXy)
2022/01/07(金) 20:02:45.79ID:qow9t6Ky0567デフォルトの名無しさん (アウアウウー Saa5-45BR)
2022/01/07(金) 20:49:57.04ID:NAsC2Vwba >>564
いや何でそうなるw
意味が分からん。
問題設定は「なぜクラスの変数はポインタなのか?」
だからポインタを使わないとどうなるかを示しているわけで、
実際はC#はポインタを追放なんかしてないよ
いや何でそうなるw
意味が分からん。
問題設定は「なぜクラスの変数はポインタなのか?」
だからポインタを使わないとどうなるかを示しているわけで、
実際はC#はポインタを追放なんかしてないよ
568デフォルトの名無しさん (アウアウウー Saa5-FJ/U)
2022/01/07(金) 20:56:58.30ID:0Qlm+FNra 他人の話を聞かないタイプだから相手するだけ無駄よ
相手するならMSはトチ狂ってるってのに同意する方向じゃないと
相手するならMSはトチ狂ってるってのに同意する方向じゃないと
569デフォルトの名無しさん (ワッチョイ ed18-TVXy)
2022/01/07(金) 21:12:41.39ID:qow9t6Ky0 だから.netの仕様だと。
言葉を借りるならポインタを追い出したのが値型だ。値型と参照型の機能の違いを仕様書で確認しなさい。
つまるところガベジコレクションからの分離。値型はスタックに乗せれる。確保も開放も高速。
つまり型が分からなくてもスルーできる奴は元から何も考えてないということだ。
言葉を借りるならポインタを追い出したのが値型だ。値型と参照型の機能の違いを仕様書で確認しなさい。
つまるところガベジコレクションからの分離。値型はスタックに乗せれる。確保も開放も高速。
つまり型が分からなくてもスルーできる奴は元から何も考えてないということだ。
570デフォルトの名無しさん (ワッチョイ 42e4-Z3YW)
2022/01/08(土) 00:48:49.28ID:T5N54j6i0 手動でメモリ確保して解放すんのめんどくせぇなぁって流れから、
全自動でメモリ確保と解放するC#が生まれたってだけの話じゃないの?
全自動でメモリ確保と解放するC#が生まれたってだけの話じゃないの?
571デフォルトの名無しさん (ワッチョイ 2e8e-6dX5)
2022/01/08(土) 01:01:47.02ID:PQBT4Nc/0 >>570
Delphiを知らない馬鹿
Delphiを知らない馬鹿
572デフォルトの名無しさん (ワッチョイ 2e63-Ggfm)
2022/01/08(土) 01:03:56.61ID:IGpBQzM50 その後10時間もマウンティングゴリラしてたのかw
573デフォルトの名無しさん (ワッチョイ fd54-iWH+)
2022/01/08(土) 02:44:00.27ID:1bILROxT0 大昔にVBで作られた社内業務アプリをC#で作り直す事になったけど、
GUIはWinForms?WPF?WinUI?どれが一番メジャーなの?
WPFは死んでるとか言われてるようだし、WinUIは出たばかりで情報少ないっぽいし、古いけどWinFormsがいいの?
GUIはWinForms?WPF?WinUI?どれが一番メジャーなの?
WPFは死んでるとか言われてるようだし、WinUIは出たばかりで情報少ないっぽいし、古いけどWinFormsがいいの?
574デフォルトの名無しさん (ワッチョイ e184-4nvB)
2022/01/08(土) 03:02:40.46ID:35B5Rb5B0575デフォルトの名無しさん (ワッチョイ e95f-QhZx)
2022/01/08(土) 03:13:30.02ID:IEuXTu700 WinFormsって2番目だぞ
1番使われているのはWPF
社内アプリならとりあえず.NETのバージョンは6にしたほうがいいな
以前のとパフォーマンスが段違いなので
1番使われているのはWPF
社内アプリならとりあえず.NETのバージョンは6にしたほうがいいな
以前のとパフォーマンスが段違いなので
576デフォルトの名無しさん (アウアウウー Saa5-45BR)
2022/01/08(土) 04:22:41.48ID:BHQyctLJa >>573
何がベストかは結局何を重視するのかの関数だよね。
だからたぶん各選択肢のいわゆるpros and consを挙げてもらった方がよい気がする
コスト重視ならVBにもっとも近いFormがベストだ。
視覚効果や高DPI対応が重要ならWPFがベストだけど、学習コストが高いし、
はっきり言ってパフォーマンス的にまったく使えない分野もある。
WinUIは知らんw
何がベストかは結局何を重視するのかの関数だよね。
だからたぶん各選択肢のいわゆるpros and consを挙げてもらった方がよい気がする
コスト重視ならVBにもっとも近いFormがベストだ。
視覚効果や高DPI対応が重要ならWPFがベストだけど、学習コストが高いし、
はっきり言ってパフォーマンス的にまったく使えない分野もある。
WinUIは知らんw
577デフォルトの名無しさん (ワッチョイ e184-8XAc)
2022/01/08(土) 06:02:52.91ID:35B5Rb5B0 一番楽チンなのはVS2008のコンバーター使ってVB6→VB.netにコンバートし、コンパイルエラーが発生する部分をちょいと修正する事
複雑な計算式使ってる場合に計算式の移植間違いを防げる
複雑な計算式使ってる場合に計算式の移植間違いを防げる
578デフォルトの名無しさん (ドコグロ MM8f-KcIn)
2022/01/08(土) 09:09:54.52ID:LhcZsKvbM >>571
Delphi に GC あったっけ?
Delphi に GC あったっけ?
579デフォルトの名無しさん (ワッチョイ ff66-WG9p)
2022/01/08(土) 09:30:56.43ID:qvdwzZse0 >>578
ないと思う
ないと思う
580デフォルトの名無しさん (ワッチョイ 5f49-nMpR)
2022/01/08(土) 09:56:39.05ID:PHIkImNk0 関係ないけど、こういう案件て段々広がって収拾つかなくなるか、
客がビビりはじめて結局ほぼ何もしてない変わらないみたいになるか、
ってなりがちよね
客にも腰据えてもらわないとぐだぐだになる
客がビビりはじめて結局ほぼ何もしてない変わらないみたいになるか、
ってなりがちよね
客にも腰据えてもらわないとぐだぐだになる
581デフォルトの名無しさん (ワッチョイ 7f01-oH9J)
2022/01/08(土) 10:52:45.90ID:76ewE+lX0 Webで作るという選択肢はないのかな?
ある程度の規模があるところなら配布やサポートコストまで考えるとWebのほうが安上がり
ある程度の規模があるところなら配布やサポートコストまで考えるとWebのほうが安上がり
582デフォルトの名無しさん (ドコグロ MM8f-KcIn)
2022/01/08(土) 11:16:30.10ID:6MOJW9HWM 社内業務アプリの内容によるけど今どきならWebだろうね
サーバーやDBMSの構築すらままならんとかならしゃーないけど
サーバーやDBMSの構築すらままならんとかならしゃーないけど
583デフォルトの名無しさん (ワッチョイ dfb0-n+fn)
2022/01/08(土) 11:21:14.11ID:eHBvCcl00 クラサバとかの業務システムをWeb化するのはよくある話だが、スタンドアロンで済む
ただのGUIアプリをわざわざWeb化するのは割に合わんと思うがな。
それを上回るなにかメリットがないと。
ただのGUIアプリをわざわざWeb化するのは割に合わんと思うがな。
それを上回るなにかメリットがないと。
584デフォルトの名無しさん (アウアウウー Saa3-mx/f)
2022/01/08(土) 11:32:33.07ID:Sgj71hWsa データをサーバー管理するようなのならまだしも、普通のアプリなら普通に作ったほうが圧倒的に楽
585デフォルトの名無しさん (ドコグロ MM8f-KcIn)
2022/01/08(土) 12:01:38.53ID:6MOJW9HWM 今どき社内業務システムでローカルに閉じてるやつなんてある?
586デフォルトの名無しさん (オッペケ Srb3-nMpR)
2022/01/08(土) 12:13:29.45ID:qVp9qlx6r ローカルアプリから直接DB見に行くとかならあるんじゃね
ストアで更新配賦とか夢見たこともあったなあ
ストアで更新配賦とか夢見たこともあったなあ
587デフォルトの名無しさん (ワッチョイ dfb0-n+fn)
2022/01/08(土) 12:18:21.83ID:eHBvCcl00588デフォルトの名無しさん (アウアウウー Saa3-mx/f)
2022/01/08(土) 12:18:22.15ID:Sgj71hWsa 社内業務アプリって言ってもいわゆる業務管理システムだけじゃないからな
ローカル完結なんていくらでもある
ちょっとしたツール類なんて全部そうだろ
ローカル完結なんていくらでもある
ちょっとしたツール類なんて全部そうだろ
589デフォルトの名無しさん (スププ Sd9f-ZgsV)
2022/01/08(土) 12:45:29.08ID:+n5rVMIfd Web化すべき案件なら最初からそっちで検討してるんだから余計なお世話やで
590デフォルトの名無しさん (ブーイモ MM23-gPO7)
2022/01/08(土) 12:47:06.13ID:v0nm/uLMM ツール類って具体的には?
そりや業務端末でも一般的なフリーソフトとか使ってることはあるけど、
業務用に作られたスタンドアロンなツールなんて機器制御関連以外では滅多に見かけないわ
システム連携が不完全なためにローカルなアプリやVBAで局所的な自動化をやってるケースはあるけど、結局その入出力は手動で他と連携するわけで、スタンドアロンとは違うでしょ
そりや業務端末でも一般的なフリーソフトとか使ってることはあるけど、
業務用に作られたスタンドアロンなツールなんて機器制御関連以外では滅多に見かけないわ
システム連携が不完全なためにローカルなアプリやVBAで局所的な自動化をやってるケースはあるけど、結局その入出力は手動で他と連携するわけで、スタンドアロンとは違うでしょ
591デフォルトの名無しさん (ワッチョイ df84-ZgsV)
2022/01/08(土) 12:48:22.96ID:35B5Rb5B0 スタンドアロンで作るって言ってるのにしつこいな
592デフォルトの名無しさん (ワッチョイ ffb9-3J+y)
2022/01/08(土) 12:50:35.22ID:VCGpsaaV0 VisualStudioでデバッグ中に変数やらクラスの中身を追っていくとき
大量にプロパティがあるとアルファベットの後半追うのに
▼で下まで流すのがかなりまどろっこしいんですが
スクロールバーもでないし・・・
もうちょっとスムーズにする方法ってあるんですかね
大量にプロパティがあるとアルファベットの後半追うのに
▼で下まで流すのがかなりまどろっこしいんですが
スクロールバーもでないし・・・
もうちょっとスムーズにする方法ってあるんですかね
593デフォルトの名無しさん (アウアウウー Saa3-mx/f)
2022/01/08(土) 13:01:28.24ID:Sgj71hWsa >>590
テキストファイルの文字数や段落数カウントするだけ
指定したウインドウのスクリーンショットを取るだけ
画像をpngにするだけ
ファイルをリネームするだけ
動画からフレームや動画を切り出すだけ
こういうの実際に作ったツールだな。フリーソフトでもできるけどそういうのも開発することあるんだよ
テキストファイルの文字数や段落数カウントするだけ
指定したウインドウのスクリーンショットを取るだけ
画像をpngにするだけ
ファイルをリネームするだけ
動画からフレームや動画を切り出すだけ
こういうの実際に作ったツールだな。フリーソフトでもできるけどそういうのも開発することあるんだよ
594デフォルトの名無しさん (ブーイモ MM0f-oH9J)
2022/01/08(土) 13:24:30.41ID:a4nwkm/0M デスクトップアプリじゃなきゃダメな強い理由がなければ
WinFormならともかく今からWPFとかやるのは無駄だよね
WinFormならともかく今からWPFとかやるのは無駄だよね
595デフォルトの名無しさん (ブーイモ MM0f-oH9J)
2022/01/08(土) 13:25:51.14ID:a4nwkm/0M >>592
ウォッチ式?
ウォッチ式?
596デフォルトの名無しさん (ドコグロ MM4f-KcIn)
2022/01/08(土) 13:29:23.33ID:Rc/Af6wIM >>593
そう言うのを社内業務アプリって言うの?
そう言うのを社内業務アプリって言うの?
597デフォルトの名無しさん (ワッチョイ 5f18-e3w4)
2022/01/08(土) 13:37:12.89ID:Kbht7+jO0 やっつけアプリ、やっつけツールと言います
598デフォルトの名無しさん (アウアウウー Saa3-7drx)
2022/01/08(土) 13:38:58.06ID:OnpKeph7a599デフォルトの名無しさん (ワッチョイ ff10-aGiv)
2022/01/08(土) 14:16:08.90ID:sJWr1x2I0 業務といっても何を指すかで見当違いなことを言い合ってたりするからな
ちなみに俺は追記式で容量が10メガ超えるログファイルを待ち時間なしに検索&色分けフィルターするビューアー
が必要だったので作った
ちなみに俺は追記式で容量が10メガ超えるログファイルを待ち時間なしに検索&色分けフィルターするビューアー
が必要だったので作った
600デフォルトの名無しさん (ワッチョイ 5f5f-wXXk)
2022/01/08(土) 14:19:48.42ID:QfvG5fL40 プロパティの値についてなんですが
値が変わらないプロパティに関しては
Visual Studioの右側のプロパティから変更するのか
それともForm1.csのなかで変更するのどっちが王道でしょうか?
値が変わらないプロパティに関しては
Visual Studioの右側のプロパティから変更するのか
それともForm1.csのなかで変更するのどっちが王道でしょうか?
601デフォルトの名無しさん (ワッチョイ 7f47-ZgsV)
2022/01/08(土) 14:22:07.76ID:LyVlYLKR0 >>600
Visual Studio
Visual Studio
602デフォルトの名無しさん (アウアウウー Saa3-mx/f)
2022/01/08(土) 14:45:55.87ID:Sgj71hWsa 変更したってことを把握しにくいからできるだけForm1.csだな
603デフォルトの名無しさん (ワッチョイ 5f6e-3J+y)
2022/01/08(土) 18:25:53.14ID:W7HGPhnA0 >>595
変数にカーソル合わせてポップアップででてくるクラスや変数の中身がでますよね
デバッグ中にそれで実際に入っている値を追っていくことがよくあるんですが
大量にあるとアルファベット順に並んでいるせいで
たとえば コンボボックスでいうと Selected〜まで見に行くのに
Sまで下りてこなければならないですよね
ポップアップにはスクロールバーもでないから毎回スクロールしないとならなくて
それが面倒で・・・
変数にカーソル合わせてポップアップででてくるクラスや変数の中身がでますよね
デバッグ中にそれで実際に入っている値を追っていくことがよくあるんですが
大量にあるとアルファベット順に並んでいるせいで
たとえば コンボボックスでいうと Selected〜まで見に行くのに
Sまで下りてこなければならないですよね
ポップアップにはスクロールバーもでないから毎回スクロールしないとならなくて
それが面倒で・・・
604デフォルトの名無しさん (アウアウウー Saa3-mx/f)
2022/01/08(土) 19:02:53.17ID:9AShM9M8a デバッグで実行止めてるときに、デバッグ->ウインドウ->ウォッチでウォッチ1開いて、そこに見たい変数をドラッグ&ドロップ
配列の一部だけ見たいなら.Skip(100).Take(20)みたいに適当なlinqでもつけて
配列の一部だけ見たいなら.Skip(100).Take(20)みたいに適当なlinqでもつけて
605デフォルトの名無しさん (ワッチョイ dfb0-meBQ)
2022/01/08(土) 21:28:00.33ID:WWAiwq7Z0 ArrayクラスのResizeメソッドの引数が参照渡しなのは何故ですか?
他のReverseやSortメソッドが値渡しなので統一されていないと感じてしまうのですが
他のReverseやSortメソッドが値渡しなので統一されていないと感じてしまうのですが
606デフォルトの名無しさん (ワッチョイ 7f2c-mvA8)
2022/01/08(土) 21:31:36.72ID:7PajA1910 ReverseやSortは要素を置き換えるだけで済むけど
配列は固定長である以上Resizeするには新しく配列を作り直すしかない
配列は固定長である以上Resizeするには新しく配列を作り直すしかない
607デフォルトの名無しさん (ワッチョイ 5f6e-3J+y)
2022/01/08(土) 22:55:18.70ID:W7HGPhnA0608デフォルトの名無しさん (ワッチョイ dfb0-meBQ)
2022/01/08(土) 23:12:33.36ID:WWAiwq7Z0609デフォルトの名無しさん (ワッチョイ df01-DDP/)
2022/01/10(月) 02:13:23.67ID:LmDP/A0i0 .net6だとプロジェクト作成時にいつものusing systemとかが無かったんですけど暗黙的に使えるようになったか、あるいはどっかに記述を引っ越したんですかね?
610デフォルトの名無しさん (ワッチョイ 5f1a-sCjD)
2022/01/10(月) 03:14:56.13ID:t77ZMTfv0 global usingとかいう迷走の果てみたいなものがあったような覚えがある
611デフォルトの名無しさん (スップ Sd9f-eVCD)
2022/01/10(月) 16:59:27.76ID:9R5shyc4d >>609
.csproj見てみ
.csproj見てみ
612デフォルトの名無しさん (ワッチョイ df01-DDP/)
2022/01/10(月) 18:05:28.98ID:LmDP/A0i0613デフォルトの名無しさん (ワッチョイ 7f2c-mvA8)
2022/01/10(月) 18:14:37.58ID:Fbfc1ztE0614デフォルトの名無しさん (ワッチョイ 7f2c-mvA8)
2022/01/10(月) 18:32:28.44ID:Fbfc1ztE0 というか.csにも普通に書けるよ
615デフォルトの名無しさん (ワッチョイ ff33-jRWF)
2022/01/10(月) 19:26:41.39ID:mJ9SvVvR0 というか.txtにも.hogeにも普通に書けるよ
616デフォルトの名無しさん (ドコグロ MM4f-KcIn)
2022/01/10(月) 19:32:53.98ID:Yn6t3tioM617デフォルトの名無しさん (ワッチョイ ff33-jRWF)
2022/01/10(月) 20:21:18.79ID:mJ9SvVvR0 >>615
悪ふざけじゃなくて、書いたらちゃんと認識されるよって意味ね。
悪ふざけじゃなくて、書いたらちゃんと認識されるよって意味ね。
618デフォルトの名無しさん (ワッチョイ 5fad-IEFP)
2022/01/10(月) 21:15:40.34ID:zf/OU/S30 え、readme.txtとかに書いてても影響しちゃうの?
619デフォルトの名無しさん (ワッチョイ df5f-EgL+)
2022/01/10(月) 22:20:21.82ID:pzAlxVbU0 何度も同じことを書かせる仕組みはプログラムの基本的な考えと違うと考えればglobal usingは妥当
620デフォルトの名無しさん (ワッチョイ df2d-bpII)
2022/01/10(月) 22:45:07.71ID:zjcR70ev0 global usingもあれば楽だけど書ける場所は限定された方が良かったような
621デフォルトの名無しさん (ドコグロ MM4f-KcIn)
2022/01/11(火) 06:33:56.47ID:TdDX7t/9M622デフォルトの名無しさん (アウグロ MM7f-5a4i)
2022/01/11(火) 07:14:14.80ID:qLFRpNWYM もうあっちゃう時点でキモいから書けるなら制限なしでいいでしょ
623デフォルトの名無しさん (ワッチョイ df73-0yQm)
2022/01/11(火) 08:18:04.81ID:34v9AEL90 VS2022からC#やる人は結構わかりにくいやろなぁ。
なぜimportもusingもなにも書いてないのに、Console.Writel...
みたいにいきなり書けるのみたいな。
グローバルにいきなり書いてるがクラスに属さないグローバル変数はあるのないのとか。
なぜimportもusingもなにも書いてないのに、Console.Writel...
みたいにいきなり書けるのみたいな。
グローバルにいきなり書いてるがクラスに属さないグローバル変数はあるのないのとか。
624デフォルトの名無しさん (ワッチョイ 7f10-2G4o)
2022/01/11(火) 09:25:26.02ID:7v4JZSk/0 えーーーんTT
Console Programつくろうとしたらmain()がないよー><
なにこれ、こわい><
たすけてー
Console Programつくろうとしたらmain()がないよー><
なにこれ、こわい><
たすけてー
625デフォルトの名無しさん (ワッチョイ ff33-A/Mb)
2022/01/11(火) 09:36:34.63ID:qBZtvv4T0 従来のようなプロジェクトテンプレートでもプロジェクトを作れるようなオプションなりテンプレートなりあればいいのにね
テンプレートぐらい自分で作れって?面倒じゃん
テンプレートぐらい自分で作れって?面倒じゃん
626デフォルトの名無しさん (ワッチョイ 7f47-mvA8)
2022/01/11(火) 11:21:28.14ID:MvizqUHc0 >>625
.NET 5.0をターゲットにプロジェクト作成してから.NET 6.0にターゲット変更する
https://docs.microsoft.com/ja-jp/dotnet/core/tutorials/top-level-templates#use-the-old-program-style
.NET 5.0をターゲットにプロジェクト作成してから.NET 6.0にターゲット変更する
https://docs.microsoft.com/ja-jp/dotnet/core/tutorials/top-level-templates#use-the-old-program-style
627デフォルトの名無しさん (ワッチョイ 7f10-2G4o)
2022/01/11(火) 11:57:17.32ID:7v4JZSk/0 C#作ってる人たちはC#をスクリプトにしたいの??
何を目指してるのかよくわからない
何を目指してるのかよくわからない
628デフォルトの名無しさん (アウアウウー Saa3-mx/f)
2022/01/11(火) 12:22:25.87ID:4qGoqi+ca なんでもできることを目指してるんだよ
もちろんスクリプトとしても使えるぞ。アプリの拡張プラグインをc#スクリプトにするとか簡単にできる
もちろんスクリプトとしても使えるぞ。アプリの拡張プラグインをc#スクリプトにするとか簡単にできる
629デフォルトの名無しさん (ブーイモ MM9f-gPO7)
2022/01/11(火) 13:10:40.24ID:Grp1ZbCtM >>627
IDEによるコード生成を完全に排除しようとしている、と考えると理解しやすい
最近の内製系の開発では、コードの自動生成は避けてソースを極力コンパクトに保とう、という考え方が主流になっているんだよ
IDEによるコード生成を完全に排除しようとしている、と考えると理解しやすい
最近の内製系の開発では、コードの自動生成は避けてソースを極力コンパクトに保とう、という考え方が主流になっているんだよ
630デフォルトの名無しさん (アウアウウー Saa3-94m7)
2022/01/11(火) 13:50:01.49ID:luTEChNva 何で自動生成やめたらコードがコンパクトになるの?
そんなわけないと思うんだけどw
そんなわけないと思うんだけどw
631デフォルトの名無しさん (テテンテンテン MM4f-lUoQ)
2022/01/11(火) 13:58:30.81ID:/T2lNEPNM コードの自動生成と言うか簡便さを求めてるのだろう
他の簡易な言語と比べると不必要な部分があるからそれを簡略化する
ボイラープレート(決まり切った特定のコードの記述 )やおまじないのような入門者にとって敷居の高いものを減らす
それ自体は問題ないはず
C#は言語的に無駄な記述が多すぎたから一気に来たんだろうな
他の簡易な言語と比べると不必要な部分があるからそれを簡略化する
ボイラープレート(決まり切った特定のコードの記述 )やおまじないのような入門者にとって敷居の高いものを減らす
それ自体は問題ないはず
C#は言語的に無駄な記述が多すぎたから一気に来たんだろうな
632デフォルトの名無しさん (テテンテンテン MM4f-lUoQ)
2022/01/11(火) 14:02:02.73ID:/T2lNEPNM ファイル内のnamespaceは一個なのにそのためにインデントが一つ増えてエディタでのコードが見通しが悪くなる
こんなの早くから導入してくれと思ってた
こんなの早くから導入してくれと思ってた
633デフォルトの名無しさん (ワッチョイ 5f49-n+fn)
2022/01/11(火) 14:14:24.58ID:Jt6jcb4u0 てかusingみたいに冒頭宣言みたくできればよかったのにな
634デフォルトの名無しさん (ワッチョイ 7fad-eVCD)
2022/01/11(火) 14:35:22.28ID:8rbbEYvA0635デフォルトの名無しさん (アウアウウー Saa3-94m7)
2022/01/11(火) 14:56:40.93ID:luTEChNva636デフォルトの名無しさん (ワッチョイ df73-0yQm)
2022/01/12(水) 00:03:33.81ID:3DcpczOy0 スクリプトとしては異常に使いにくいよ、
特にアプリのプラグインとしては致命的。
やったことあるひとならわかるよね。
スクリプトだろうと1回実行したら、そのクラス型は解放されないから。
.netは型生成してしまうと、そのクラス型は基本的にアプリ終わるまで解放されない、
間違ったと思ってクラス型の部分のスクリプト変更して再実行しても反映できないのよ、アプリ終了しないと
クラス型が解放されないから。
特にアプリのプラグインとしては致命的。
やったことあるひとならわかるよね。
スクリプトだろうと1回実行したら、そのクラス型は解放されないから。
.netは型生成してしまうと、そのクラス型は基本的にアプリ終わるまで解放されない、
間違ったと思ってクラス型の部分のスクリプト変更して再実行しても反映できないのよ、アプリ終了しないと
クラス型が解放されないから。
637デフォルトの名無しさん (ワッチョイ df5f-EgL+)
2022/01/12(水) 04:14:45.93ID:qMg3RrrS0 コンパクトに書けるようになっていくのはいいと思う
元のC#は長く書くことを是としていたようで他の言語と比べると見栄えが悪い
元のC#は長く書くことを是としていたようで他の言語と比べると見栄えが悪い
638デフォルトの名無しさん (ワッチョイ 5f49-n+fn)
2022/01/12(水) 10:32:03.61ID:2Wvp4VJl0 C#はいいんだけど、ASP他諸々がなあ
Authorize入れるのも一苦労
Authorize入れるのも一苦労
639デフォルトの名無しさん (ワッチョイ 7fad-eVCD)
2022/01/12(水) 13:15:42.75ID:++K/dCbX0 何に比べてどう苦労するの?
640デフォルトの名無しさん (アウアウウー Saa3-mx/f)
2022/01/12(水) 15:39:18.51ID:BLJCWDpKa >>636
作り方しだいだけどアプリ終了しなくても
スクリプト実行&終了→スクリプトファイル書き換え→スクリプト実行で書き換えた編集が反映されるよ
開放されないってのと反映されないってのは別問題でしょ
作り方しだいだけどアプリ終了しなくても
スクリプト実行&終了→スクリプトファイル書き換え→スクリプト実行で書き換えた編集が反映されるよ
開放されないってのと反映されないってのは別問題でしょ
641デフォルトの名無しさん (テテンテンテン MM4f-MDm+)
2022/01/12(水) 18:17:31.66ID:C1xp3kdWM おれはC#とASP.NET Core WebAPIが最もやりやすい
フロントは流石にReactとか使ったほうが楽だがJSもAltJSも罠だらけで洗練されてないね
フロントは流石にReactとか使ったほうが楽だがJSもAltJSも罠だらけで洗練されてないね
642デフォルトの名無しさん (ワッチョイ df01-pCH8)
2022/01/12(水) 22:52:04.20ID:JXqJfbQh0643デフォルトの名無しさん (ドコグロ MM4f-KcIn)
2022/01/13(木) 06:18:56.80ID:hEm3mWj0M >>642
糞アプリの名前も書けない無能の相手すんなよ
糞アプリの名前も書けない無能の相手すんなよ
644デフォルトの名無しさん (スッップ Sd9f-ZOz4)
2022/01/13(木) 18:48:22.57ID:OK31jUfcd 質問です。
ピクチャーボックスに描画された物をボタン投下で色を印刷用に変更したいです。
元は背景色黒。線は水色。文字は黄色。四角は緑色塗りされてる物を
背景色白、四角は外枠黒線白塗り、他黒に変更したいです。
これを参考に弄って、背景色は直変更し、線は無事変更、文字は滲んだ感じになり、ほかはそのままでした。
https://dobon.net/vb/dotnet/graphics/setremaptable.html
こんなのやるなら色を再設定して再描画した方が早いですかね?
イメージ的にはCADで書いてる物を印刷時に白黒反転するみたいな感じなんですが。
ピクチャーボックスに描画された物をボタン投下で色を印刷用に変更したいです。
元は背景色黒。線は水色。文字は黄色。四角は緑色塗りされてる物を
背景色白、四角は外枠黒線白塗り、他黒に変更したいです。
これを参考に弄って、背景色は直変更し、線は無事変更、文字は滲んだ感じになり、ほかはそのままでした。
https://dobon.net/vb/dotnet/graphics/setremaptable.html
こんなのやるなら色を再設定して再描画した方が早いですかね?
イメージ的にはCADで書いてる物を印刷時に白黒反転するみたいな感じなんですが。
645デフォルトの名無しさん (アウアウウー Saa3-94m7)
2022/01/13(木) 19:01:26.19ID:Lka/sttda646デフォルトの名無しさん (ワッチョイ 5f54-8+uD)
2022/01/14(金) 07:06:02.10ID:uASM5+QH0 .net 6の Windows Forms の TreeView のサブクラスを作ったのですが、
サブクラスでOnMouseDownをオーバーライドすると動くのに、OnMouseClickをオーバーライドしても動きません。
何が原因でしょうか?
サブクラスでOnMouseDownをオーバーライドすると動くのに、OnMouseClickをオーバーライドしても動きません。
何が原因でしょうか?
647デフォルトの名無しさん (ワッチョイ 7f2c-mvA8)
2022/01/14(金) 09:52:38.44ID:Wn0kK1te0 そもそもTreeViewのMouseClickはノードのある行の部分しか発生しないけど
ノード上でクリックしても反応しないの?
ノード上でクリックしても反応しないの?
648デフォルトの名無しさん (ワッチョイ 5f1a-sCjD)
2022/01/14(金) 23:45:25.88ID:8g6TvuWW0 こういう実装の隠蔽ってありだと思う?
https://ideone.com/XNNgQM
リポジトリクラスでしか使わないキークラスを外部から勝手に生成されたくないっていう着想なんだが、
特定のクラスからのみメソッド叩かせたいときとかにも使えそうな気はする
雁字搦め感は出てるし、将来の健忘症になった俺が手を付けてしまう恐れも減るしでメリットはある
ただぶっちゃけちまうとinternalで十分では?と他でもない俺自身が思ってしまった
https://ideone.com/XNNgQM
リポジトリクラスでしか使わないキークラスを外部から勝手に生成されたくないっていう着想なんだが、
特定のクラスからのみメソッド叩かせたいときとかにも使えそうな気はする
雁字搦め感は出てるし、将来の健忘症になった俺が手を付けてしまう恐れも減るしでメリットはある
ただぶっちゃけちまうとinternalで十分では?と他でもない俺自身が思ってしまった
649デフォルトの名無しさん (ワッチョイ ffbd-qPHf)
2022/01/15(土) 00:11:45.90ID:TZiSYT8I0 質問させてください
using System.Collections.Generic;
class TestEnumerable
{
static public Ienumerable FromTo()
{
yield return 1;
yield return 3.14;
}
static void Main(string[] args)
{
foreach(var I in FromTo())
{
Console.Write(I);
}
}
}
上記のようなコードがあった場合
yield return1を表示、続きから実行されて
yield return3.14を表示すると思うのですが
そのあと、メソッドが終了した場合の処理がイメージできません
FromTo()メソッドが終了した後は何か値がreturnされるのでしょうか?
FromTo()メソッド終了時の挙動の詳細を教えてほしいです
using System.Collections.Generic;
class TestEnumerable
{
static public Ienumerable FromTo()
{
yield return 1;
yield return 3.14;
}
static void Main(string[] args)
{
foreach(var I in FromTo())
{
Console.Write(I);
}
}
}
上記のようなコードがあった場合
yield return1を表示、続きから実行されて
yield return3.14を表示すると思うのですが
そのあと、メソッドが終了した場合の処理がイメージできません
FromTo()メソッドが終了した後は何か値がreturnされるのでしょうか?
FromTo()メソッド終了時の挙動の詳細を教えてほしいです
650デフォルトの名無しさん (アウアウウー Saa3-mx/f)
2022/01/15(土) 00:15:49.41ID:Fo59HrKfa CreateProxyをpublicにしないとエラーになるんじゃないかな
651デフォルトの名無しさん (テテンテンテン MM4f-VpI/)
2022/01/15(土) 00:20:28.44ID:dZ7wz90eM yieldを使ってるメソッドの末尾には
「yield break」が暗黙のうちに挿入される、みたいなイメージをもっておけばいいんじゃないかな
「yield break」が暗黙のうちに挿入される、みたいなイメージをもっておけばいいんじゃないかな
652デフォルトの名無しさん (アウアウキー Sa53-sCjD)
2022/01/15(土) 00:35:37.46ID:RH/JKl1ia653デフォルトの名無しさん (ワッチョイ df01-DDP/)
2022/01/15(土) 01:00:14.09ID:e/r7AWqZ0 は?
654デフォルトの名無しさん (アウアウウー Saa3-NE3x)
2022/01/15(土) 01:05:14.25ID:mkRG7Oi7a >>649
メソッドのシグネチャのみたまんま
FromToはIEnumerableを返すのであって1とか3.14を返すんじゃない。
何言ってるのか理解できなかったら川俣さんの記事のイテレーターの
説明でも読んでもらった方が早いよ。
メソッドのシグネチャのみたまんま
FromToはIEnumerableを返すのであって1とか3.14を返すんじゃない。
何言ってるのか理解できなかったら川俣さんの記事のイテレーターの
説明でも読んでもらった方が早いよ。
655デフォルトの名無しさん (ワッチョイ df2d-acmQ)
2022/01/15(土) 01:10:18.60ID:JIhdD5Fq0656デフォルトの名無しさん (ワッチョイ 5f1a-sCjD)
2022/01/15(土) 01:25:11.79ID:z3QAlxXC0657デフォルトの名無しさん (ワッチョイ df2d-acmQ)
2022/01/15(土) 01:43:23.33ID:JIhdD5Fq0 >>656
この場合は継承(is-a)ではなく包含(has-a)にすべき
この場合は継承(is-a)ではなく包含(has-a)にすべき
658デフォルトの名無しさん (アウアウウー Saa3-NE3x)
2022/01/15(土) 01:57:04.48ID:mkRG7Oi7a >>648
VBは確か型Bが型Aの内側で定義されている時、
BのインスタンスをAが握っているとBのprivateメンバーに
アクセスできる裏技があった気がしたんでVBならそれを使う手はあったかも。
試してみたらやはりC#ではできないw
VBは確か型Bが型Aの内側で定義されている時、
BのインスタンスをAが握っているとBのprivateメンバーに
アクセスできる裏技があった気がしたんでVBならそれを使う手はあったかも。
試してみたらやはりC#ではできないw
659デフォルトの名無しさん (アウアウウー Saa3-NE3x)
2022/01/15(土) 02:01:13.57ID:mkRG7Oi7a まあセキリティー的な目的じゃなく単なる精神衛生の問題なら
単純にKeyのコンストラクタをprivateにして必要な個所ではリフレクションで使えばいいよね
単純にKeyのコンストラクタをprivateにして必要な個所ではリフレクションで使えばいいよね
660デフォルトの名無しさん (アウアウウー Saa3-NE3x)
2022/01/15(土) 02:49:41.70ID:mkRG7Oi7a 「早い者勝ち」にしちゃうのもありかなとか思った。いやねーかw
public class Key
{
public int Value { get; private set; }
private static int serial = 0;
private static Func<Key> func = () => new Key(serial++);
private Key(int val)
{
Value = val;
}
public static Func<Key> GetCreator()
{
var ret = func; func = null;
return func;
}
}
public class Key
{
public int Value { get; private set; }
private static int serial = 0;
private static Func<Key> func = () => new Key(serial++);
private Key(int val)
{
Value = val;
}
public static Func<Key> GetCreator()
{
var ret = func; func = null;
return func;
}
}
661デフォルトの名無しさん (ワッチョイ dfd2-4G0K)
2022/01/15(土) 03:06:56.37ID:ccrjJyGq0662デフォルトの名無しさん (ワッチョイ 7f01-KDxU)
2022/01/15(土) 11:19:56.44ID:6qmp/Z4R0 >>649
FromTo()が返すのはIEnumerable
foreachは大雑把に言えば↓に展開される
var iterator = FromTo().GetEnumerator();
while (iterator.MoveNext()){
var I = iterator.Current;
Console.WriteLine(I);
}
イテレータとかイテラブルでググるといい
.NETの型名だとIEnumrator<T>とIEnumerable<T>
FromTo()が返すのはIEnumerable
foreachは大雑把に言えば↓に展開される
var iterator = FromTo().GetEnumerator();
while (iterator.MoveNext()){
var I = iterator.Current;
Console.WriteLine(I);
}
イテレータとかイテラブルでググるといい
.NETの型名だとIEnumrator<T>とIEnumerable<T>
663デフォルトの名無しさん (ドコグロ MM4f-KcIn)
2022/01/15(土) 12:29:33.15ID:mY1vrnaaM664デフォルトの名無しさん (アウアウウー Saa3-NE3x)
2022/01/15(土) 13:44:23.87ID:agiarv77a665デフォルトの名無しさん (ドコグロ MM4f-KcIn)
2022/01/15(土) 14:20:07.42ID:XKyr/S8qM 馬鹿としか言えない無能w
666デフォルトの名無しさん (ワッチョイ 5f78-lUoQ)
2022/01/15(土) 14:24:42.58ID:6Adwrh4F0 今週のNDワッチョイ
ドコグロ MM4f-KcIn
ドコグロ MM4f-KcIn
667デフォルトの名無しさん (ワッチョイ ff66-acmQ)
2022/01/15(土) 14:48:33.55ID:6bjOtxZz0 WindowFormでTimerクラスを使ってlabelのTextを定期的に変更したのですが
「有効ではないスレッド間の操作」ということでエラーになってしまいます。
どのようにすれば実現できるでしょうか?
public Form1()
{
InitializeComponent();
var timer = new System.Timers.Timer();
timer.Elapsed += new ElapsedEventHandler(OnElapsed_TimersTimer);
timer.Interval = 5000;
timer.Start();
}
private void OnElapsed_TimersTimer(object sender, ElapsedEventArgs e)
{
label1.Text = "1";
}
「有効ではないスレッド間の操作」ということでエラーになってしまいます。
どのようにすれば実現できるでしょうか?
public Form1()
{
InitializeComponent();
var timer = new System.Timers.Timer();
timer.Elapsed += new ElapsedEventHandler(OnElapsed_TimersTimer);
timer.Interval = 5000;
timer.Start();
}
private void OnElapsed_TimersTimer(object sender, ElapsedEventArgs e)
{
label1.Text = "1";
}
668デフォルトの名無しさん (ワッチョイ ff2d-acmQ)
2022/01/15(土) 14:53:57.88ID:OfoSB/Yx0669デフォルトの名無しさん (アウアウウー Saa3-mx/f)
2022/01/15(土) 14:56:31.51ID:2bsBwYtoa スレッド間の〜は
Invoke((MethodInvoker)delegate{処理});
ってやればわんちゃん
Invoke((MethodInvoker)delegate{処理});
ってやればわんちゃん
670デフォルトの名無しさん (ワッチョイ ff66-acmQ)
2022/01/15(土) 16:08:48.34ID:6bjOtxZz0 Windows.Forms.Timerクラスでやりたいことができました!
後学のため、Invokeも調べたいと思います
ありがとうございます
後学のため、Invokeも調べたいと思います
ありがとうございます
671デフォルトの名無しさん (ドコグロ MM66-eOJp)
2022/01/15(土) 20:02:17.15ID:XKyr/S8qM >>666
黙ってNGできない無能w
黙ってNGできない無能w
672デフォルトの名無しさん (ワッチョイ f901-E35g)
2022/01/16(日) 04:00:49.97ID:az6Mfsfa0 OpenCVSharp入れたらexeのフォルダがdllだらけになったんですが、
これ全部リリースの時にこのまま一緒に渡さないといけないんですか?
exe1個にまとめられないんですか?
これ全部リリースの時にこのまま一緒に渡さないといけないんですか?
exe1個にまとめられないんですか?
673デフォルトの名無しさん (ワッチョイ e247-L0+A)
2022/01/16(日) 07:00:20.21ID:DVPU1vQA0674デフォルトの名無しさん (ワッチョイ 25ad-gbad)
2022/01/16(日) 10:03:18.59ID:gWCKJdmK0 ネイティブじゃね?
675デフォルトの名無しさん (アウアウウー Sa05-1yOP)
2022/01/16(日) 10:19:22.15ID:1ZlPRUHva インストーラーのexeひとつ渡せばおk
676漆黒の翼 (ワッチョイ f901-T4Xm)
2022/01/16(日) 20:01:08.59ID:VfeV/Qg80 教えていただきたいのですがWindowsでc#のプログラムが落ちた時にメモリダンプを吐くようにするにはどうすればいいのでしょうか?
よろしくお願いいたします
よろしくお願いいたします
677デフォルトの名無しさん (ワッチョイ 91a7-rJKh)
2022/01/16(日) 20:14:28.43ID:8g0F/aL60 メモリダンプ吐くと何かわかるん?
678漆黒の翼 (ワッチョイ f901-T4Xm)
2022/01/16(日) 20:18:34.35ID:VfeV/Qg80 >>677
メモリダンプをvisual studioに食わせるといろいろ分かります!!
メモリダンプをvisual studioに食わせるといろいろ分かります!!
679デフォルトの名無しさん (ワッチョイ cd18-UJPG)
2022/01/16(日) 20:19:29.37ID:el47HiNu0 メモリダンプを解析できない人たちのスレですよ、ここは。
680デフォルトの名無しさん (ワッチョイ 7d78-soNI)
2022/01/16(日) 20:22:15.01ID:F2RYBHf20 明らかに"初心者用"の範疇を超えているよね
681デフォルトの名無しさん (ワッチョイ 6e63-GFFZ)
2022/01/16(日) 20:34:12.82ID:T486FPBl0 C#でゲロ吐く方法はしらん
Windows Error Reportingで取得するはずなので、呼び出せば行けるかもしれない
Windows Error Reportingで取得するはずなので、呼び出せば行けるかもしれない
682デフォルトの名無しさん (ワッチョイ 6ecf-TBWv)
2022/01/16(日) 20:41:28.24ID:X0X6y0PK0 先輩社員から「まずはメモリダンプとって調べてみろよ」と無理難題言われたとか
683デフォルトの名無しさん (ワッチョイ cd18-UJPG)
2022/01/16(日) 20:47:08.84ID:el47HiNu0 Drワトソンって解雇されてたのか。
684デフォルトの名無しさん (ワッチョイ 8202-9BXF)
2022/01/16(日) 21:01:51.64ID:uYZKVP770 メモリダンプを見ると
変数とかスタックとの内容がじかにわかるので
デバグの助けになるかもしれない
そこまで必要になることは珍しいけど
変数とかスタックとの内容がじかにわかるので
デバグの助けになるかもしれない
そこまで必要になることは珍しいけど
685デフォルトの名無しさん (ワッチョイ f901-T4Xm)
2022/01/16(日) 21:18:19.12ID:VfeV/Qg80686デフォルトの名無しさん (ワッチョイ 4201-73fV)
2022/01/16(日) 21:38:53.48ID:zIpkfF6j0 >ダンプ解析入門 - Visual Studioでの可視化によるC#トラブルシューティング
読んでみたけど支離滅裂な記事だった
でもメモリダンプ吐くよう設定する方法はちゃんと書いてたぞ
読んでみたけど支離滅裂な記事だった
でもメモリダンプ吐くよう設定する方法はちゃんと書いてたぞ
687デフォルトの名無しさん (ドコグロ MM96-eOJp)
2022/01/16(日) 21:40:20.63ID:P0LzLgpAM >>683
出世して Watson Server として MS で働いてます
出世して Watson Server として MS で働いてます
688デフォルトの名無しさん (ワッチョイ f901-T4Xm)
2022/01/16(日) 21:42:20.27ID:VfeV/Qg80 https://docs.microsoft.com/ja-jp/dotnet/core/diagnostics/dumps
ここ読むと環境変数だけでいけそうだができませんです
ここ読むと環境変数だけでいけそうだができませんです
689デフォルトの名無しさん (ワッチョイ aeda-soNI)
2022/01/16(日) 22:06:33.35ID:aMgjkUSV0 C#でメモリダンプが必要って、C#の利点捨てまくったクセの強い作りしてるんちゃうか
UnsafeゴリゴリとかそれC#で作る意味あるのっていう
UnsafeゴリゴリとかそれC#で作る意味あるのっていう
690デフォルトの名無しさん (ワッチョイ 91a7-rJKh)
2022/01/16(日) 22:08:28.63ID:8g0F/aL60 >>686
書くやつも書くやつなら読むやつも読むやつってことだな
書くやつも書くやつなら読むやつも読むやつってことだな
691デフォルトの名無しさん (ワッチョイ 91a7-rJKh)
2022/01/16(日) 22:17:34.06ID:8g0F/aL60 まあ、そんなもん調べても結局使ってるライブラリがタコでしたなんて可能性もあるし
それより先にやることあんじゃねーの?
的な
それより先にやることあんじゃねーの?
的な
692デフォルトの名無しさん (ワッチョイ f901-T4Xm)
2022/01/16(日) 22:20:42.02ID:VfeV/Qg80 長時間連続運転するプログラムなんだけど、ちょっとずつメモリ使用料が増えていくななんて
時はメモリダンプ一択だと思うんだが・・・
というかID:8g0F/aL60さんはC#のメモリダンプ何回くらい使った経験あるの?
ゴミクズのような経験から導かれた結論は、やっぱりゴ
時はメモリダンプ一択だと思うんだが・・・
というかID:8g0F/aL60さんはC#のメモリダンプ何回くらい使った経験あるの?
ゴミクズのような経験から導かれた結論は、やっぱりゴ
693デフォルトの名無しさん (ワッチョイ cd18-UJPG)
2022/01/16(日) 22:24:55.74ID:el47HiNu0 例外機構が当たり前になった今ではアプリ内でcatchするだけですからね。
仮にテストですり抜けてもcatchしたらエラーログに吐けよと。
今ではWinDbgでカーネルダンプ解析するぐらいかな。
仮にテストですり抜けてもcatchしたらエラーログに吐けよと。
今ではWinDbgでカーネルダンプ解析するぐらいかな。
694デフォルトの名無しさん (ワッチョイ cd18-UJPG)
2022/01/16(日) 22:27:14.39ID:el47HiNu0 C#はガベコレあるからメモリリーク気にしないでいいって後輩が言ってました!!!
695デフォルトの名無しさん (ワッチョイ 6e2c-Nrkm)
2022/01/16(日) 22:41:54.12ID:RG8YDX1E0 少しずつメモリ使用料が増えていくとか、
Ruby みたいに、世代別GC を使っていたら、
古世代は閾値を越えるまで実行されないかも知れないし、
さらに、メモリ領域が大きいと、閾値もかなり大きいだろうし、なかなか実行されない
Ruby みたいに、世代別GC を使っていたら、
古世代は閾値を越えるまで実行されないかも知れないし、
さらに、メモリ領域が大きいと、閾値もかなり大きいだろうし、なかなか実行されない
696デフォルトの名無しさん (ワッチョイ 91a7-rJKh)
2022/01/16(日) 23:17:44.09ID:8g0F/aL60 >>692
正直ないね
無駄だから
c#でリークの対応なんて無駄
精々頑張った挙げ句にウチの会社が組んだところじゃない箇所でリークしてて対応できません
みたいな事実がわかるだけ
まず、c#みたいな
厳密なメモリ管理ができない言語での
組み方を学ぶべき
3日に一度再起動するとか
機能毎にモジュール化して動かすたびに破棄するとかな
廃棄したらガベコレ適当に実行してりゃOSが片付けてくれるだろ
正直ないね
無駄だから
c#でリークの対応なんて無駄
精々頑張った挙げ句にウチの会社が組んだところじゃない箇所でリークしてて対応できません
みたいな事実がわかるだけ
まず、c#みたいな
厳密なメモリ管理ができない言語での
組み方を学ぶべき
3日に一度再起動するとか
機能毎にモジュール化して動かすたびに破棄するとかな
廃棄したらガベコレ適当に実行してりゃOSが片付けてくれるだろ
697デフォルトの名無しさん (アウアウウー Sa05-76Y4)
2022/01/16(日) 23:31:50.74ID:I0k7QK8La 何のお役にも立てんけど、「メモリ使用料」って結構じわるねwww
まあマネージドなユーザーコードでリークが発生する原因は限られてるし、
ユーザーコードじゃないならどうしようもないし、ブル中野みたいな大鉈振るう必要って
確かにあるのかなという気はする
まあマネージドなユーザーコードでリークが発生する原因は限られてるし、
ユーザーコードじゃないならどうしようもないし、ブル中野みたいな大鉈振るう必要って
確かにあるのかなという気はする
698デフォルトの名無しさん (ワッチョイ 4201-73fV)
2022/01/16(日) 23:40:43.96ID:zIpkfF6j0 >>692
メモリ使用量が増えるならまずはプロファイラーじゃないか?
メモリ使用量が増えるならまずはプロファイラーじゃないか?
699デフォルトの名無しさん (ワッチョイ 4201-73fV)
2022/01/16(日) 23:42:20.42ID:zIpkfF6j0 C#でも断続的に性能が極端に悪化する問題みたいなのが発生したときに
性能悪化したタイミングでダンプ吐かせると糸口がつかめたりする
そういうのはだいたい.NET Frameworkとか下位の部分が原因だけど
原因が明確になれば回避策が取れる
性能悪化したタイミングでダンプ吐かせると糸口がつかめたりする
そういうのはだいたい.NET Frameworkとか下位の部分が原因だけど
原因が明確になれば回避策が取れる
700デフォルトの名無しさん (ワッチョイ 91a7-rJKh)
2022/01/16(日) 23:44:56.33ID:8g0F/aL60701デフォルトの名無しさん (ワッチョイ a9d2-gAe+)
2022/01/17(月) 00:12:14.01ID:BWxacq0R0 C#でのリークは大抵長寿命のeventに+=してるだけでしょ
702デフォルトの名無しさん (アウアウウー Sa05-Xz1T)
2022/01/17(月) 07:41:52.27ID:MbNkwuBfa GDIなどのシステムリソースの解放忘れとか
703デフォルトの名無しさん (ワッチョイ 91a7-rJKh)
2022/01/17(月) 09:30:07.53ID:9uEhEVX70 リリースの特殊な(?)解放方法なんて半ば作ったやつの趣味だからな
可能であれば別モジュールにしてキックして終わりがいい
個人製作的な(会社内であっても)ライブラリだとusingのdispose実装忘れはよくある
信じて使うと後ろからバッサリだ
可能であれば別モジュールにしてキックして終わりがいい
個人製作的な(会社内であっても)ライブラリだとusingのdispose実装忘れはよくある
信じて使うと後ろからバッサリだ
704デフォルトの名無しさん (ワッチョイ a124-O5xu)
2022/01/17(月) 10:45:22.36ID:TWhgTM4G0 もう半年以上起動しぱなっしの.NET5で作ったスクレイピンクツールあるけど25mbで安定してるな
705デフォルトの名無しさん (ワッチョイ e247-L0+A)
2022/01/17(月) 12:44:47.10ID:DKJy6PH50 >>704
25ミリバールって気圧かよw
25ミリバールって気圧かよw
706デフォルトの名無しさん (ワッチョイ 25ad-gbad)
2022/01/17(月) 13:14:05.94ID:U4FphVWG0 ミリビットだろ、この板なんだから
707デフォルトの名無しさん (ラクッペペ MM66-Dw/N)
2022/01/17(月) 13:15:12.00ID:XdTy16+8M ミリバールって昭和かよ
708デフォルトの名無しさん (アウアウウー Sa05-76Y4)
2022/01/17(月) 13:45:40.07ID:McAG9Ljja マネージドな世界で閉じている限り、Disposeの実装ミスや呼び出しの忘れは
リークの原因には普通はならないと思うけどね。
単にリソースの解放が逐次的でなくなるだけ。
リークの原因には普通はならないと思うけどね。
単にリソースの解放が逐次的でなくなるだけ。
709デフォルトの名無しさん (ブーイモ MMf6-kEIx)
2022/01/17(月) 13:52:14.45ID:NIAK/ICvM >>708
Disposeが呼ばれたらstaticなイベントからハンドラを削除するような実装は低品質なライブラリなんかだとたまに見かける
Disposeが呼ばれたらstaticなイベントからハンドラを削除するような実装は低品質なライブラリなんかだとたまに見かける
710デフォルトの名無しさん (ドコグロ MM96-eOJp)
2022/01/17(月) 14:02:14.57ID:s/zLKX0LM711デフォルトの名無しさん (アウアウウー Sa05-76Y4)
2022/01/17(月) 14:05:18.68ID:McAG9Ljja >>710
頭がおかしいのは君の方
普通のプログラマはマネージドなライブラリを挟んで
間接的にGDIのリソースを利用するんであって直接使ったりしないの
だからライブラリのコードにバグがない限りGDIを間接的に
利用しているからといってリークの原因にはならないんだよ
頭がおかしいのは君の方
普通のプログラマはマネージドなライブラリを挟んで
間接的にGDIのリソースを利用するんであって直接使ったりしないの
だからライブラリのコードにバグがない限りGDIを間接的に
利用しているからといってリークの原因にはならないんだよ
712デフォルトの名無しさん (アウアウウー Sa05-76Y4)
2022/01/17(月) 14:10:54.78ID:McAG9Ljja713デフォルトの名無しさん (ドコグロ MM96-eOJp)
2022/01/17(月) 14:26:56.43ID:ly062VWjM 普通のプログラマw
無能の言い訳に多用されてて笑う
無能の言い訳に多用されてて笑う
714デフォルトの名無しさん (アウアウウー Sa05-1yOP)
2022/01/17(月) 14:40:41.16ID:IUPVmsWca 理想のマネージドだったらdisposeなんて関係ないし、メモリリークなんて起きない
でもc#は理想のマネージドじゃないんだよ・・・
でもc#は理想のマネージドじゃないんだよ・・・
715デフォルトの名無しさん (ラクッペペ MM66-GFFZ)
2022/01/17(月) 15:20:30.64ID:C2NpqJUJM ゲロみたいな話題で盛り上がってんなあ
716デフォルトの名無しさん (ワッチョイ bd5f-i7b5)
2022/01/17(月) 17:33:38.89ID:0pf4TYua0 っぱRustよ
717デフォルトの名無しさん (ワッチョイ ae33-Aojf)
2022/01/17(月) 19:32:54.18ID:rqpdgGXW0 mb ミリビットもジワるwww
718デフォルトの名無しさん (ワッチョイ 6e46-76Y4)
2022/01/18(火) 09:23:03.79ID:HVobsaMl0 低レベルな質問で恐縮です。VisualStudioを使っています。
やりたいことは、定期的に更新されるcsvからデータを取得しDataGridViewに表示させたいです。
(つまり、DataGridViewでリアルタイムに更新されているように見せたい)
取得・更新することはできたのですが、更新時にソート状態が解除されて困っています。
DataTable・DataSet・DataSource・データバインドなどのキーワードを見つけて調べているのですが、理解力が乏しく解決できていません。
こんな方法があるよと、ヒントになる助言をいただけたらありがたいです。
よろしくお願いします。
やりたいことは、定期的に更新されるcsvからデータを取得しDataGridViewに表示させたいです。
(つまり、DataGridViewでリアルタイムに更新されているように見せたい)
取得・更新することはできたのですが、更新時にソート状態が解除されて困っています。
DataTable・DataSet・DataSource・データバインドなどのキーワードを見つけて調べているのですが、理解力が乏しく解決できていません。
こんな方法があるよと、ヒントになる助言をいただけたらありがたいです。
よろしくお願いします。
719デフォルトの名無しさん (ワンミングク MM52-a4W3)
2022/01/18(火) 10:13:54.13ID:Tap2eyJjM >>718
DataGridViewのSort順を復元するだけでは?
DataGridViewのSort順を復元するだけでは?
720デフォルトの名無しさん (ワッチョイ 022c-Nrkm)
2022/01/18(火) 10:18:04.98ID:jhcMMPao0 ・DataGridViewにどうデータをセットしているか、どう更新しているか
・どうソートさせているか
・ソート状態が解除というのは結局どういう状況になっているのか
を具体的に
・どうソートさせているか
・ソート状態が解除というのは結局どういう状況になっているのか
を具体的に
721デフォルトの名無しさん (ワッチョイ 6e46-76Y4)
2022/01/18(火) 11:36:28.39ID:HVobsaMl0722デフォルトの名無しさん (ワッチョイ 6e46-76Y4)
2022/01/18(火) 11:37:01.32ID:HVobsaMl0 >・どう更新しているか
button4を押すたびにcsvからデータを更新しています(実現したらtimerで自動更新に変更予定)
>・どうソートさせているか
>・ソート状態が解除というのは結局どういう状況になっているのか
button4クリック→初期状態(csv並び順)
GUIのdataGridViewの任意の列(例えば年齢)をクリックしソート
1,山田,25
3,鈴木,28
2,佐藤,30
4,山田,46
csvに 5,田中,37 が追加される
button4クリックで更新
csvの並びに戻る(希望はこの順で表示させたい)
1,山田,25 → (1,山田,25)
2,佐藤,30 → (3,鈴木,28)
3,鈴木,28 → (2,佐藤,30)
4,山田,46 → (5,田中,37)
5,田中,37 → (4,山田,46)
以上です。
button4を押すたびにcsvからデータを更新しています(実現したらtimerで自動更新に変更予定)
>・どうソートさせているか
>・ソート状態が解除というのは結局どういう状況になっているのか
button4クリック→初期状態(csv並び順)
GUIのdataGridViewの任意の列(例えば年齢)をクリックしソート
1,山田,25
3,鈴木,28
2,佐藤,30
4,山田,46
csvに 5,田中,37 が追加される
button4クリックで更新
csvの並びに戻る(希望はこの順で表示させたい)
1,山田,25 → (1,山田,25)
2,佐藤,30 → (3,鈴木,28)
3,鈴木,28 → (2,佐藤,30)
4,山田,46 → (5,田中,37)
5,田中,37 → (4,山田,46)
以上です。
723デフォルトの名無しさん (ワッチョイ 6e46-76Y4)
2022/01/18(火) 11:43:01.00ID:HVobsaMl0724デフォルトの名無しさん (ワッチョイ 022c-Nrkm)
2022/01/18(火) 13:08:53.17ID:jhcMMPao0 DataTableの場合ソート順は
dataTable.DefaultView.Sort
に文字列で格納されるからこれを使えばいい
dataTable.DefaultView.Sort
に文字列で格納されるからこれを使えばいい
725デフォルトの名無しさん (ワッチョイ a1d3-T4Xm)
2022/01/18(火) 13:20:14.01ID:k1mhP8XB0 C#で正規表現のperlでの「tr」と同じ事をしたいのですが、
Regexクラスにそれっぽいのがありません。
何か方法はありませんでしょうか?
Regexクラスにそれっぽいのがありません。
何か方法はありませんでしょうか?
726デフォルトの名無しさん (アウアウウー Sa05-1yOP)
2022/01/18(火) 13:29:49.03ID:pQS/rHaxa trは置換なのか?だったらc# regex 置換とかでぐぐりゃ方法出るだろ
痴漢じゃないなら知らない
痴漢じゃないなら知らない
727デフォルトの名無しさん (ワッチョイ a1d3-T4Xm)
2022/01/18(火) 13:41:14.96ID:k1mhP8XB0 置換ではあるのですが、
pattern [a-z]
replacement [a-z]
とすると半角英字が全角英字に変換されるといった感じです
pattern [a-z]
replacement [a-z]
とすると半角英字が全角英字に変換されるといった感じです
728デフォルトの名無しさん (アウアウウー Sa05-1yOP)
2022/01/18(火) 13:52:43.16ID:pQS/rHaxa 正規表現でマッチした位置とマッチした文字列を取り出すのはできる
正規表現関係なく文字列を全部変換するってならできる
これを組み合わせて自分でやるしかないんじゃない?
正規表現関係なく文字列を全部変換するってならできる
これを組み合わせて自分でやるしかないんじゃない?
729デフォルトの名無しさん (ワッチョイ f901-JESV)
2022/01/18(火) 13:54:14.42ID:9szJ9jA+0 Regex.Replace(mojiretsu, "[a-zA-Z]", p => ((char)(p.Value[0] - 'a' + 'a')).ToString());
動確はしてない。
動確はしてない。
730デフォルトの名無しさん (ワッチョイ a1d3-T4Xm)
2022/01/18(火) 14:04:35.01ID:k1mhP8XB0 なるほど、やはりないですか
ありがとうございました
ありがとうございました
731デフォルトの名無しさん (ワッチョイ cd2f-Nrkm)
2022/01/18(火) 18:17:30.27ID:UqX3jEvG0 全角半角ならVB.NetのStrConv使えばいいじゃね
732デフォルトの名無しさん (オッペケ Srd1-nJbY)
2022/01/18(火) 18:27:21.22ID:80llBYJsr c#って全角半角変換でまともなメソッド用意してないよな
733デフォルトの名無しさん (ワッチョイ 6e46-76Y4)
2022/01/18(火) 18:49:27.58ID:HVobsaMl0734デフォルトの名無しさん (ワッチョイ 6e8e-SRyr)
2022/01/18(火) 19:17:27.38ID:DZmAMHWt0735デフォルトの名無しさん (ワッチョイ 25ad-gbad)
2022/01/18(火) 19:30:02.02ID:uGAsykz90 .NETのことだろ。
あれ本当に不便。
あれ本当に不便。
736デフォルトの名無しさん (アウアウウー Sa05-1yOP)
2022/01/18(火) 19:44:39.78ID:g9d5Z42+a 全角無視した比較はあるんだから変換もあればいいのにな
.net6はいたるとこでCultureInfo受け取れるようになってるから、オリジナルCultureInfo作ってやればtolowerなんかはできそう
.net6はいたるとこでCultureInfo受け取れるようになってるから、オリジナルCultureInfo作ってやればtolowerなんかはできそう
737デフォルトの名無しさん (ワッチョイ 0279-H1NS)
2022/01/19(水) 04:15:15.58ID:4BL/bkWB0 nuget辺りに.net言語で使える漢字処理モジュールみたいのないの
738デフォルトの名無しさん (ワッチョイ eebb-76Y4)
2022/01/19(水) 13:57:55.37ID:b1tRS/0c0 あの、Asp.netMVCでサイトを作ったんですが、
robots.txtって
Global.asaxと同じ場所もしくはViews\Layout.cshtmlと同じ場所
のどっちに置けばいいんでしょうか?
robots.txtって
Global.asaxと同じ場所もしくはViews\Layout.cshtmlと同じ場所
のどっちに置けばいいんでしょうか?
739デフォルトの名無しさん (ワッチョイ 495f-Nrkm)
2022/01/19(水) 22:04:21.46ID:67zDZ4RH0 WebProgという板があるからそっち言ってみれば?
740デフォルトの名無しさん (ワンミングク MM52-a4W3)
2022/01/20(木) 08:59:26.49ID:fgAfnzipM >>738
デプロイしてみればわかる話を、何故聞いてしまうのか?
デプロイしてみればわかる話を、何故聞いてしまうのか?
741デフォルトの名無しさん (ワッチョイ 6e63-GFFZ)
2022/01/20(木) 10:11:03.18ID:8HL1zORE0 めんどいじゃん
ネットでクダ巻いてるゴミが代わりに試して教えてくれれば儲けもんだろう?
ネットでクダ巻いてるゴミが代わりに試して教えてくれれば儲けもんだろう?
742デフォルトの名無しさん (オッペケ Srd1-nADw)
2022/01/20(木) 12:57:10.80ID:MJ6I7RR7r おっ、そうだな
743デフォルトの名無しさん (ワッチョイ 8202-9BXF)
2022/01/20(木) 14:46:47.86ID:n7chvAG30 >>741
うそを教えられるという可能性は考えないのか?
うそを教えられるという可能性は考えないのか?
744デフォルトの名無しさん (ワッチョイ cd2f-Nrkm)
2022/01/20(木) 18:34:05.33ID:NL1fx3HA0 すでにサイト作ってる段階なら、掲示板で聞くより自分で試すほうが早いと思うんだがなぁ
745デフォルトの名無しさん (ワッチョイ e20e-kWPm)
2022/01/21(金) 00:57:35.59ID:yyC8EMRk0 共変と反変という言葉がよく分かりません
アップキャスト/ダウンキャストと何が違うんでしょうか?
アップキャスト/ダウンキャストと何が違うんでしょうか?
746デフォルトの名無しさん (ワッチョイ a9d2-gAe+)
2022/01/21(金) 02:01:57.32ID:r2dC59Vr0 class B{}
class C:B{}
class D:C{}
static D Function(B b){ return new D();}
Func<C,C> fp = Function;
Functionの返り値DはCの派生クラスだから返り値CのFunc扱いしても大丈夫だよねってのが共変
Functionの引数BはCのベースクラスだから引数CのFunc扱いしても大丈夫だよねってのが反変
両方ともアップキャスト(asがいらない)が約束されてるから許される
class C:B{}
class D:C{}
static D Function(B b){ return new D();}
Func<C,C> fp = Function;
Functionの返り値DはCの派生クラスだから返り値CのFunc扱いしても大丈夫だよねってのが共変
Functionの引数BはCのベースクラスだから引数CのFunc扱いしても大丈夫だよねってのが反変
両方ともアップキャスト(asがいらない)が約束されてるから許される
747デフォルトの名無しさん (アウアウウー Sa05-76Y4)
2022/01/21(金) 04:17:33.74ID:9FYmM/Q0a ハロウィンの子供にチョコレートを渡せることが反変で
チョコレート工場をお菓子工場とみなせることが共変ってことか
チョコレート工場をお菓子工場とみなせることが共変ってことか
748デフォルトの名無しさん (オッペケ Srd1-nJbY)
2022/01/21(金) 08:32:03.92ID:kufT2hajr よく理解できるね
これを理解したとしても他人がコードを読むの大変だよね
コメントに書いておくものなの?
これを理解したとしても他人がコードを読むの大変だよね
コメントに書いておくものなの?
749デフォルトの名無しさん (オイコラミネオ MM29-soNI)
2022/01/21(金) 10:57:27.37ID:r8LIAXWEM c#自体にそういう機能があるので楽だねって感じ
うまくいかない場合は何か思い違いしてる
うまくいかない場合は何か思い違いしてる
750デフォルトの名無しさん (ワンミングク MM52-kWPm)
2022/01/21(金) 22:48:46.71ID:0wwLw+zrM751デフォルトの名無しさん (ワッチョイ 8210-pjxc)
2022/01/21(金) 22:52:58.30ID:DQ1OUxKV0 なにこれ
もしかしてnullになるかもしれんやつは片っ端から?つけなきゃいけなくなったの??
もしかしてnullになるかもしれんやつは片っ端から?つけなきゃいけなくなったの??
752デフォルトの名無しさん (ワッチョイ bd5f-i7b5)
2022/01/21(金) 23:17:35.13ID:Yoc43dCB0 そうだぞ
753デフォルトの名無しさん (ワッチョイ 8210-pjxc)
2022/01/21(金) 23:37:35.61ID:DQ1OUxKV0 なんか俺かっぺになった気分だべ・・・
754デフォルトの名無しさん (ワッチョイ a9d2-gAe+)
2022/01/22(土) 01:35:08.87ID:xgyvtLBZ0 nullチェックをコンパイラが管理するやつだから慣れれば神機能
755デフォルトの名無しさん (ブーイモ MM22-kAHk)
2022/01/22(土) 06:49:46.16ID:sQZaaq50M 参照前に必ずnullチェックというコーディング規約から解放される?
756デフォルトの名無しさん (ワッチョイ 25ad-gbad)
2022/01/22(土) 07:48:24.01ID:dpfIrrzB0 なわきゃあない
757デフォルトの名無しさん (ワッチョイ dd1a-QFW6)
2022/01/22(土) 08:36:39.06ID:odBVOzqN0 on/offを行単位で切り替えられるから混乱すると思う
758デフォルトの名無しさん (ドコグロ MM96-eOJp)
2022/01/22(土) 09:30:40.13ID:AMYiKIMXM 行単位でそんな事する奴はすでに混乱してるだろw
759デフォルトの名無しさん (ワッチョイ 91a7-rJKh)
2022/01/22(土) 09:57:57.24ID:dGbyTm5r0 何が利点なんだろうネ?(笑)
760デフォルトの名無しさん (ドコグロ MM96-eOJp)
2022/01/22(土) 10:16:46.92ID:z2LDxi9+M まあ利点がわからないなら君は今のままでいいんじゃね?
761デフォルトの名無しさん (ワッチョイ 4666-T4Xm)
2022/01/22(土) 10:35:14.93ID:tP9M/cw30 5年ぶりに.Netで作ることになったんだけど、.Net Frameworkってオワコンなの?
Coreとか出てきてさらに.Netに統合されるとか混沌としてて何が今の最適解なのか解らない。
どうせ作るなら今の最適で作りたいからお聞かせ願いたい。
つかWPFって普及前に死んだ感じ?
Coreとか出てきてさらに.Netに統合されるとか混沌としてて何が今の最適解なのか解らない。
どうせ作るなら今の最適で作りたいからお聞かせ願いたい。
つかWPFって普及前に死んだ感じ?
762デフォルトの名無しさん (ワッチョイ a124-O5xu)
2022/01/22(土) 10:40:46.17ID:om6KWGu40 .NET FrameworkはオワコンだけどWindowsに標準で入ってるのでWindowsユーザー視点だと一番有難い
WPFもWinFormsのWindowsであれば現役
WPFもWinFormsのWindowsであれば現役
763デフォルトの名無しさん (ワッチョイ 91a7-rJKh)
2022/01/22(土) 11:13:26.21ID:dGbyTm5r0 .netもオワコンだが
WPFもオワコンなので
代わりがない状態
他のはもっと過疎ってて
.netやWPFより更に消えやすい感じ
なので何もオススメできない状態
WPFもオワコンなので
代わりがない状態
他のはもっと過疎ってて
.netやWPFより更に消えやすい感じ
なので何もオススメできない状態
764デフォルトの名無しさん (アウアウウー Sa05-1yOP)
2022/01/22(土) 11:41:22.99ID:cBfIrJY2a オワコンっても単なる流行の話だからな中身はオワコンでもない
.NET Framework 4.8
.NET6
今選ぶならこのどちらか。どっちも長期サポートになってるはず
表面的にはどっち選んでも同じ。昔の記憶が残ってるなら4.8使った方がスムーズに扱える
UIは色々増えてるけどwinだけならWinFormsが無難
.NET Framework 4.8
.NET6
今選ぶならこのどちらか。どっちも長期サポートになってるはず
表面的にはどっち選んでも同じ。昔の記憶が残ってるなら4.8使った方がスムーズに扱える
UIは色々増えてるけどwinだけならWinFormsが無難
765デフォルトの名無しさん (ワッチョイ 4666-T4Xm)
2022/01/22(土) 11:45:58.45ID:tP9M/cw30 >なので何もオススメできない状態
調べる限り、今はコレってのが無いんだよね。
WPFも生き腐れしてるみたいなので、
無難なWindowFormsと.Net Framework4.6.Xで良いやって思ってます。
ぬるぬるUIによる快感性はiOSに任せようと。
調べる限り、今はコレってのが無いんだよね。
WPFも生き腐れしてるみたいなので、
無難なWindowFormsと.Net Framework4.6.Xで良いやって思ってます。
ぬるぬるUIによる快感性はiOSに任せようと。
766デフォルトの名無しさん (ワッチョイ 4666-T4Xm)
2022/01/22(土) 11:49:15.98ID:tP9M/cw30 >.NET Framework 4.8
ユーザーのコンピュータには.NET Framework 4.6が入ってるので
5年程度を稼働を目安にすると.NET Framework 4.6のが導入のハードルが
低くて良いなと思うのですが、.NET Framework 4.8のが何か優れてるんですかね?
純粋にサポートの長さかな。
ユーザーのコンピュータには.NET Framework 4.6が入ってるので
5年程度を稼働を目安にすると.NET Framework 4.6のが導入のハードルが
低くて良いなと思うのですが、.NET Framework 4.8のが何か優れてるんですかね?
純粋にサポートの長さかな。
767デフォルトの名無しさん (アウアウウー Sa05-1yOP)
2022/01/22(土) 12:08:19.50ID:cBfIrJY2a 4.6だと今年でサポート終了かな
サポート気にしないなら・・4.xの差で機能的にはほとんど変わってないから何使っても同じ
ただちょこちょこソースコードの書き方が追加されてる(変更じゃなくて追加だから昔の書き方で問題起きない)
ぐぐってソースコードコピペしたときに新しい書式のソースコードだと思わぬエラーがでて困るかもしれないって程度
わざわざ古いの選ぶ意味もないけど、新しいの入れるのが面倒なら古いままでもいいんじゃないって程度だよ
サポート気にしないなら・・4.xの差で機能的にはほとんど変わってないから何使っても同じ
ただちょこちょこソースコードの書き方が追加されてる(変更じゃなくて追加だから昔の書き方で問題起きない)
ぐぐってソースコードコピペしたときに新しい書式のソースコードだと思わぬエラーがでて困るかもしれないって程度
わざわざ古いの選ぶ意味もないけど、新しいの入れるのが面倒なら古いままでもいいんじゃないって程度だよ
768デフォルトの名無しさん (テテンテンテン MM66-6Z7J)
2022/01/22(土) 12:11:29.47ID:63g4vstfM 基本的には.NET6を選べばいい
既存システムのメンテナンス・マイグレーションなら資産状況次第だけどFW48の方が低リスクで間違いない
ランタイムのサポート期間は意外にもFW48の方が長い
でも開発環境のサポート期間はわからない
既存システムのメンテナンス・マイグレーションなら資産状況次第だけどFW48の方が低リスクで間違いない
ランタイムのサポート期間は意外にもFW48の方が長い
でも開発環境のサポート期間はわからない
769デフォルトの名無しさん (ワッチョイ ae2d-T4Xm)
2022/01/22(土) 13:06:27.03ID:MOxbGC/+0 最近は4Kとか高解像度ディスプレイ対応(スケーリング対応)が必要になって来たせいか
WPFを使ってる所が前よりは増えた印象
他に良いのが無いから消去法で採用って感じ何だろうけど
WPFを使ってる所が前よりは増えた印象
他に良いのが無いから消去法で採用って感じ何だろうけど
770デフォルトの名無しさん (ワッチョイ ae2d-T4Xm)
2022/01/22(土) 13:10:19.88ID:MOxbGC/+0771デフォルトの名無しさん (ワッチョイ bd5f-jKu0)
2022/01/22(土) 13:16:37.15ID:+eWEN8w/0 WPFでもMVVMを考えなくてもWinFormsと同じように使えるし、スケーリング対応が楽なのはいいよね
あと最近のWindows10は標準で4.8が入ってなかったっけ?
あと最近のWindows10は標準で4.8が入ってなかったっけ?
772デフォルトの名無しさん (スップ Sd82-kEIx)
2022/01/22(土) 13:25:41.09ID:i+EsaIAtd サポート期間を気にするなら.NET6は問題外だよ
なんと2024年にサポート切れ
なんと2024年にサポート切れ
773デフォルトの名無しさん (テテンテンテン MM66-6Z7J)
2022/01/22(土) 13:36:54.52ID:63g4vstfM 十分だよ
.NETは互換性が高いから.NET8への移行も苦労はせんだろう
他の言語と比べたら天国だ
.NETは互換性が高いから.NET8への移行も苦労はせんだろう
他の言語と比べたら天国だ
774デフォルトの名無しさん (ワッチョイ ae2d-T4Xm)
2022/01/22(土) 14:04:30.15ID:MOxbGC/+0 >>771
WinFormsの*.Designer.csと*.resxから解放されるのも大きいね
差分を見たりマージするのに問題あり過ぎた
Windows10はMay 2019 Update(1903)から標準で4.8が入ってる
現在サポート中のバージョンは全部4.8が入ってるね
WinFormsの*.Designer.csと*.resxから解放されるのも大きいね
差分を見たりマージするのに問題あり過ぎた
Windows10はMay 2019 Update(1903)から標準で4.8が入ってる
現在サポート中のバージョンは全部4.8が入ってるね
775デフォルトの名無しさん (ワッチョイ 495f-sNUe)
2022/01/22(土) 14:08:40.62ID:gJEoCqwv0 今の最適で作りたいなら.NET 6/WPFだな
776デフォルトの名無しさん (ワッチョイ a9da-teZp)
2022/01/22(土) 14:33:41.83ID:KL4k8E210 .NET Frameworkは最終版の4.8でもC#7.3までの対応
C#8.0は.NET Core 3
C#9.0は.NET 5
C#10.0は.NET 6
C#のバージョンを上げるなら.NETも移行せざるを得ない
C#8.0は.NET Core 3
C#9.0は.NET 5
C#10.0は.NET 6
C#のバージョンを上げるなら.NETも移行せざるを得ない
777デフォルトの名無しさん (オッペケ Srd1-nADw)
2022/01/22(土) 14:35:53.77ID:nTnTl9DUr わかりました、Mauiで頑張る
778デフォルトの名無しさん (アウアウウー Sa05-76Y4)
2022/01/22(土) 14:44:13.78ID:Ii2fD9R0a WPFの方が高DPI(高「解像度」では必ずしもないよね)対応が優れているっていうのは
DPIが異なる複数のディスプレイ間をウィンドウが行ったり来たりするような状況を想定した話?
DPIが異なる複数のディスプレイ間をウィンドウが行ったり来たりするような状況を想定した話?
779デフォルトの名無しさん (ブーイモ MM66-kEIx)
2022/01/22(土) 14:49:58.72ID:ARjVXSY1M WPFってWebみたいに解像度に合わせて画像切り替えるとか標準じゃできないだろ?
HDPI対応が優れているとか片腹痛い
HDPI対応が優れているとか片腹痛い
780デフォルトの名無しさん (ワッチョイ 6ee3-soNI)
2022/01/22(土) 15:19:51.12ID:EyuzyEvM0 俺社環だと2012R2なんで4.5.1なんだよな
サポート外だからさっさと4.6移行に切り替えたいけど、不具合出てないから誰もやりたくないという
サポート外だからさっさと4.6移行に切り替えたいけど、不具合出てないから誰もやりたくないという
781デフォルトの名無しさん (ワッチョイ e101-c2Bm)
2022/01/22(土) 16:54:28.58ID:1FaTcT0G0782デフォルトの名無しさん (ワッチョイ e7ad-KRpb)
2022/01/22(土) 18:01:32.84ID:dpfIrrzB0 想像力が無いだけだなあ
783デフォルトの名無しさん (ワッチョイ 2702-p/vS)
2022/01/22(土) 18:55:07.04ID:Hnp3kh2k0784デフォルトの名無しさん (ワッチョイ 7fcf-X7eg)
2022/01/22(土) 19:41:02.79ID:DSkywrpw0 ドキュメントは残しておけよw
785デフォルトの名無しさん (オイコラミネオ MMdb-IuBN)
2022/01/22(土) 19:49:34.26ID:vcUHcBQYM 昔自分用に作った(家で自分の時間を使って)アプリがあって退職時に無理やり引き継ぎさせられて勝手に使われてる
PC壊れたときに連絡あってアプリを送った思い出…
PC壊れたときに連絡あってアプリを送った思い出…
786デフォルトの名無しさん (オイコラミネオ MMdb-IuBN)
2022/01/22(土) 19:51:39.05ID:vcUHcBQYM 毎日使うものなので劇的に工数が減った
あくまでも自分用
それを恨みこそすれ感謝してない元会社がタダでずっと使ってる
あくまでも自分用
それを恨みこそすれ感謝してない元会社がタダでずっと使ってる
787デフォルトの名無しさん (ワッチョイ df00-3lfm)
2022/01/22(土) 21:17:29.45ID:9EvEVFCn0 Main内
Test t = new Test();
t.Num = 1;
t.Add(10);
Console.Write(t.Num);
class Test
{
public int Num {get; set;}
public int Add(int p)
{
return Num + p;
}
}
これで出力が1になるのは何故なのでしょう?11になると思うのですが…
Test t = new Test();
t.Num = 1;
t.Add(10);
Console.Write(t.Num);
class Test
{
public int Num {get; set;}
public int Add(int p)
{
return Num + p;
}
}
これで出力が1になるのは何故なのでしょう?11になると思うのですが…
788デフォルトの名無しさん (オイコラミネオ MMdb-IuBN)
2022/01/22(土) 21:22:02.32ID:vcUHcBQYM return Num + p;
これは足したものを返してるだけで
Num自体に変更をかけていないからな
Num = Num + p;
return Num;
ならわかる
これは足したものを返してるだけで
Num自体に変更をかけていないからな
Num = Num + p;
return Num;
ならわかる
789デフォルトの名無しさん (ワッチョイ df00-3lfm)
2022/01/22(土) 21:37:34.36ID:9EvEVFCn0 あ、、、確かに。納得しました。
ありがとうございました
ありがとうございました
790デフォルトの名無しさん (ワッチョイ 07ac-tMZL)
2022/01/22(土) 23:20:32.09ID:mmM8IstB0 いえいえ
791デフォルトの名無しさん (ワッチョイ e7da-jsoe)
2022/01/23(日) 14:44:30.58ID:is+XSiL/0 すみません、初心者で何からしたら良いのか、何をすべきなのか分からなくて助けてください。
計算アプリを作らなければならず、調べてなんとかボタン配置とかはできたのですが、プログラミングが何をどういった順番でするのか分からなくて…
計算は
固定数字÷ボタン入力した数字(+必要に応じて選択した数字)×ドロップダウンで選択した数字
これを出来るようにしたいのですが、やるべきことは
@ボタンとドロップダウンの紐付け?認識?
A入力した数字の表示
B()の条件付け
C計算結果の表示
これで大丈夫でしょうか?
うまく質問できず、申し訳ありません。
今までプログラミングに触れたことが無く、必要情報が不足していましたら追加致します。
計算アプリを作らなければならず、調べてなんとかボタン配置とかはできたのですが、プログラミングが何をどういった順番でするのか分からなくて…
計算は
固定数字÷ボタン入力した数字(+必要に応じて選択した数字)×ドロップダウンで選択した数字
これを出来るようにしたいのですが、やるべきことは
@ボタンとドロップダウンの紐付け?認識?
A入力した数字の表示
B()の条件付け
C計算結果の表示
これで大丈夫でしょうか?
うまく質問できず、申し訳ありません。
今までプログラミングに触れたことが無く、必要情報が不足していましたら追加致します。
792デフォルトの名無しさん (スッップ Sd7f-lJKu)
2022/01/23(日) 15:13:55.20ID:XkFSmW1wd 今期の単位は諦めましょう
793デフォルトの名無しさん (アウアウウー Sa4b-DZ2P)
2022/01/23(日) 15:15:05.76ID:Wu5qqWWYa ボタン押したらボタンに対応した値を表示する(固定値で割らなくておk)
それができたら、次は固定値で割った結果を表示するように修正
それができたら、次はドロップダウンの選択が変わったことを知る方法と選択された値を取得する方法調べる
それがわかったら、ドロップダウンの値を掛けた結果を表示できるように修正
それができたら、どんな条件でこういう計算するって条件別け
かな?
それができたら、次は固定値で割った結果を表示するように修正
それができたら、次はドロップダウンの選択が変わったことを知る方法と選択された値を取得する方法調べる
それがわかったら、ドロップダウンの値を掛けた結果を表示できるように修正
それができたら、どんな条件でこういう計算するって条件別け
かな?
794デフォルトの名無しさん (ラクッペペ MM8f-DS0X)
2022/01/23(日) 15:16:44.75ID:CCpFlBt8M それを決めたら他の人がコードを書いてくれるのか?
それならマルナゲをオススメ
それならマルナゲをオススメ
795デフォルトの名無しさん (ワッチョイ e7da-jsoe)
2022/01/23(日) 15:20:46.99ID:is+XSiL/0796デフォルトの名無しさん (ワッチョイ e7da-jsoe)
2022/01/23(日) 15:30:22.12ID:is+XSiL/0797デフォルトの名無しさん (ワッチョイ 8701-TNSx)
2022/01/23(日) 19:04:59.40ID:nwzKJ0xW0 ひっでえ課題
そんなもんが何の足しになるんや
そんなもんが何の足しになるんや
798デフォルトの名無しさん (ワッチョイ e7da-jsoe)
2022/01/23(日) 19:47:07.31ID:is+XSiL/0 やっと、数字の表示ができました……
何故か一桁しか表示されなくて、次の数字押したら上書きされるけど、表示はできました…
何のたしになるかは分からないです…
曰く『コロナ禍だけど、この機会に家で出来きることをしよう!』って事らしいです。
何故か一桁しか表示されなくて、次の数字押したら上書きされるけど、表示はできました…
何のたしになるかは分からないです…
曰く『コロナ禍だけど、この機会に家で出来きることをしよう!』って事らしいです。
799デフォルトの名無しさん (ワッチョイ e7da-jsoe)
2022/01/23(日) 19:48:24.39ID:is+XSiL/0 投稿が重複してしまいました、誠に申し訳ありません。
800デフォルトの名無しさん (ワッチョイ e7da-IuBN)
2022/01/23(日) 23:26:33.12ID:pR5ferbX0 メンバー'hoge' はインスタンスデータにアクセスしないため、static にマークできます
801デフォルトの名無しさん (ワッチョイ 078b-V3GB)
2022/01/24(月) 12:21:02.64ID:bXxRLmwJ0 四角をグラフィックに描画する場合の座標について
g.DrawRectangle(pen, 始点x座標,始点y座標,幅,高さ);
このようにあります
ならば幅が2,2の場合
g.DrawRectangle(pen, 16, 16, 2, 2);
これで(16,16)-(17,17)で2ドットだけの中抜きがないものを想像するのですが
実際は
(16,16)-(18,18)の中央に穴がある状態の四角が描画されるようです
これは3,3指定なら理解できるんですが
幅指定なのになぜこのようになってしまうのでしょうか?
g.DrawRectangle(pen, 始点x座標,始点y座標,幅,高さ);
このようにあります
ならば幅が2,2の場合
g.DrawRectangle(pen, 16, 16, 2, 2);
これで(16,16)-(17,17)で2ドットだけの中抜きがないものを想像するのですが
実際は
(16,16)-(18,18)の中央に穴がある状態の四角が描画されるようです
これは3,3指定なら理解できるんですが
幅指定なのになぜこのようになってしまうのでしょうか?
802デフォルトの名無しさん (アウアウウー Sa4b-DZ2P)
2022/01/24(月) 12:39:27.95ID:zeqExr0Ka g.DrawRectangle(pen, 16, 16, 1, 1);
g.DrawRectangle(pen, 16, 16, 0, 0);
こいつらはどういう挙動をするべきかを考えたら?
g.DrawRectangle(pen, 16, 16, 0, 0);
こいつらはどういう挙動をするべきかを考えたら?
803デフォルトの名無しさん (ブーイモ MM8f-X3yx)
2022/01/24(月) 13:27:00.02ID:VRumLvNTM GDIは終点は描画領域に「含まない」
だから、幅として成立する。
FORTRAN由来とかで「含む」系
もあるので注意だ
だから、幅として成立する。
FORTRAN由来とかで「含む」系
もあるので注意だ
804デフォルトの名無しさん (アウアウウー Sa4b-i5gI)
2022/01/24(月) 14:09:38.84ID:97kNTb42a >>801
まあこうは言える。
まずユークリッド幾何学的な数学的に抽象化された世界で考えるべき。
その世界では、1対の平行線の距離がペンの幅より大きければ必ず平行線の間に「隙間」が出来る。
GDI+の描画はこういう抽象化された世界をピクセルの世界に写像してるだけ
まあこうは言える。
まずユークリッド幾何学的な数学的に抽象化された世界で考えるべき。
その世界では、1対の平行線の距離がペンの幅より大きければ必ず平行線の間に「隙間」が出来る。
GDI+の描画はこういう抽象化された世界をピクセルの世界に写像してるだけ
805デフォルトの名無しさん (アウアウウー Sa4b-i5gI)
2022/01/24(月) 18:54:49.46ID:97kNTb42a まあたぶんこんな感じだね
(1) 論理座標の原点は(0, 0)のピクセルの中心に設定されている。つまり論理座標とピクセル座標は
0.5ずれている(少なくともペンの幅が奇数ピクセルの時は)
(2) DrawRectangleは論理的な矩形の辺がペンの中心になるように描画する
(3) だから描画された矩形はペンの幅の1/2 * 2だけ指定したサイズより大きくなる
(1) 論理座標の原点は(0, 0)のピクセルの中心に設定されている。つまり論理座標とピクセル座標は
0.5ずれている(少なくともペンの幅が奇数ピクセルの時は)
(2) DrawRectangleは論理的な矩形の辺がペンの中心になるように描画する
(3) だから描画された矩形はペンの幅の1/2 * 2だけ指定したサイズより大きくなる
806デフォルトの名無しさん (スフッ Sd7f-1Ojp)
2022/01/24(月) 19:46:14.25ID:ph7NlGryd 小数のない世界なら厚みゼロで隙間がないんだろうけど、塗りつぶすならFillRectngleで明示しろってことかな。
807デフォルトの名無しさん (ワッチョイ 5f0e-RLpW)
2022/01/25(火) 22:02:24.84ID:AwkrZJuk0 独習C#やってるんだけど、これを一通りやれば基本は身に付くと思っていい?
808デフォルトの名無しさん (ワッチョイ a718-VhOq)
2022/01/25(火) 22:03:27.85ID:3T3OgJ8A0 信じるしかないだろ。もう買ってしまったのだから。
809デフォルトの名無しさん (ワッチョイ 7f33-AHSv)
2022/01/25(火) 22:23:59.29ID:bPaq+vdr0 >>807
その本なら自信持って良いよ。
record, using var, initなどのC#8以降の機能は別途学習が必要。
LINQや正規表現などは実践でないとなかなか身につかないので、だいたい理解したらどんどん読み進めるのがおすすめ。
ちなみにプログラミング未経験で、全部読むのに3ヶ月かかりました。
その本なら自信持って良いよ。
record, using var, initなどのC#8以降の機能は別途学習が必要。
LINQや正規表現などは実践でないとなかなか身につかないので、だいたい理解したらどんどん読み進めるのがおすすめ。
ちなみにプログラミング未経験で、全部読むのに3ヶ月かかりました。
810デフォルトの名無しさん (オイコラミネオ MMdb-IuBN)
2022/01/26(水) 00:57:13.82ID:TS8Lm52TM 自分だったら3か月かかるならモチベーションが保てそうにないなw
20年前はそんな本がなく手探りだったけど逆に良かったのかな…
20年前はそんな本がなく手探りだったけど逆に良かったのかな…
811デフォルトの名無しさん (オイコラミネオ MMdb-IuBN)
2022/01/26(水) 01:14:23.92ID:TS8Lm52TM 仕様もライブラリも今よりペラペラだったから入門しやすかった
812デフォルトの名無しさん (ワッチョイ 5f0e-RLpW)
2022/01/26(水) 01:55:09.45ID:4qIztPSU0813デフォルトの名無しさん (スプッッ Sdff-12R3)
2022/01/26(水) 12:37:45.33ID:IaxANYMEd やっつけ仕事するだけなら今も昔も変わらんと思う
C#の便利機能が山ほど増えてて書きやすくはなってるけどどこまでが入門なのかは正直わからん
C#の便利機能が山ほど増えてて書きやすくはなってるけどどこまでが入門なのかは正直わからん
814デフォルトの名無しさん (テテンテンテン MM8f-LUKT)
2022/01/26(水) 13:20:24.56ID:S6jLK41vM Recordとかぜってえ使わねえ
815デフォルトの名無しさん (ワッチョイ e749-zlty)
2022/01/26(水) 13:32:46.48ID:MBxJE5i40 ともーじゃん?
・・・まあ使わなくても済むよなあ
・・・まあ使わなくても済むよなあ
816デフォルトの名無しさん (テテンテンテン MM8f-9Kiq)
2022/01/26(水) 13:50:18.74ID:wOQPCoOZM DTOだらけの低品質なコードが量産されてTypeScriptみたいになりそうな気はしてる
817デフォルトの名無しさん (スッップ Sd7f-lJKu)
2022/01/26(水) 14:28:40.80ID:pfxZ0tMsd おれも独習で勉強した
分厚いから真ん中ぐらいまでくると最初の方忘れてるわ
んでもう一度戻ってやり直したり、途中で挫折したりで
1年以上うだうだ読んでた
読み終わる前にいろいろ作って遊んでたけど
イベントとか非同期処理とか分からないとまともなの作れないんで
途中すっ飛ばしてその辺読んだり
分厚いから真ん中ぐらいまでくると最初の方忘れてるわ
んでもう一度戻ってやり直したり、途中で挫折したりで
1年以上うだうだ読んでた
読み終わる前にいろいろ作って遊んでたけど
イベントとか非同期処理とか分からないとまともなの作れないんで
途中すっ飛ばしてその辺読んだり
818デフォルトの名無しさん (NZ 0H1f-ZgEK)
2022/01/26(水) 19:22:56.75ID:uxP3YVvMH >>817
その独習、旧版(ハーバード・シルト)?
その独習、旧版(ハーバード・シルト)?
819デフォルトの名無しさん (オイコラミネオ MMdb-IuBN)
2022/01/26(水) 19:59:28.45ID:zF2HduXmM シルトは過去の人
昔読んだ時もそういうイメージ
文法ぐらいが得意分野
昔読んだ時もそういうイメージ
文法ぐらいが得意分野
820デフォルトの名無しさん (NZ 0H1f-ZgEK)
2022/01/26(水) 21:16:01.91ID:uxP3YVvMH >>819
では最近の教科書で優れたものは、どなたの著作ですか?
では最近の教科書で優れたものは、どなたの著作ですか?
821デフォルトの名無しさん (ワッチョイ 5f42-4V6Q)
2022/01/27(木) 00:27:57.09ID:XnQeNwtl0 俺はオライリーの薄いやつで大体把握して、デザパタをjavaの結城さんのやつで学んだな
822デフォルトの名無しさん (ワッチョイ e7ae-tBRw)
2022/01/27(木) 10:26:45.87ID:i4V+v3ft0 C++の本で勉強した知識だけでC#の本は買わず、dobonを見ながら書いてる
823デフォルトの名無しさん (ワッチョイ 8701-ZIfX)
2022/01/28(金) 00:37:45.37ID:UrWQ/KNN0 dobonよく参考にしてるけどもしかして見てるとバカにされる風潮とかあるの?
824デフォルトの名無しさん (ワッチョイ 7f2d-dZT1)
2022/01/28(金) 00:43:53.93ID:OmkEpZCo0 昔はよくお世話になったけど、今となっては古い記事が多いので最近はあまり見ないな
825デフォルトの名無しさん (ワッチョイ c55f-dxHz)
2022/01/28(金) 05:13:54.08ID:AmULl7RP0 全ページのヘッダに古い言語仕様の内容であることの明示くらいはしてほしい
あと初心者向けと言いながら
同じ処理でベストプラクティスと非推奨な書き方を同列に載せてるのも印象よくない
あと初心者向けと言いながら
同じ処理でベストプラクティスと非推奨な書き方を同列に載せてるのも印象よくない
826デフォルトの名無しさん (アウアウクー MM7d-CZkQ)
2022/01/28(金) 08:13:42.95ID:MUNMfoCeM recordはvalueobject作るのに便利
使い捨てのアプリ作るのには不要
使い捨てのアプリ作るのには不要
827デフォルトの名無しさん (テテンテンテン MM3e-X7Gz)
2022/01/28(金) 12:18:41.61ID:g6bFcMDaM で、あるか
828デフォルトの名無しさん (ワッチョイ 6646-21ac)
2022/01/28(金) 14:24:04.65ID:C+lFkEfx0 お世話になります。
ComboBox.IsReadOnly を使おうとしてエラー(usingまたはアセンブリが不足)が出ました。
https://docs.microsoft.com/ja-jp/dotnet/api/system.windows.controls.combobox?view=windowsdesktop-6.0
で調べ、
名前空間:System.Windows.Controls
アセンブリ:PresentationFramework.dll
を追加しました。
しかし、現時点でエラーに変化がなく困っています。他に考えられる原因があればお教えてください。
ComboBox.IsReadOnly を使おうとしてエラー(usingまたはアセンブリが不足)が出ました。
https://docs.microsoft.com/ja-jp/dotnet/api/system.windows.controls.combobox?view=windowsdesktop-6.0
で調べ、
名前空間:System.Windows.Controls
アセンブリ:PresentationFramework.dll
を追加しました。
しかし、現時点でエラーに変化がなく困っています。他に考えられる原因があればお教えてください。
829デフォルトの名無しさん (ワッチョイ 11e5-KfKj)
2022/01/28(金) 14:32:54.24ID:QwC8uFzi0 「他」とか言われてもお前以外にゃわからんのよ
830デフォルトの名無しさん (ワッチョイ 5d84-pyKz)
2022/01/28(金) 14:38:21.72ID:S6VsJW6p0 >>828
追加したのはWPF用のアセンブリだけどお前が作ってんのはWPFじゃなくてWinFormsだとか
追加したのはWPF用のアセンブリだけどお前が作ってんのはWPFじゃなくてWinFormsだとか
831デフォルトの名無しさん (スプッッ Sdea-8U/q)
2022/01/28(金) 15:20:17.24ID:D0DTDHxMd ComboBoxのインスタンス作らずにプロパティ見ようとしてるとか?
プロジェクトのエラー起こしてるコードさえないからわからん
プロジェクトのエラー起こしてるコードさえないからわからん
832デフォルトの名無しさん (ワッチョイ 6646-21ac)
2022/01/28(金) 15:31:53.40ID:C+lFkEfx0 >>829>>830
反応ありがとうございます。
はい。WinForms(VisualStudio使用)です。
ソリューションエクスプローラーの参照からアセンブリを探して追加しました。
WPF用ではなかったか確認します。
using System.Windows.Controls と書いて追加した気になっていましたが、
ソリューションエクスプローラーに同名がないのを確認しました。これが原因かもしれないので調べてみます。
>>831
盲点でした。確かにインスタンス化していません。やってみます。
みなさんのアドバイスのおかげで糸口が見えました。あとは自力で頑張ってみます。
また困ったことがあればよろしくお願いします。
反応ありがとうございます。
はい。WinForms(VisualStudio使用)です。
ソリューションエクスプローラーの参照からアセンブリを探して追加しました。
WPF用ではなかったか確認します。
using System.Windows.Controls と書いて追加した気になっていましたが、
ソリューションエクスプローラーに同名がないのを確認しました。これが原因かもしれないので調べてみます。
>>831
盲点でした。確かにインスタンス化していません。やってみます。
みなさんのアドバイスのおかげで糸口が見えました。あとは自力で頑張ってみます。
また困ったことがあればよろしくお願いします。
833デフォルトの名無しさん (ワッチョイ b6a7-Jl4Y)
2022/01/28(金) 15:36:53.16ID:bcAzYVuU0834デフォルトの名無しさん (ワッチョイ b6a7-Jl4Y)
2022/01/28(金) 15:38:40.89ID:bcAzYVuU0 >>832 833の追記
WinFormsのComboBoxはSystem.Windows.Formsの方だったはず
WinFormsのComboBoxはSystem.Windows.Formsの方だったはず
835デフォルトの名無しさん (ワッチョイ 6646-21ac)
2022/01/28(金) 15:51:48.62ID:C+lFkEfx0 >>832
反応ありがとうございます(横レスでも大歓迎です)
情報を端折ってしまったようで今後気を付けます。
必要になる正しい情報とはこちらでよろしいですか?
エラー CS1061 'ComboBox' に 'IsReadOnly' の定義が含まれておらず、型 'ComboBox' の最初の引数を受け付けるアクセス可能な拡張メソッド 'IsReadOnly' が見つかりませんでした。using ディレクティブまたはアセンブリ参照が不足していないことを確認してください
それとも部分的であってもソースでしょうか?今回の問題では必要ないと判断してしまいましたが、次回以降気を付けます。
次回もぜひお願いします。ありがとうございました。
反応ありがとうございます(横レスでも大歓迎です)
情報を端折ってしまったようで今後気を付けます。
必要になる正しい情報とはこちらでよろしいですか?
エラー CS1061 'ComboBox' に 'IsReadOnly' の定義が含まれておらず、型 'ComboBox' の最初の引数を受け付けるアクセス可能な拡張メソッド 'IsReadOnly' が見つかりませんでした。using ディレクティブまたはアセンブリ参照が不足していないことを確認してください
それとも部分的であってもソースでしょうか?今回の問題では必要ないと判断してしまいましたが、次回以降気を付けます。
次回もぜひお願いします。ありがとうございました。
836デフォルトの名無しさん (ワッチョイ a633-K61z)
2022/01/28(金) 16:04:30.29ID:AFiLYmq20 単に、WinFormsのComboBoxにはIsReadOnlyプロパティが存在しないだけだな
https://atmarkit.itmedia.co.jp/ait/articles/0711/01/news152.html
https://atmarkit.itmedia.co.jp/ait/articles/0711/01/news152.html
837デフォルトの名無しさん (ワッチョイ b6a7-Jl4Y)
2022/01/28(金) 16:32:10.58ID:bcAzYVuU0 >>835
エラーメッセージもそうだけど、こっちが言ってたのは「WinFormsかWPFか」の方だね
WinFormsの方のComboBoxにはDropDownStyleプロパティがあるからこれにComboBoxStyle.DropDownListを渡せば選択可能で文字列入力を受け付けないタイプになるよ
(まあ、他の人がすでに提示しているようだけど)
エラーメッセージもそうだけど、こっちが言ってたのは「WinFormsかWPFか」の方だね
WinFormsの方のComboBoxにはDropDownStyleプロパティがあるからこれにComboBoxStyle.DropDownListを渡せば選択可能で文字列入力を受け付けないタイプになるよ
(まあ、他の人がすでに提示しているようだけど)
838デフォルトの名無しさん (ワッチョイ f1ad-x4tF)
2022/01/28(金) 16:34:15.50ID:ycXEhqEs0 もしかして Enabled
839デフォルトの名無しさん (ワッチョイ 6646-21ac)
2022/01/28(金) 17:05:47.31ID:C+lFkEfx0 みなさん親切で涙が出てきます。
>>836・837・838 反応ありがとうございます。
・C#にはWinFormsの他にWPFがあったのですね。WPFという言語なのかと思っていました。
今後はエラーメッセージと共にWinFormsであることを最初に宣言します(初心者すぎてすみません)
IsReadOnlyプロパティが存在しない
・はい。通常のプロパティでは見つけられませんでした。
こちらのサイトを参考にさせてもらい挑戦していました。
https://blog.t5o.me/post/20140316/c-sharp-xaml-combobox-read-only.html
・ComboBoxStyle.DropDownListとEnabledも試しに設定しました。
やりたいことは、
コンボボックス横にチェックボックスを設置
チェックボックスが真の時、コンボボックスを規定値にし操作不可能にすることですが、
上記設定でもドロップダウンボタンが反応するので別の方法を探し、上記サイトにたどり着きました。
・第2案として、チェックボックスが真の時、コンボリストを規定値以外を削除し対応しようかと考えています。
(ドロップダウンリストが空白で1行出てきてしまうのがかっこ悪いかなと考えて最善を探していました)
なんとか頑張ってみます。みなさんありがとうございました。
>>836・837・838 反応ありがとうございます。
・C#にはWinFormsの他にWPFがあったのですね。WPFという言語なのかと思っていました。
今後はエラーメッセージと共にWinFormsであることを最初に宣言します(初心者すぎてすみません)
IsReadOnlyプロパティが存在しない
・はい。通常のプロパティでは見つけられませんでした。
こちらのサイトを参考にさせてもらい挑戦していました。
https://blog.t5o.me/post/20140316/c-sharp-xaml-combobox-read-only.html
・ComboBoxStyle.DropDownListとEnabledも試しに設定しました。
やりたいことは、
コンボボックス横にチェックボックスを設置
チェックボックスが真の時、コンボボックスを規定値にし操作不可能にすることですが、
上記設定でもドロップダウンボタンが反応するので別の方法を探し、上記サイトにたどり着きました。
・第2案として、チェックボックスが真の時、コンボリストを規定値以外を削除し対応しようかと考えています。
(ドロップダウンリストが空白で1行出てきてしまうのがかっこ悪いかなと考えて最善を探していました)
なんとか頑張ってみます。みなさんありがとうございました。
840デフォルトの名無しさん (ワッチョイ a633-K61z)
2022/01/28(金) 17:14:46.64ID:AFiLYmq20 >>839
System.Windows.Forms.ComboBoxを継承してカスタムコントロールを作るってのが調べると出てくると思うよ
例えばこんなのとか
http://jeanne.wankuma.com/library/readonlycombobox/
System.Windows.Forms.ComboBoxを継承してカスタムコントロールを作るってのが調べると出てくると思うよ
例えばこんなのとか
http://jeanne.wankuma.com/library/readonlycombobox/
841デフォルトの名無しさん (ワッチョイ a62d-Y4FF)
2022/01/28(金) 17:20:12.41ID:OmkEpZCo0 >>839
839のリンク先もそうだけど、記事にXAMLって単語があったらWinFormsと無関係だと思って良いよ
WinFormsのコンボボックスの操作不能にするのは、comboBox.Enabled = false;
839のリンク先もそうだけど、記事にXAMLって単語があったらWinFormsと無関係だと思って良いよ
WinFormsのコンボボックスの操作不能にするのは、comboBox.Enabled = false;
842デフォルトの名無しさん (ワッチョイ b501-Y4FF)
2022/01/28(金) 19:13:46.87ID:l6dMzLky0 c# + visual studioでデータブレークポイント使えますか?
c#のクラスは参照型ですが、値のコピー
(int型変数i,jだと、i = jに相当する処理)
するにはどのようにすればよいのでしょうか?
c#のクラスは参照型ですが、値のコピー
(int型変数i,jだと、i = jに相当する処理)
するにはどのようにすればよいのでしょうか?
843デフォルトの名無しさん (アウアウウー Sa21-oAP+)
2022/01/28(金) 19:27:11.67ID:LzvJDC40a ブレークポイントの上で右クリ→条件
844デフォルトの名無しさん (アウアウウー Sa21-oAP+)
2022/01/28(金) 20:10:31.96ID:LzvJDC40a コピーはコピー先をnewして作って、メンバー変数の値をそこに一個ずつコピーしてく
クラスによってはそういうnewとコピーをしてくれるClone()を持ってることもある
クラスによってはそういうnewとコピーをしてくれるClone()を持ってることもある
845デフォルトの名無しさん (ワッチョイ 4a0e-21ac)
2022/01/29(土) 16:47:47.80ID:3whatsSd0 独習C#で学習されている方が多そうですがマルチスレッド難しすぎないですか(泣)
新版を使っておりますが、P530〜の説明が意味不明です
awaitとWait()メソッドの違いがよくわかりません
どちらもタスク(サブスレッド)の処理を待機するという同じような意味という理解ですが、
なぜかサンプルプログラムで両方使われています
試しに片方削除して実行すると、ループが最後まで実行されないので、意味が違うんでしょうが調べてもよくわかりません…
どなたかご教示いただけないでしょうか
新版を使っておりますが、P530〜の説明が意味不明です
awaitとWait()メソッドの違いがよくわかりません
どちらもタスク(サブスレッド)の処理を待機するという同じような意味という理解ですが、
なぜかサンプルプログラムで両方使われています
試しに片方削除して実行すると、ループが最後まで実行されないので、意味が違うんでしょうが調べてもよくわかりません…
どなたかご教示いただけないでしょうか
846デフォルトの名無しさん (ワッチョイ 3a32-6WVI)
2022/01/29(土) 17:25:22.69ID:xNgrtKWR0 >>845
大別するならawaitは非同期、Task.Wait()は同期的、という所だけど
Task.Wait()は単純にその場でタスクの終了を待つので足踏みする事になる
awaitを使うと内部的にはその後のコードもTask化されてasyncメソッドの返り値になる
awaitまで到達した時点で呼び出し元に処理が戻るので、主にUIスレッド等でよく使われる
後続処理を追加するだけならTask.ContinueWith()も有るんだけど
UIコンポーネントは作成スレッドからしかアクセスしてはならない制約とか
後続処理を担うスケジューラ指定とか煩雑なのを纏めて糖衣構文にしたのがawait
大別するならawaitは非同期、Task.Wait()は同期的、という所だけど
Task.Wait()は単純にその場でタスクの終了を待つので足踏みする事になる
awaitを使うと内部的にはその後のコードもTask化されてasyncメソッドの返り値になる
awaitまで到達した時点で呼び出し元に処理が戻るので、主にUIスレッド等でよく使われる
後続処理を追加するだけならTask.ContinueWith()も有るんだけど
UIコンポーネントは作成スレッドからしかアクセスしてはならない制約とか
後続処理を担うスケジューラ指定とか煩雑なのを纏めて糖衣構文にしたのがawait
847デフォルトの名無しさん (アウアウウー Sa21-21ac)
2022/01/29(土) 18:18:28.62ID:5CdUE0YMa >>845
助手(他のスレッド)がタマネギを炒め終わるのをジャガイモの皮を剥きながら待つのがawait
手を止めてじっと待つのがWait
awaitが画期的なのは、「助手の仕事が完了するまでは別の仕事をしつつ、完了後に
やりかけの仕事の続きをする」という本来シーケンシャルでない手続きを、あたかも
「助手の仕事が完了したら続きをやる」という単純なシーケンスであるかのように記述できること
助手(他のスレッド)がタマネギを炒め終わるのをジャガイモの皮を剥きながら待つのがawait
手を止めてじっと待つのがWait
awaitが画期的なのは、「助手の仕事が完了するまでは別の仕事をしつつ、完了後に
やりかけの仕事の続きをする」という本来シーケンシャルでない手続きを、あたかも
「助手の仕事が完了したら続きをやる」という単純なシーケンスであるかのように記述できること
848デフォルトの名無しさん (ワッチョイ 6da7-HqMb)
2022/01/29(土) 18:22:38.33ID:p/SD7W260 async汚染に注意な
849デフォルトの名無しさん (ワッチョイ a5d2-8U/q)
2022/01/29(土) 18:50:59.09ID:wjo4lb340 awaitの正体は「Taskがすぐに終わらなかったらすぐにreturnする特殊構文」ってことを知っておけば理解はしやすいと思う
Taskが終わったらさっきawaitしたところから(途中処理を飛ばして)再開する
関数先頭に特殊構文を使うことを明記(async)しなきゃいけない
(FormとかWPFとかのGUIアプリなら裏で勝手にやってくれるから気にしなくていいが)
Taskが終わった後にawaitから再開できるように呼び出し元のスレッドでDispatcher.Run()しとかなきゃいけない
Taskが終わったらさっきawaitしたところから(途中処理を飛ばして)再開する
関数先頭に特殊構文を使うことを明記(async)しなきゃいけない
(FormとかWPFとかのGUIアプリなら裏で勝手にやってくれるから気にしなくていいが)
Taskが終わった後にawaitから再開できるように呼び出し元のスレッドでDispatcher.Run()しとかなきゃいけない
850デフォルトの名無しさん (オッペケ Srbd-TR9v)
2022/01/29(土) 19:19:00.14ID:7kxnQq4mr awaitは「あ!まって!」って覚えればいい
851デフォルトの名無しさん (テテンテンテン MM3e-X7Gz)
2022/01/29(土) 19:28:39.37ID:RKF0PElVM await 〇〇やっといてよろしく。私いったん席外すんで終わったら連絡ちょうだい。続きこっちで引き継ぐから
Wait 〇〇やれや!終わるまで後ろでじっと見とるからな!はよせえよ!
どっちがいい?
Wait 〇〇やれや!終わるまで後ろでじっと見とるからな!はよせえよ!
どっちがいい?
852デフォルトの名無しさん (アウアウウー Sa21-oAP+)
2022/01/29(土) 19:41:45.39ID:S+vKlyc9a Threadが一番わかりやすいw
853デフォルトの名無しさん (ワッチョイ a612-21ac)
2022/01/29(土) 20:51:42.02ID:kkw3q4n30 たとえが分かりやすいですw
イメージがわきました、みなさんありがとうございます!
もう一点だけ確認なのですが、asyncメソッドのawaitよりあとのプログラムに移るタイミングですが、
メインスレッドでプログラムが実行中のときはどちらが優先になるのでしょうか?
イメージがわきました、みなさんありがとうございます!
もう一点だけ確認なのですが、asyncメソッドのawaitよりあとのプログラムに移るタイミングですが、
メインスレッドでプログラムが実行中のときはどちらが優先になるのでしょうか?
854デフォルトの名無しさん (ワッチョイ 5d84-pyKz)
2022/01/29(土) 20:57:28.48ID:z01vGxpA0 >>853
OSの気分次第
OSの気分次第
855デフォルトの名無しさん (ワッチョイ ea2c-Bf/t)
2022/01/29(土) 21:26:41.18ID:qmqxr6WH0 WinFormという前提でいうと
まず前提としてメインスレッドではずっとメッセージループっていうループが回ってる
でマウスの入力とか再描画要求はメッセージって形でキューに貯められる
メッセージループはキューから1つメッセージを取り出してはアプリの実装に流してくる
ちなみにその辺のシステムメッセージはWinFormだとMouseMoveとかPaintとかのイベントとしてアプリが対応することになる
await以降の処理もこのメッセージを使って実現してるから
メインスレッドの手が空いて次のメッセージを処理できる態勢になるまで待たされる
まず前提としてメインスレッドではずっとメッセージループっていうループが回ってる
でマウスの入力とか再描画要求はメッセージって形でキューに貯められる
メッセージループはキューから1つメッセージを取り出してはアプリの実装に流してくる
ちなみにその辺のシステムメッセージはWinFormだとMouseMoveとかPaintとかのイベントとしてアプリが対応することになる
await以降の処理もこのメッセージを使って実現してるから
メインスレッドの手が空いて次のメッセージを処理できる態勢になるまで待たされる
856デフォルトの名無しさん (ワッチョイ 6da7-HqMb)
2022/01/29(土) 22:02:51.88ID:p/SD7W260 スレッド
注意点一覧
・シングルコアで動くか?
・応答がないときに自決するか?
・失敗時のメモリリークはないか?
・タイムスケジュールはあるか?(例:1分の内AスレッドはX秒、BスレッドはY秒等)
・生存確認方法はあるか?
・実行中の状態は取得できるか?
・ログは出力できるか?
・最大使用メモリは把握できているか?
・失敗時のリザルトの受け取り方法は適切か?
・処理が複数失敗する可能性は考慮できているか?(例:ファイルオープン成功→ファイル書き込み失敗→ファイルクローズ失敗→tempフォルダ削除成功のとき何が返る?)
・本体終了時に終了できるか?
注意点一覧
・シングルコアで動くか?
・応答がないときに自決するか?
・失敗時のメモリリークはないか?
・タイムスケジュールはあるか?(例:1分の内AスレッドはX秒、BスレッドはY秒等)
・生存確認方法はあるか?
・実行中の状態は取得できるか?
・ログは出力できるか?
・最大使用メモリは把握できているか?
・失敗時のリザルトの受け取り方法は適切か?
・処理が複数失敗する可能性は考慮できているか?(例:ファイルオープン成功→ファイル書き込み失敗→ファイルクローズ失敗→tempフォルダ削除成功のとき何が返る?)
・本体終了時に終了できるか?
857デフォルトの名無しさん (ワッチョイ a612-21ac)
2022/01/29(土) 23:49:44.87ID:kkw3q4n30 ありがとうございました!
858デフォルトの名無しさん (ワッチョイ 7d01-0kD6)
2022/01/30(日) 01:12:48.99ID:XLpABEj80 C#のマルチコアなんたらっていう非同期処理のテキスト読んだらいいよ
859デフォルトの名無しさん (アウアウウー Sa21-xC/n)
2022/01/30(日) 03:05:22.41ID:2zm6GvSaa async/awaitとTask.Runの使い分けが今でもよくわからん。。
860デフォルトの名無しさん (オッペケ Srbd-TR9v)
2022/01/30(日) 09:00:16.50ID:F79hzdqmr861デフォルトの名無しさん (テテンテンテン MM3e-Xc5L)
2022/01/30(日) 11:27:59.00ID:zEfMsuv9M それ多分C#じゃなくて組み込みとかの話だから参考にならんよ
862デフォルトの名無しさん (ワッチョイ 6da7-HqMb)
2022/01/30(日) 14:20:38.52ID:6d5Lec+00 >>861
え?どこにC#だと助かる要素があるの?
え?どこにC#だと助かる要素があるの?
863デフォルトの名無しさん (テテンテンテン MM3e-Xc5L)
2022/01/30(日) 15:48:10.14ID:WELts56MM >>856
この記事の内容が組み込みc++じゃないのかと
この記事の内容が組み込みc++じゃないのかと
864デフォルトの名無しさん (ワッチョイ 6da7-HqMb)
2022/01/30(日) 17:06:41.10ID:6d5Lec+00 C++だと駄目でC#だと助かる要素なんて1つもないけど
今まで何やってたん?
今まで何やってたん?
865デフォルトの名無しさん (ワッチョイ 66e3-Xc5L)
2022/01/30(日) 17:17:33.02ID:nTSKdiu90866デフォルトの名無しさん (ワッチョイ a62d-Y4FF)
2022/01/30(日) 17:18:42.01ID:v/uLxU6j0867デフォルトの名無しさん (アウアウウー Sa21-oAP+)
2022/01/30(日) 17:21:16.29ID:cT0our3Wa 助かるってどっかの方言なのかな。まったく意味わからなかったw
ほぼすべてがc#(とVSの組み合わせ)で助かるか、マルチスレッド関係なくそのぐらい考えとけって項目
ほぼすべてがc#(とVSの組み合わせ)で助かるか、マルチスレッド関係なくそのぐらい考えとけって項目
868デフォルトの名無しさん (ワッチョイ 6da7-HqMb)
2022/01/30(日) 17:29:29.52ID:6d5Lec+00869デフォルトの名無しさん (スププ Sd0a-pyKz)
2022/01/30(日) 19:59:30.72ID:XMZDBma3d またシングルスレッドおじさんの講釈が始まったのか
870デフォルトの名無しさん (テテンテンテン MM3e-X7Gz)
2022/01/30(日) 20:10:42.59ID:Mi/4eGx6M awaitのおかげで非同期書きまくる現代のプログラミングでこんなチェックリストいちいち考えてたら工数足りん
それに現代の実行環境は優秀なんでほとんど考えなくていいよう出来てる
C#もJavaScriptもそう
C++とはもう時代が違う
・シングルコアで動くか?→普通に書けば当たり前に動く
・応答がないときに自決するか?→普通に書けばライブラリ側からタイムアウト例外出て落ちる
・失敗時のメモリリークはないか?→普通に書けばあり得ない
・タイムスケジュールはあるか?(例:1分の内AスレッドはX秒、BスレッドはY秒等)→大半のケースで環境に任せるのが正解。制御したいならより上のプロセスレベルで制御する
・生存確認方法はあるか?→死んだら例外でる出てないなら生きてる
・実行中の状態は取得できるか?→大半のケースで取得要件はない
・ログは出力できるか?→出来ないことなんてあるの?
・最大使用メモリは把握できているか?→環境に任せるのが正解。したいならより上のプロセスレベルで制御する
・失敗時のリザルトの受け取り方法は適切か?→例外で標準化されてる
・処理が複数失敗する可能性は考慮できているか?(例:ファイルオープン成功→ファイル書き込み失敗→ファイルクローズ失敗→tempフォルダ削除成功のとき何が返る?)→例外出たら止めろ。例外出ても進めるならしっかり設計しろ。そしてそれは非同期関係ない
・本体終了時に終了できるか?→普通に書けば猶予期間内に終了する。ロングランニングの時だけ気をつけろ
それに現代の実行環境は優秀なんでほとんど考えなくていいよう出来てる
C#もJavaScriptもそう
C++とはもう時代が違う
・シングルコアで動くか?→普通に書けば当たり前に動く
・応答がないときに自決するか?→普通に書けばライブラリ側からタイムアウト例外出て落ちる
・失敗時のメモリリークはないか?→普通に書けばあり得ない
・タイムスケジュールはあるか?(例:1分の内AスレッドはX秒、BスレッドはY秒等)→大半のケースで環境に任せるのが正解。制御したいならより上のプロセスレベルで制御する
・生存確認方法はあるか?→死んだら例外でる出てないなら生きてる
・実行中の状態は取得できるか?→大半のケースで取得要件はない
・ログは出力できるか?→出来ないことなんてあるの?
・最大使用メモリは把握できているか?→環境に任せるのが正解。したいならより上のプロセスレベルで制御する
・失敗時のリザルトの受け取り方法は適切か?→例外で標準化されてる
・処理が複数失敗する可能性は考慮できているか?(例:ファイルオープン成功→ファイル書き込み失敗→ファイルクローズ失敗→tempフォルダ削除成功のとき何が返る?)→例外出たら止めろ。例外出ても進めるならしっかり設計しろ。そしてそれは非同期関係ない
・本体終了時に終了できるか?→普通に書けば猶予期間内に終了する。ロングランニングの時だけ気をつけろ
871デフォルトの名無しさん (ブーイモ MM8e-bj7G)
2022/01/30(日) 20:27:29.51ID:MKtsah/wM 各アプリケーションの機能テストで確認すべき項目と
非機能要求のテストで確認すべき項目と
フレームワークの仕様テストで確認すべき項目と
全部ごちゃ混ぜだから分かりにくい
タイムアウトを含め失敗時の振る舞いは一般的な品質レベルなら全部テストする項目
非機能要求のテストで確認すべき項目と
フレームワークの仕様テストで確認すべき項目と
全部ごちゃ混ぜだから分かりにくい
タイムアウトを含め失敗時の振る舞いは一般的な品質レベルなら全部テストする項目
872デフォルトの名無しさん (アウアウウー Sa21-oAP+)
2022/01/30(日) 20:32:44.54ID:cT0our3Wa 組み込みになるとシングルコアで動くのにマルチコアで動かないとか、通信ライブラリが処理をつかんだままだとほかのスレッドが止まるとか(それマルチスレッドなのか?でも本当に起きる)
そんな感じになっていくからな。特にFreeRTOSは・・・
c#だとlockとかを知らないと色々トラブル。そっちの方が重要だろ
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/statements/lock
そんな感じになっていくからな。特にFreeRTOSは・・・
c#だとlockとかを知らないと色々トラブル。そっちの方が重要だろ
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/statements/lock
873デフォルトの名無しさん (ワッチョイ a95f-Xc5L)
2022/01/30(日) 22:57:40.72ID:aiFnFmm30 doxygenって何処のスレで質問すれば良いですか?
874デフォルトの名無しさん (アウアウウー Sa21-oAP+)
2022/01/30(日) 23:50:15.42ID:cT0our3Wa スレ立てるまでもない質問はここで 158匹目
https://mevius.5ch.net/test/read.cgi/tech/1635193843/
https://mevius.5ch.net/test/read.cgi/tech/1635193843/
875デフォルトの名無しさん (ワッチョイ 6da7-HqMb)
2022/01/31(月) 00:03:34.26ID:HAfOA5uC0 >>870
。oO(ああ、こいつダメだ、経験が少なすぎてなんも当たったことねぇのなw)
。oO(ああ、こいつダメだ、経験が少なすぎてなんも当たったことねぇのなw)
876デフォルトの名無しさん (ワッチョイ 5d84-pyKz)
2022/01/31(月) 01:18:01.43ID:rap/w09T0 GUIアプリ作るのにシングルスレッド縛りはありえねーって
877デフォルトの名無しさん (ワッチョイ 66b0-K8xK)
2022/01/31(月) 01:20:52.56ID:PXu70Z+W0 (応答なし)
878デフォルトの名無しさん (ワッチョイ 6da7-HqMb)
2022/01/31(月) 01:30:02.02ID:HAfOA5uC0 >>876
うまく行かなかったんだろ?w
うまく行かなかったんだろ?w
879デフォルトの名無しさん (ワッチョイ 5d84-pyKz)
2022/01/31(月) 02:43:38.51ID:rap/w09T0 >>878
GUIアプリでシングルスレッド縛りだと重い処理で画面固まってるように見えてしまうからうまく行かないね
GUIアプリでシングルスレッド縛りだと重い処理で画面固まってるように見えてしまうからうまく行かないね
880デフォルトの名無しさん (テテンテンテン MM3e-+Ul7)
2022/01/31(月) 08:09:11.84ID:RgoQRIUnM >>870のどこがダメなのか分からない
スレッド制御を自前で1から書かなきゃいけなかった00年代ならともかく
async/awaitにほぼすべてを任せられて非同期を安全お手軽に書けるようになってる時代なのにさあ
脳みその中もPentium4あたりで進化が止まった老害が
async/awaitを当たり前に使う現在のコーディングスタイルについていけなくて
誰彼かまわずケチをつけてるだけにしか見えない
年取ってこういうゴミみたいなジジイにはなりたくないもんだ
スレッド制御を自前で1から書かなきゃいけなかった00年代ならともかく
async/awaitにほぼすべてを任せられて非同期を安全お手軽に書けるようになってる時代なのにさあ
脳みその中もPentium4あたりで進化が止まった老害が
async/awaitを当たり前に使う現在のコーディングスタイルについていけなくて
誰彼かまわずケチをつけてるだけにしか見えない
年取ってこういうゴミみたいなジジイにはなりたくないもんだ
881デフォルトの名無しさん (ワッチョイ 9e10-l0pG)
2022/01/31(月) 09:50:16.85ID:JauXjIS80 何がしたいかによる
await/asyncを使うのは主に外部要因で待たされる時
ダウンロード残り1GBとかSQLサーバーからレスポンスが2秒以上かかってるとか
そういう感じの時クルクル回したりプログレスバーとキャンセルボタンが欲しいわけ
ボタンすら反応しませんだと、クソ重いソフトと因縁つけられちゃうの
一方マルチスレッドでCPU100%がん回しですってのがしたいことだったら
Partitioner.CreateとParallel.ForEachを使うawait/asyncは関係ない
await/asyncを使うのは主に外部要因で待たされる時
ダウンロード残り1GBとかSQLサーバーからレスポンスが2秒以上かかってるとか
そういう感じの時クルクル回したりプログレスバーとキャンセルボタンが欲しいわけ
ボタンすら反応しませんだと、クソ重いソフトと因縁つけられちゃうの
一方マルチスレッドでCPU100%がん回しですってのがしたいことだったら
Partitioner.CreateとParallel.ForEachを使うawait/asyncは関係ない
882デフォルトの名無しさん (テテンテンテン MM3e-X7Gz)
2022/01/31(月) 10:15:13.28ID:FSK5xZBqM 大半のケースで考慮不要
この一言でまあそうだよねと納得できないなら開発経験不足としか言えん
この一言でまあそうだよねと納得できないなら開発経験不足としか言えん
883デフォルトの名無しさん (アウアウウー Sa21-oAP+)
2022/01/31(月) 10:47:47.62ID:F4OTxaxpa もともとがc#に合わせた話じゃないからどうとでも読み取れちゃうんだよ
分かりやすいとこで言えば例えば
> ログは出力できるか?→出来ないことなんてあるの?
プログラミングの話をしてるのだからきちんと意図通りに動くことを把握するためのDebug.WriteLineのようなログと捉えたらできないことなんてあるの?となる
でもログファイル出力と捉えたら、マルチスレッドから同じファイルに対して書き込もうとして・・・なんてできないこともある
分かりやすいとこで言えば例えば
> ログは出力できるか?→出来ないことなんてあるの?
プログラミングの話をしてるのだからきちんと意図通りに動くことを把握するためのDebug.WriteLineのようなログと捉えたらできないことなんてあるの?となる
でもログファイル出力と捉えたら、マルチスレッドから同じファイルに対して書き込もうとして・・・なんてできないこともある
884デフォルトの名無しさん (テテンテンテン MM3e-X7Gz)
2022/01/31(月) 11:33:05.16ID:I+ECkei6M そんなのはloggerがなんとかしてくれるから気にするな
つか今時はログは全部標準出力でいい
標準出力を拾って何処に吐くかは環境が担当するところ
つか今時はログは全部標準出力でいい
標準出力を拾って何処に吐くかは環境が担当するところ
885デフォルトの名無しさん (ドコグロ MMae-YJKT)
2022/01/31(月) 11:38:53.86ID:BNlzdeLSM886デフォルトの名無しさん (アウアウウー Sa21-oAP+)
2022/01/31(月) 12:08:05.50ID:F4OTxaxpa そうなんだよ
だからログ取るならこのクラス使え(c#が勝手にスレッドセーフにしてくれたり管理するよ)
マルチスレッドからファイル操作するならlockで排他制御しろ(自分でスレッドセーフにしないとトラブルぞ)
ってチェックシートならいいんだけどな
だからログ取るならこのクラス使え(c#が勝手にスレッドセーフにしてくれたり管理するよ)
マルチスレッドからファイル操作するならlockで排他制御しろ(自分でスレッドセーフにしないとトラブルぞ)
ってチェックシートならいいんだけどな
887デフォルトの名無しさん (アウアウウー Sa21-21ac)
2022/01/31(月) 12:13:17.55ID:a9TU5xJTa オラオラ交通整理マン仕事しろや早く議論スレに誘導しろよ
まさか交通整理マン自身が議論してるんじゃねえだろうな?ん?
まあ、個人的には議論は結構だけど論点は明確にして欲しいね。
正直何を争ってるのかさっぱり分からんw
こんなあいまいな話で藁人形と戦ってる奴って普段よっぽど邪険にされてるのかねwww
まさか交通整理マン自身が議論してるんじゃねえだろうな?ん?
まあ、個人的には議論は結構だけど論点は明確にして欲しいね。
正直何を争ってるのかさっぱり分からんw
こんなあいまいな話で藁人形と戦ってる奴って普段よっぽど邪険にされてるのかねwww
888デフォルトの名無しさん (テテンテンテン MM3e-X7Gz)
2022/01/31(月) 12:53:42.98ID:80+F6Vz/M かわいそうに
889デフォルトの名無しさん (ドコグロ MMae-YJKT)
2022/01/31(月) 13:04:34.28ID:dnOSCP4XM >>886
> マルチスレッドからファイル操作するならlockで排他制御しろ(自分でスレッドセーフにしないとトラブルぞ)
スレッドセーフならいいって話じゃないことぐらいは理解してから議論に参加しようよ…
> マルチスレッドからファイル操作するならlockで排他制御しろ(自分でスレッドセーフにしないとトラブルぞ)
スレッドセーフならいいって話じゃないことぐらいは理解してから議論に参加しようよ…
890デフォルトの名無しさん (ワッチョイ 6663-gS2q)
2022/01/31(月) 15:26:32.90ID:2TQISd5L0 あ、これ議論なの?
891デフォルトの名無しさん (アウアウキー Sa55-/Ngc)
2022/01/31(月) 19:09:11.37ID:yyWr14dta 凄まじく複雑な相談なんだけど良い?
インスタンスと対になる鍵オブジェクトって
xxxIdかxxxKeyかxxxTokenのどれで名付けるべき?
ちなみに中には格納番号が入っててリポジトリからインスタンスを引き出すのに使う
インスタンスと対になる鍵オブジェクトって
xxxIdかxxxKeyかxxxTokenのどれで名付けるべき?
ちなみに中には格納番号が入っててリポジトリからインスタンスを引き出すのに使う
892デフォルトの名無しさん (スップ Sdea-8U/q)
2022/01/31(月) 21:03:11.17ID:eqy2NGbAd 初心者スレだぞ
簡単な使い方ならともかく
なんか動かんだのデータ壊れただのデッドロックしただのの対策を一気に詰め込んでも無理でしょ
簡単な使い方ならともかく
なんか動かんだのデータ壊れただのデッドロックしただのの対策を一気に詰め込んでも無理でしょ
893デフォルトの名無しさん (アウアウウー Sa21-21ac)
2022/01/31(月) 21:27:15.36ID:a9TU5xJTa894デフォルトの名無しさん (ワッチョイ 9e10-l0pG)
2022/02/01(火) 11:07:54.02ID:Z6xO941E0 IDを使うときは配列でインデクサがある、とか
Keyを使うときは辞書でKey-Valueの対がある、とか
Tokenを使うときは重複しない文字列(大抵はハッシュ)が入ってる、とか
そういう話なのかな、C#とどう関係するのか知らんけど
Keyを使うときは辞書でKey-Valueの対がある、とか
Tokenを使うときは重複しない文字列(大抵はハッシュ)が入ってる、とか
そういう話なのかな、C#とどう関係するのか知らんけど
895デフォルトの名無しさん (ブーイモ MM0a-4rOF)
2022/02/01(火) 11:19:59.86ID:Tjw+V3tAM 普通にハンドルパターンじゃないのか
896デフォルトの名無しさん (アウアウウー Sa21-oAP+)
2022/02/01(火) 12:10:52.81ID:LUb4jo/Ua object xxxと対になる鍵オブジェクト = new object();
897デフォルトの名無しさん (ワッチョイ 4954-l0pG)
2022/02/01(火) 13:48:07.91ID:1d/yMvRJ0 TextBoxの高さに合わせてFormの高さを調整したいのですが、下記のようにすると、TextChangeのたびに高さが減ってしまいます。
何が原因でしょうか?
private void textBox1_TextChanged(object sender, EventArgs e)
{
textBox1.Height = textBox1.Lines.Length * textBox1.Font.Height;
ClientSize = new Size(ClientSize.Width ,textBox1.Height);
}
何が原因でしょうか?
private void textBox1_TextChanged(object sender, EventArgs e)
{
textBox1.Height = textBox1.Lines.Length * textBox1.Font.Height;
ClientSize = new Size(ClientSize.Width ,textBox1.Height);
}
898デフォルトの名無しさん (アウアウキー Sa55-lbKC)
2022/02/01(火) 18:19:16.26ID:R62wNw5Va899デフォルトの名無しさん (アウアウウー Sa21-oAP+)
2022/02/01(火) 18:21:14.03ID:I6aD7b89a TextBoxの高さに合わせてFormの高さを調整したいだけなのに
textBox1.Height = でテキストボックスの高さまで変更してるからでは?
textBox1.Height = でテキストボックスの高さまで変更してるからでは?
900デフォルトの名無しさん (ワッチョイ eaad-xK17)
2022/02/01(火) 19:55:39.20ID:x6m1XFOP0 >>897
一回目の呼び出しで
フォントの高さに合わせてtextBox1.Heightを設定する(小さくなる)
textBox1.Heightの高さに合わせてフォントの高さが変わる(小さくなる)
二回目の呼び出しで
フォントの高さに合わせてtextBox1.Heightを設定する(小さくなる)
textBox1.Heightの高さに合わせてフォントの高さが変わる(小さくなる)
というループだからでわ?
少なくともtextBox1.HeightはtextBox1.Font.Height より少し大きいはずだから
そのまま代入していくとどんどん小さくなるんだと思うわ
一回目の呼び出しで
フォントの高さに合わせてtextBox1.Heightを設定する(小さくなる)
textBox1.Heightの高さに合わせてフォントの高さが変わる(小さくなる)
二回目の呼び出しで
フォントの高さに合わせてtextBox1.Heightを設定する(小さくなる)
textBox1.Heightの高さに合わせてフォントの高さが変わる(小さくなる)
というループだからでわ?
少なくともtextBox1.HeightはtextBox1.Font.Height より少し大きいはずだから
そのまま代入していくとどんどん小さくなるんだと思うわ
901デフォルトの名無しさん (アウアウウー Sa21-21ac)
2022/02/02(水) 00:39:48.73ID:TKyxc9mCa >>897
これで出来た
でも何か気付いてない問題がありそうw
private void textBox1_TextChanged(object sender, EventArgs e)
{
var delta = textBox1.PreferredSize.Height - textBox1.Height;
Height += delta;
textBox1.Height += delta;
}
これで出来た
でも何か気付いてない問題がありそうw
private void textBox1_TextChanged(object sender, EventArgs e)
{
var delta = textBox1.PreferredSize.Height - textBox1.Height;
Height += delta;
textBox1.Height += delta;
}
902デフォルトの名無しさん (ワッチョイ a5d2-8U/q)
2022/02/02(水) 01:06:16.73ID:Xe1+J6sR0 TextChangedのイベントごとにHeight+=deltaの設計自体良くないとは思う
イベントごとにテキスト内容からHeightの再計算させるなら理解できるが
イベントごとにテキスト内容からHeightの再計算させるなら理解できるが
903デフォルトの名無しさん (アウアウウー Sa21-21ac)
2022/02/02(水) 01:14:48.57ID:TKyxc9mCa >>902
言いたいことは分からないでもないが、
恐らくセッター自身にプロパティーの値に変更がなければ何もせず戻る処理が
入っているはずなので考えすぎ。
実際問題動かしてみてそれに起因する問題があるようには見えない
言いたいことは分からないでもないが、
恐らくセッター自身にプロパティーの値に変更がなければ何もせず戻る処理が
入っているはずなので考えすぎ。
実際問題動かしてみてそれに起因する問題があるようには見えない
904デフォルトの名無しさん (ワッチョイ 1e82-21ac)
2022/02/02(水) 09:11:06.71ID:RlffTed50 WinFormsのListViewで、仮想モード、LargeIcon表示にしたとき
Shift+マウスクリックでの項目の範囲選択がクリック位置より広く選択されてしまいます。
以下は2008年の古い情報ですがWindowsXPの不具合のため回避困難とあります。
https://social.msdn.microsoft.com/Forums/ja-JP/484c578a-df46-4624-a4e7-99ceaa0588ef/2020624819212701237512383listview12391389173044612398350792596836?forum=vsgeneralja
Windows10でも解消していないようなのですが、
検索しても有用な情報が見つからずどなたか回避できてる方いないでしょうか。
Shift+マウスクリックでの項目の範囲選択がクリック位置より広く選択されてしまいます。
以下は2008年の古い情報ですがWindowsXPの不具合のため回避困難とあります。
https://social.msdn.microsoft.com/Forums/ja-JP/484c578a-df46-4624-a4e7-99ceaa0588ef/2020624819212701237512383listview12391389173044612398350792596836?forum=vsgeneralja
Windows10でも解消していないようなのですが、
検索しても有用な情報が見つからずどなたか回避できてる方いないでしょうか。
905デフォルトの名無しさん (ワッチョイ 5e66-vYAo)
2022/02/02(水) 09:12:35.95ID:4XyzPXmZ0 スクリーンロックを抑止したくてネットで調べて下のようなプログラムを書きました。
static async void Test(){
for(;;){
SendKeys.Send("Break");
await Task.Delay(10000);
}
}
目的は達成したのですが、Test()メソッドを終了するにはどう書けば良いでしょうか?
よろしくお願いします。
static async void Test(){
for(;;){
SendKeys.Send("Break");
await Task.Delay(10000);
}
}
目的は達成したのですが、Test()メソッドを終了するにはどう書けば良いでしょうか?
よろしくお願いします。
906デフォルトの名無しさん (ワッチョイ 6ada-Xc5L)
2022/02/02(水) 10:25:26.24ID:qrF7Vqa00 static bool _stopTest;
public void StartTest()
{
_stopTest = false;
Test();
}
public void StopTest()
{
_stopTest = true;
}
static async void Test()
{
while( !_stopTest )
{
SendKeys.Send("Break");
await Task.Delay(10000);
}
}
止めたいところでStopTestを呼ぶ
public void StartTest()
{
_stopTest = false;
Test();
}
public void StopTest()
{
_stopTest = true;
}
static async void Test()
{
while( !_stopTest )
{
SendKeys.Send("Break");
await Task.Delay(10000);
}
}
止めたいところでStopTestを呼ぶ
907デフォルトの名無しさん (ワッチョイ a62d-Y4FF)
2022/02/02(水) 11:00:41.80ID:tkuApL0q0 CancellationToken使おう
private CancellationTokenSource cts = new CancellationTokenSource();
private Task task;
public void Start()
{
this.cts = new CancellationTokenSource();
this.task = Test( cts.Token );
}
public void Stop()
{
this.cts.Cancel();
this.task.Wait(); // 必要があれば
}
static async Task Test( CancellationToken ct )
{
while ( ! ct.IsCancellationRequested )
{
SendKeys.Send( "Break" );
try
{
await Task.Delay( 10000, ct );
}
catch ( TaskCanceledException )
{
}
}
}
private CancellationTokenSource cts = new CancellationTokenSource();
private Task task;
public void Start()
{
this.cts = new CancellationTokenSource();
this.task = Test( cts.Token );
}
public void Stop()
{
this.cts.Cancel();
this.task.Wait(); // 必要があれば
}
static async Task Test( CancellationToken ct )
{
while ( ! ct.IsCancellationRequested )
{
SendKeys.Send( "Break" );
try
{
await Task.Delay( 10000, ct );
}
catch ( TaskCanceledException )
{
}
}
}
908デフォルトの名無しさん (ワッチョイ b501-Y4FF)
2022/02/02(水) 12:33:54.15ID:2OSrRGw90909デフォルトの名無しさん (ワッチョイ b501-Y4FF)
2022/02/02(水) 12:47:34.78ID:2OSrRGw90 c#でAddressSanitizerみたいなツールはありますか?
>>これひょっとして使えな
これは「これひょっとして使えないのでは?」です
>>これひょっとして使えな
これは「これひょっとして使えないのでは?」です
910デフォルトの名無しさん (ワッチョイ a633-K61z)
2022/02/02(水) 12:49:24.20ID:5pRqnuwX0911デフォルトの名無しさん (アウアウウー Sa21-MO11)
2022/02/02(水) 15:01:03.10ID:MolDdSgsa https://stackoverflow.com/questions/209281/c-sharp-equivalent-to-javas-wait-and-notify
l
foo.notify() => Monitor.Pulse(foo)
foo.notifyAll() => Monitor.PulseAll(foo)
foo.wait() => Monitor.Wait(foo)
l
foo.notify() => Monitor.Pulse(foo)
foo.notifyAll() => Monitor.PulseAll(foo)
foo.wait() => Monitor.Wait(foo)
912デフォルトの名無しさん (アウアウウー Sa21-MO11)
2022/02/02(水) 15:06:00.81ID:MolDdSgsa913デフォルトの名無しさん (ワッチョイ 3abd-IClH)
2022/02/02(水) 22:04:43.57ID:GVJKCJUY0 ピクチャーボックスに直線を実寸(o)で引きたいんですけど、どうすればよいですか?
914デフォルトの名無しさん (ワッチョイ 6978-Xc5L)
2022/02/02(水) 22:13:43.42ID:NhKBMVet0 GraphicsオブジェクトのPageUnitプロパティを変更する
915デフォルトの名無しさん (アウアウウー Sa21-21ac)
2022/02/02(水) 22:49:06.74ID:p1re6OTba916デフォルトの名無しさん (ワッチョイ ea2c-Bf/t)
2022/02/02(水) 23:21:53.08ID:vNzv2HbB0 GDI+のDPIは可変だよ 印刷にも使うんだから
描画先がモニタの場合WindowsのDPI設定に依存して変わる
例えば125%なら120dpiだな
まあDPI設定に従うだけでモニタのDPIは恐らく別だからモニタ上で正しく表現できるわけではないけど
描画先がモニタの場合WindowsのDPI設定に依存して変わる
例えば125%なら120dpiだな
まあDPI設定に従うだけでモニタのDPIは恐らく別だからモニタ上で正しく表現できるわけではないけど
917デフォルトの名無しさん (ワッチョイ 5d84-pyKz)
2022/02/02(水) 23:29:58.32ID:30BhQoQ30918デフォルトの名無しさん (アウアウウー Sa21-21ac)
2022/02/02(水) 23:31:34.80ID:p1re6OTba919デフォルトの名無しさん (ワッチョイ 0a2e-LlB6)
2022/02/03(木) 09:28:12.33ID:Nd7AcXHS0 質問させてください。
起動すると適当な番号でhttpポートを開くアプリがあります(仮にaaaa.exe)
このaaaa.exeのパスが分っている状態で、アプリが使用しているポート番号を取得したいのですが、どのように処理したら良いでしょうか?
起動すると適当な番号でhttpポートを開くアプリがあります(仮にaaaa.exe)
このaaaa.exeのパスが分っている状態で、アプリが使用しているポート番号を取得したいのですが、どのように処理したら良いでしょうか?
920デフォルトの名無しさん (ブーイモ MM3e-7nMi)
2022/02/03(木) 09:46:56.82ID:X/mng9aEM >>919
netstat
netstat
921デフォルトの名無しさん (ワッチョイ 7961-bU36)
2022/02/03(木) 13:48:25.19ID:EdZmqiFt0 >>919
対象プロセスのプロセスIDを取得してGetExtendedTcpTable/GetExtendedUdpTableで取得できるデータと突き合わせる
対象プロセスのプロセスIDを取得してGetExtendedTcpTable/GetExtendedUdpTableで取得できるデータと突き合わせる
922デフォルトの名無しさん (ワッチョイ 0a2e-LlB6)
2022/02/03(木) 14:20:51.83ID:Nd7AcXHS0923デフォルトの名無しさん (ワッチョイ 1149-OHvl)
2022/02/03(木) 15:09:05.58ID:1AlNHnvf0 いえいえ
924デフォルトの名無しさん (ワッチョイ 5ee9-Y4FF)
2022/02/04(金) 07:20:32.62ID:34mLDZGV0 スクリーンロック抑止の者ですが、遅れながらメカニズムを理解できました!
ありがとうございます!
SendKeysで"Break"を定期的に押すと文章書いてる時に
ガッツリ消えるので、何のキーが良いかは探求したいと思います。
ありがとうございます!
SendKeysで"Break"を定期的に押すと文章書いてる時に
ガッツリ消えるので、何のキーが良いかは探求したいと思います。
925デフォルトの名無しさん (ワッチョイ b501-Y6bJ)
2022/02/04(金) 07:42:03.31ID:QVbyni0c0 似たようなソフト作ったことあるけど、キーを押下するよりマウスを現在位置から現在位置に移動するほうが普通に使ってるときの影響なくていいよ
926デフォルトの名無しさん (ワッチョイ 5ee9-Cnlt)
2022/02/04(金) 17:23:13.30ID:34mLDZGV0 >似たようなソフト作ったことあるけど、キーを押下するよりマウスを現在位置から現在位置に移動するほうが普通に使ってるときの影響なくていいよ
キーインする限り、どんなに使わないキーでも影響は避けられないと気が付きました。
マウス操作をトライしたいと思います。ありがとうございます。
キーインする限り、どんなに使わないキーでも影響は避けられないと気が付きました。
マウス操作をトライしたいと思います。ありがとうございます。
927デフォルトの名無しさん (スフッ Sd0a-J5Io)
2022/02/04(金) 21:42:43.56ID:+ZxkHXQpd 画面ロックというのが具体的になんなのかだけど
Windowsシステムのスリープとか退席モードのことならAPIで抑制した方がいいのでは
Windowsシステムのスリープとか退席モードのことならAPIで抑制した方がいいのでは
928デフォルトの名無しさん (ワンミングク MM7f-hzxa)
2022/02/05(土) 15:50:35.16ID:qLntA6C8M powertoysのawakeでいいだろ
929デフォルトの名無しさん (ワッチョイ d784-2hKW)
2022/02/05(土) 16:19:11.63ID:yLNqj27S0 >>928
それはどうやって実装してるの?
それはどうやって実装してるの?
930デフォルトの名無しさん (ワッチョイ ff63-ZM9K)
2022/02/05(土) 23:38:56.22ID:x0YbOETD0 そりゃSetThreadExecutionState呼んでるやろなあ
931デフォルトの名無しさん (ワッチョイ d784-2hKW)
2022/02/06(日) 00:11:20.36ID:66j2bw9/0 あとはキーボードフックでWin+Lを握りつぶせるかだな
932デフォルトの名無しさん (ワッチョイ 9f79-1gYf)
2022/02/06(日) 04:20:06.01ID:D8jWL7f30 Win+Lとかまで対応する気ならOSの設定いじった方がいいのでは
https://i-bitzedge.com/tips/how-to-lock-screen-enable-or-disable-on-windows-10
https://i-bitzedge.com/tips/how-to-lock-screen-enable-or-disable-on-windows-10
933デフォルトの名無しさん (ワッチョイ bf66-2cIz)
2022/02/07(月) 12:45:48.73ID:eA8tvD7r0 >Windowsシステムのスリープとか退席モードのことならAPIで抑制した方がいいのでは
SetThreadExecutionStateを使うことでやりたい事がダイレクトに出来ました。
ありがとうございます!
キーイン、マウスカーソルぷるぷるも、非同期処理の使い方を知れたので、
実り多かったと感謝しております。
SetThreadExecutionStateを使うことでやりたい事がダイレクトに出来ました。
ありがとうございます!
キーイン、マウスカーソルぷるぷるも、非同期処理の使い方を知れたので、
実り多かったと感謝しております。
934デフォルトの名無しさん (ワッチョイ f7e4-zU8i)
2022/02/07(月) 21:03:15.86ID:yNoTcSOm0 質問させてください
EntityFrameworkを使用して自PC内(localhost)のPostgreSQLを操作しています
普段正常に参照や更新といった処理は出来ているのですが、極々まれにデータベースとの接続がタイムアウトするケースがあります
データベースのログにもエラー等が無く、なぜタイムアウトになるのか根本の原因が掴めていないのですが、試しにタイムアウト設定の秒数を伸ばしている状態です
お聞きしたい事は、EFは接続に失敗した場合、タイムアウトの秒数になるまで何度もリトライしているのでしょうか?
また、失敗したクエリを再試行する事は可能なのでしょうか?
直接C#とは関係のない質問かもしれませんが、アドバイス頂きたいです
EntityFrameworkを使用して自PC内(localhost)のPostgreSQLを操作しています
普段正常に参照や更新といった処理は出来ているのですが、極々まれにデータベースとの接続がタイムアウトするケースがあります
データベースのログにもエラー等が無く、なぜタイムアウトになるのか根本の原因が掴めていないのですが、試しにタイムアウト設定の秒数を伸ばしている状態です
お聞きしたい事は、EFは接続に失敗した場合、タイムアウトの秒数になるまで何度もリトライしているのでしょうか?
また、失敗したクエリを再試行する事は可能なのでしょうか?
直接C#とは関係のない質問かもしれませんが、アドバイス頂きたいです
935デフォルトの名無しさん (ワッチョイ 9fda-rpVz)
2022/02/07(月) 22:00:16.47ID:kx+AzsPB0 ほんとにタイムアウトなのかい?
どこか閉じ忘れて接続数上限まで使い切ってるとかは?
どこか閉じ忘れて接続数上限まで使い切ってるとかは?
936デフォルトの名無しさん (ワッチョイ 9f7c-wadS)
2022/02/07(月) 22:46:47.42ID:0I88UVsz0 PostgreSQLだと割とあるみたいね、接続数の上限というの
937デフォルトの名無しさん (ワッチョイ f7e4-zU8i)
2022/02/08(火) 04:32:53.12ID:fYph1ArX0 >>935
ありがとうございます
接続する際はusingブロックで囲って使用しているので解放漏れは大丈夫だと思ってはいます…
(こういう接続の仕方です:https://qiita.com/Nossa/items/b6d84aeb134abc85f027)
接続数に関してもpg_stat_activityを使用すると、タイムアウト発生時は見れていないのですが、正常時は15程度でした(デフォルトはMax100)
ありがとうございます
接続する際はusingブロックで囲って使用しているので解放漏れは大丈夫だと思ってはいます…
(こういう接続の仕方です:https://qiita.com/Nossa/items/b6d84aeb134abc85f027)
接続数に関してもpg_stat_activityを使用すると、タイムアウト発生時は見れていないのですが、正常時は15程度でした(デフォルトはMax100)
938デフォルトの名無しさん (アウグロ MMdf-/Qhu)
2022/02/08(火) 07:37:47.00ID:2OtTL/zKM ログに出すようにしたの?
939デフォルトの名無しさん (アウアウクー MM0b-zU8i)
2022/02/08(火) 09:23:52.16ID:Ki5uCpbuM >>938
System.TimeoutExceptionとSystem.Data.Entity.Core.EntityExceptionが発生している事は確認出来ました。
ただ、例外処理を書いていなかったので「ハンドルされていない例外が発生しました」以上の情報は得られませんでした…
これらを調べても接続文字列が正しいか確認をするなどの記載が多いのですが、基本的に処理が正常に行われているのでここは問題ないのではかと考えてます…
System.TimeoutExceptionとSystem.Data.Entity.Core.EntityExceptionが発生している事は確認出来ました。
ただ、例外処理を書いていなかったので「ハンドルされていない例外が発生しました」以上の情報は得られませんでした…
これらを調べても接続文字列が正しいか確認をするなどの記載が多いのですが、基本的に処理が正常に行われているのでここは問題ないのではかと考えてます…
940デフォルトの名無しさん (スップ Sd3f-EiVI)
2022/02/08(火) 12:22:11.88ID:MACKR5LXd 接続上限を疑って再現を目指すなら接続数をデフォルトから100→10に変えてもいいと思う
ありうるシナリオは接続上限→接続空き待ち→待っても開かないからタイムアウト
ありうるシナリオは接続上限→接続空き待ち→待っても開かないからタイムアウト
941デフォルトの名無しさん (テテンテンテン MM8f-Hkqy)
2022/02/08(火) 12:30:36.89ID:QQmTWHSUM >>934に便乗して
NpgsqlでDB接続するコンソールアプリを1分おきに起動するタスクがあるんだけど、
それなりの頻度でStsyem.TimeoutExceptionで接続失敗しちゃう
どこに問題があると疑うべきなのかなあ
と思っていまログを確認したら
半年くらい前までは2〜3日に1回(=1/1000〜1/5000位の確率)でTimeoutしてたのが
最近だと月1回くらいしか起こらなくなってた・・・
環境というかPostgreSQLサーバの負荷等の問題だったのかな・・・・・・?
NpgsqlでDB接続するコンソールアプリを1分おきに起動するタスクがあるんだけど、
それなりの頻度でStsyem.TimeoutExceptionで接続失敗しちゃう
どこに問題があると疑うべきなのかなあ
と思っていまログを確認したら
半年くらい前までは2〜3日に1回(=1/1000〜1/5000位の確率)でTimeoutしてたのが
最近だと月1回くらいしか起こらなくなってた・・・
環境というかPostgreSQLサーバの負荷等の問題だったのかな・・・・・・?
942デフォルトの名無しさん (アウアウウー Sa9b-icCT)
2022/02/08(火) 12:38:00.12ID:Vznqt3iZa 同時に書き込アクセスできず待たされるのはよくある
書き込んでる奴が時間かかってたらタイムアウト
プログラミング分かりやすくするなら、DBアクセスは排他処理して同時に複数接続しない。それで失敗はなくなるだろ
書き込んでる奴が時間かかってたらタイムアウト
プログラミング分かりやすくするなら、DBアクセスは排他処理して同時に複数接続しない。それで失敗はなくなるだろ
943デフォルトの名無しさん (ブーイモ MM1b-umBj)
2022/02/08(火) 12:44:07.19ID:m2Ico1fWM944デフォルトの名無しさん (ワッチョイ 9fda-rpVz)
2022/02/08(火) 12:59:02.44ID:nLjBt9+k0 一概にタイムアウトと言っても、「接続タイムアウト」と「コマンドタイムアウト」があるからどっちが発生しているかをよく確認しないとね。
接続文字列のTimeout、CommandTimeout
(もしくはコード上でef経由で個別設定しているとか)
>>939
npgsqlが吐いてる例外をInnerExceptionで見れません?
接続文字列のTimeout、CommandTimeout
(もしくはコード上でef経由で個別設定しているとか)
>>939
npgsqlが吐いてる例外をInnerExceptionで見れません?
945デフォルトの名無しさん (ブーイモ MM1b-umBj)
2022/02/08(火) 14:08:23.98ID:TsBQQX8fM - 詳細エラーメッセージ
- npgsqlとpostgresのバージョン
- 再現コード
この3点セットがあれば誰か調べてくれるよ
.NETやOSの情報もあればなお良い
- npgsqlとpostgresのバージョン
- 再現コード
この3点セットがあれば誰か調べてくれるよ
.NETやOSの情報もあればなお良い
946デフォルトの名無しさん (アウアウクー MM0b-zU8i)
2022/02/08(火) 14:33:47.63ID:Ki5uCpbuM947デフォルトの名無しさん (アウアウクー MM0b-zU8i)
2022/02/08(火) 14:42:17.36ID:Ki5uCpbuM >>945
ありがとうございます
現在分かるエラー内容
@System.TimeoutException
ASystem.Data.Entity.Core.EntityException
各種バージョン
Npgsql:ver.4.1.3.0(ランタイムver.v4.0.30319)
PostgreSQL:PostgreSQL 13.3, compiled by Visual C++ build 1914, 64-bit
.NetFramework:4.6.1
OS:Windows10pro
エラー発生箇所コード
static void GetStartProcessTime()
{
using (var context = new DbContext())
{
var processingTimeTable = context.CheckprocessingTimeTable.First(x => x.id== 1);
processingTimeTable.CreateDate = DateTime.Now;
context.SaveChanges();
}
}
ありがとうございます
現在分かるエラー内容
@System.TimeoutException
ASystem.Data.Entity.Core.EntityException
各種バージョン
Npgsql:ver.4.1.3.0(ランタイムver.v4.0.30319)
PostgreSQL:PostgreSQL 13.3, compiled by Visual C++ build 1914, 64-bit
.NetFramework:4.6.1
OS:Windows10pro
エラー発生箇所コード
static void GetStartProcessTime()
{
using (var context = new DbContext())
{
var processingTimeTable = context.CheckprocessingTimeTable.First(x => x.id== 1);
processingTimeTable.CreateDate = DateTime.Now;
context.SaveChanges();
}
}
948デフォルトの名無しさん (アウアウクー MM0b-zU8i)
2022/02/08(火) 15:07:00.89ID:Ki5uCpbuM >>947
すいません言葉足らずでした
エラーはその2つの例外情報は分かるのですが説明は「ハンドルされない例外のため、プロセスが中止されました。」となっており、それ以外はエラーに至るまでの内部的な関数?が呼ばれた場所が記載されている状態です
その呼ばれた場所の最後が、エラー発生箇所コードとして記載させて頂いた部分です
すいません言葉足らずでした
エラーはその2つの例外情報は分かるのですが説明は「ハンドルされない例外のため、プロセスが中止されました。」となっており、それ以外はエラーに至るまでの内部的な関数?が呼ばれた場所が記載されている状態です
その呼ばれた場所の最後が、エラー発生箇所コードとして記載させて頂いた部分です
949デフォルトの名無しさん (テテンテンテン MM8f-wadS)
2022/02/08(火) 15:35:11.95ID:4pbgYgTcM950デフォルトの名無しさん (オッペケ Sr0b-mOMr)
2022/02/08(火) 15:42:07.62ID:2+2aacXwr まずは作成日みたいなフィールドを後で更新するなと。
951デフォルトの名無しさん (ワッチョイ 9f01-OQuQ)
2022/02/08(火) 18:40:08.93ID:11RalhgJ0 >>947
これ同じ処理が複数同時に走る?
複数同時に走る場合でread committedならデッドロックになるケースじゃない?
それが原因かどうかはわからないけどlog_lock_waitsがoffならonにしてしておくといいかも
これ同じ処理が複数同時に走る?
複数同時に走る場合でread committedならデッドロックになるケースじゃない?
それが原因かどうかはわからないけどlog_lock_waitsがoffならonにしてしておくといいかも
952デフォルトの名無しさん (ワッチョイ 1779-/Qhu)
2022/02/08(火) 18:50:37.00ID:u9WL3yPq0953デフォルトの名無しさん (ワッチョイ 1779-/Qhu)
2022/02/08(火) 18:53:19.11ID:u9WL3yPq0 スタイリッシュなつもりでいるようだけど自分の処理の状態も把握できないもん作って悦に浸ってるのがダセェ
お前がよく見るのはあくまでサンプルだからな
お前がよく見るのはあくまでサンプルだからな
954デフォルトの名無しさん (ワッチョイ 372f-2zGl)
2022/02/08(火) 20:10:07.63ID:pmS2YoNl0 >>951
デッドロックやDB上のロックタイムアウトなら、普通はDBサーバ上で確認できるだろ
まず何がエラーになったのかちゃんと確認すべきじゃね
DB側で何の(接続要求すらの)感知もできてないなら、おれならまずはネットワーク系の問題を疑うがな
ソケットの枯渇とか名前解決の不具合とかファイアウォール関係とか、その辺があやしい
デッドロックやDB上のロックタイムアウトなら、普通はDBサーバ上で確認できるだろ
まず何がエラーになったのかちゃんと確認すべきじゃね
DB側で何の(接続要求すらの)感知もできてないなら、おれならまずはネットワーク系の問題を疑うがな
ソケットの枯渇とか名前解決の不具合とかファイアウォール関係とか、その辺があやしい
955デフォルトの名無しさん (ワッチョイ f7e4-zU8i)
2022/02/08(火) 20:26:14.86ID:fYph1ArX0956デフォルトの名無しさん (ワッチョイ 9f01-OQuQ)
2022/02/08(火) 21:45:24.55ID:11RalhgJ0 >>954
>まず何がエラーになったのかちゃんと確認すべきじゃね
そりゃそうよ
ただ本当に詳細が確認できない状態で再現もできないのなら
次に発生した時に情報を取れるようにしておくのは重要
DB側のログで何が確認できるかは設定次第
https://www.postgresql.org/docs/current/runtime-config-logging.html
>まず何がエラーになったのかちゃんと確認すべきじゃね
そりゃそうよ
ただ本当に詳細が確認できない状態で再現もできないのなら
次に発生した時に情報を取れるようにしておくのは重要
DB側のログで何が確認できるかは設定次第
https://www.postgresql.org/docs/current/runtime-config-logging.html
957デフォルトの名無しさん (ワッチョイ 1779-/Qhu)
2022/02/08(火) 22:06:08.66ID:u9WL3yPq0 そもそもタイムアウトが起きるぐらいの処理時間かかってるの?
958デフォルトの名無しさん (テテンテンテン MM8f-wadS)
2022/02/08(火) 22:25:24.63ID:RReR8OJiM959デフォルトの名無しさん (ワッチョイ 9f01-OQuQ)
2022/02/08(火) 22:34:34.58ID:11RalhgJ0 >>955
自PC内ってことだったからnpgsqlのtraceレベルのログも仕掛けといたら?
NpgsqlLogManager.Provider = new ConsoleLoggingProvider(NpgsqlLogLevel.Trace, true, true);
https://www.npgsql.org/doc/diagnostics/logging.html
自PC内ってことだったからnpgsqlのtraceレベルのログも仕掛けといたら?
NpgsqlLogManager.Provider = new ConsoleLoggingProvider(NpgsqlLogLevel.Trace, true, true);
https://www.npgsql.org/doc/diagnostics/logging.html
960デフォルトの名無しさん (ワッチョイ f7e4-zU8i)
2022/02/08(火) 22:47:06.84ID:fYph1ArX0 >>957
各クエリの時間を測った事は無いのですが、アプリケーション自体の一連の処理が0.5〜0.7秒程度で終わっているので、今回のDBへの接続がタイムアウトになるほど長くかかる事は通常は無いと考えています…
テンプレートにあったサイトを使ってエラーを記載してみました
上手く出来ているか分かりませんが、以下が現在確認出来ているエラー内容です
https://ideone.com/rIerhm
各クエリの時間を測った事は無いのですが、アプリケーション自体の一連の処理が0.5〜0.7秒程度で終わっているので、今回のDBへの接続がタイムアウトになるほど長くかかる事は通常は無いと考えています…
テンプレートにあったサイトを使ってエラーを記載してみました
上手く出来ているか分かりませんが、以下が現在確認出来ているエラー内容です
https://ideone.com/rIerhm
961デフォルトの名無しさん (ワッチョイ 1779-/Qhu)
2022/02/08(火) 22:48:14.55ID:u9WL3yPq0 >>958
っていうかそういう自分の思い込みでしか物事を判断できないから
バグまみれのスレッド立てても気にもならないんだろうな
シングルコアで動かしたログがあればマルチコアで並列で動作してるか
どうかチェックになんだろ
得にオメーのはどうせ並列でなんか動いてねぇからシングルでもマルチでもログかわんねーだろw
っていうかそういう自分の思い込みでしか物事を判断できないから
バグまみれのスレッド立てても気にもならないんだろうな
シングルコアで動かしたログがあればマルチコアで並列で動作してるか
どうかチェックになんだろ
得にオメーのはどうせ並列でなんか動いてねぇからシングルでもマルチでもログかわんねーだろw
962デフォルトの名無しさん (テテンテンテン MM8f-wadS)
2022/02/08(火) 23:01:38.91ID:RReR8OJiM >>961
シングルコアが分からないなら口出ししなければいいのに
シングルコアが分からないなら口出ししなければいいのに
963デフォルトの名無しさん (テテンテンテン MM8f-wadS)
2022/02/08(火) 23:07:43.01ID:RReR8OJiM あなたの会社ではどのシングルコアCPUを搭載したwindowsPCでスレッドの動作確認を行っているんですか?
そんなことしてる会社などないだろ
そんなことしてる会社などないだろ
964デフォルトの名無しさん (アウアウウー Sa9b-icCT)
2022/02/08(火) 23:18:00.69ID:NUxQNPK7a 初代ラズパイ+monoかな
脳みそ何のために使ってんだ? ← 妄想
脳みそ何のために使ってんだ? ← 妄想
965デフォルトの名無しさん (テテンテンテン MM8f-Hkqy)
2022/02/08(火) 23:18:39.86ID:QQmTWHSUM966デフォルトの名無しさん (ワッチョイ ff63-ZM9K)
2022/02/09(水) 02:29:49.81ID:6+/OHix60 脳みそはマルチコアでも容量が1bitしかないようだなハハハ
967デフォルトの名無しさん (ワッチョイ d784-2hKW)
2022/02/09(水) 03:04:14.67ID:w+huDBHz0 またシングルスレッドおじさん帰ってきたのか
968デフォルトの名無しさん (ワッチョイ 17e5-2zGl)
2022/02/09(水) 10:25:30.10ID:FQOg5JO/0 Windowsフォームのプログラムをタブレットでも使いたいという要望があったのですが
comboboxのスクロールバーを大きくすることはWindowsフォームで出来るでしょうか?
というかタブレットかつ高解像度のPCが出てくると
いよいよWindowsフォームがキツくなってきた気がします。
comboboxのスクロールバーを大きくすることはWindowsフォームで出来るでしょうか?
というかタブレットかつ高解像度のPCが出てくると
いよいよWindowsフォームがキツくなってきた気がします。
969デフォルトの名無しさん (ワッチョイ ff33-9RcZ)
2022/02/09(水) 10:27:52.18ID:tI59uOap0 >>968
プロパティでどうこうみたいなお手軽な方法は無くって、カスタムコントロールを作るとかしないとダメだった気がする
プロパティでどうこうみたいなお手軽な方法は無くって、カスタムコントロールを作るとかしないとダメだった気がする
970デフォルトの名無しさん (ブーイモ MMcf-uPsg)
2022/02/09(水) 11:46:02.13ID:kunTT2/DM OwnerDrawは全てを解決します
971デフォルトの名無しさん (ワッチョイ 9f79-1gYf)
2022/02/09(水) 13:55:19.52ID:nVoy06Fa0 つーかAndroidタブのコンボボックスにスクロールバーなんかないよね
指で操作するためのUIに変える必要があるってことよね
オーナードローなんかで解決するかな
指で操作するためのUIに変える必要があるってことよね
オーナードローなんかで解決するかな
972デフォルトの名無しさん (ワッチョイ 17e5-2zGl)
2022/02/09(水) 14:17:49.58ID:P+Dycpf60 >指で操作するためのUIに変える必要があるってことよね
フォームアプリがタッチパネルに反応するだけでも御の字と思っている状況なので、
出来るなら是非とも欲しい動作です。
フォームアプリがタッチパネルに反応するだけでも御の字と思っている状況なので、
出来るなら是非とも欲しい動作です。
973デフォルトの名無しさん (ワッチョイ 17e5-2zGl)
2022/02/09(水) 14:17:49.99ID:P+Dycpf60 >指で操作するためのUIに変える必要があるってことよね
フォームアプリがタッチパネルに反応するだけでも御の字と思っている状況なので、
出来るなら是非とも欲しい動作です。
フォームアプリがタッチパネルに反応するだけでも御の字と思っている状況なので、
出来るなら是非とも欲しい動作です。
974デフォルトの名無しさん (ワッチョイ 9f7c-wadS)
2022/02/09(水) 14:19:08.14ID:5WmGk4RQ0 スクロールバーを出ないぐらいコンボボックスの範囲を大きくしておけばいいのでは?
オーナードローとかしだしたら大変だからやらない方が身のためかもしれない
オーナードローとかしだしたら大変だからやらない方が身のためかもしれない
975デフォルトの名無しさん (アウアウウー Sa9b-icCT)
2022/02/09(水) 14:35:48.89ID:gJYxYm5Ia コピペで一発とはいかないけどこれでできるな
スクロールバー二重になったりちょっとおかしいとこ変えるだけだからすぐだろ
https://www.codeproject.com/Questions/552065/Customizepluswindowsplusscrollplusbarplusinpluscom
スクロールバー二重になったりちょっとおかしいとこ変えるだけだからすぐだろ
https://www.codeproject.com/Questions/552065/Customizepluswindowsplusscrollplusbarplusinpluscom
976デフォルトの名無しさん (アウアウウー Sa9b-AiWJ)
2022/02/09(水) 15:24:21.38ID:lp//LDU1a WPFのコンボもフリックしてタップで止めるとかできないんだっけ?
まあWPFの方が不十分とはいえ一応タッチパネル系のイベントに対応してるんで
できるならWPFで作り直した方がいいんだろうねたぶん
まあWPFの方が不十分とはいえ一応タッチパネル系のイベントに対応してるんで
できるならWPFで作り直した方がいいんだろうねたぶん
977デフォルトの名無しさん (アウアウウー Sa9b-icCT)
2022/02/09(水) 16:41:51.90ID:iS0fYVVpa >>975
これできないな。メッセージ飛ばせば終わりだろと思ったけどまったくだった
これできないな。メッセージ飛ばせば終わりだろと思ったけどまったくだった
978デフォルトの名無しさん (ワッチョイ 9f79-1gYf)
2022/02/09(水) 21:31:08.51ID:nVoy06Fa0 コンボボックスやめてパネルにでかいボタンを並べてスクロールさせるかリストボックスだな
そうなるとやっぱオーナードローか
そうなるとやっぱオーナードローか
979デフォルトの名無しさん (ワッチョイ 9f10-foD4)
2022/02/09(水) 22:39:05.34ID:HRI/vJyh0 .Net6.0にしようとしたらSJIS削られてて焦った
980デフォルトの名無しさん (ワッチョイ ffe3-wadS)
2022/02/09(水) 22:43:02.03ID:1A90hyai0 >>979
まじかよ、俺社一生使えないじゃん・・・
まじかよ、俺社一生使えないじゃん・・・
981デフォルトの名無しさん (ワッチョイ b778-wadS)
2022/02/09(水) 23:04:40.19ID:7kRrx8rI0 EXCEL用のCSV出力できなくなるの?
982デフォルトの名無しさん (ワッチョイ ffda-u8OQ)
2022/02/09(水) 23:05:53.89ID:a7Kiiaid0 >>980
次スレよろぴく
次スレよろぴく
983デフォルトの名無しさん (ワッチョイ b702-HUp2)
2022/02/09(水) 23:06:30.96ID:gW34M8HF0 それは BOM を付けたげたら済む話じゃないの?
984デフォルトの名無しさん (アウアウウー Sa9b-icCT)
2022/02/09(水) 23:12:22.58ID:iS0fYVVpa CodePageEncodingProvider.Instance.GetEncoding("shift-jis")
こんな感じで取得できたはず
こんな感じで取得できたはず
985デフォルトの名無しさん (ワッチョイ ffe3-wadS)
2022/02/09(水) 23:14:43.66ID:1A90hyai0986デフォルトの名無しさん (テテンテンテン MM8f-wadS)
2022/02/09(水) 23:25:51.66ID:FxI6XKVTM CP932とshift-jisは実は別物と2chブラウザを作ったときに理解した
大体20年近く前の話
大体20年近く前の話
987デフォルトの名無しさん (ワッチョイ d784-2hKW)
2022/02/10(木) 00:27:38.90ID:WTxAQl/h0 >>981
UnicodeのTSVで出せばいい
UnicodeのTSVで出せばいい
988デフォルトの名無しさん (ワッチョイ 1fbd-Bldr)
2022/02/10(木) 04:11:44.10ID:Bfsj9FyQ0 会社で新しくC++MFCからC#に移行しそうなのですが、結構違いますか?
989デフォルトの名無しさん (アウアウウー Sa9b-v6+h)
2022/02/10(木) 04:41:11.49ID:8GgErYEHa むしろ共通点はほぼないと思いますよ。
UIにWindows Formを使うならWin32の知識が無駄にはならない程度
UIにWindows Formを使うならWin32の知識が無駄にはならない程度
990デフォルトの名無しさん (スフッ Sdbf-2hKW)
2022/02/10(木) 04:51:25.43ID:nU5m13/Jd >>988
MFCのDocument/View構造とWPFのMVVMは考え方がほんのちょっと似てるかも
MFCのDocument/View構造とWPFのMVVMは考え方がほんのちょっと似てるかも
991デフォルトの名無しさん (ワッチョイ 1fbd-Bldr)
2022/02/10(木) 05:16:17.86ID:Bfsj9FyQ0 ありがとうございます
やっぱり違うところもそれなりにあるんですね
本格以降の前に勉強しないと…
やっぱり違うところもそれなりにあるんですね
本格以降の前に勉強しないと…
992デフォルトの名無しさん (ワッチョイ ffb0-w6GL)
2022/02/10(木) 09:10:07.63ID:0HR3aWgk0 フレームワークのバージョンに右往左往
993デフォルトの名無しさん (アウアウウー Sa9b-nGJX)
2022/02/10(木) 18:20:37.30ID:hh6EUNrwa Javaと同じ人が作っただけあって
Javaのが似てると思います
Javaのが似てると思います
994デフォルトの名無しさん (ワッチョイ 9f7c-wadS)
2022/02/10(木) 19:31:29.55ID:G6G2NR290 MFCとC#のWPFなら基本的にまるで別物だよなぁ
WinFormsも別物だけど、C++よりはC#の方が簡単だと思うけど
ラムダ式やらその辺の書き方に付いていけない奴は結構いるらしい
staticおじさんにはC#は辛いかも知れないw
WinFormsも別物だけど、C++よりはC#の方が簡単だと思うけど
ラムダ式やらその辺の書き方に付いていけない奴は結構いるらしい
staticおじさんにはC#は辛いかも知れないw
995デフォルトの名無しさん (アウアウウー Sa9b-v6+h)
2022/02/10(木) 19:33:58.19ID:vwYTLp7Ia JAVAじゃなくてDelphiでしょw
JAVAやC++はむしろ反面教師として否定的継承をしてるのがC#
JAVAやC++はむしろ反面教師として否定的継承をしてるのがC#
996デフォルトの名無しさん (アウアウウー Sa9b-v6+h)
2022/02/10(木) 19:37:23.72ID:vwYTLp7Ia MFCのカオスに耐えられた人がC#は理解できないとかないと思うよw
ラムダ式なんてむしろC++やってた人には馴染みやすいでしょ
ラムダ式なんてむしろC++やってた人には馴染みやすいでしょ
997デフォルトの名無しさん (アウアウウー Sa9b-icCT)
2022/02/10(木) 19:57:50.08ID:y+gM+mODa mfcを初めて触ったときはなんて簡単にwindowsアプリが作れるんだって感動したものだけど、c#はそれより数十倍簡単だからな
mfcとc#はまったく違うけど、mfcできるなら一瞬で使えるようになるよ
mfcとc#はまったく違うけど、mfcできるなら一瞬で使えるようになるよ
998デフォルトの名無しさん (ワッチョイ 175f-pW9B)
2022/02/10(木) 21:50:11.16ID:Wm6mdcT10 MFC今も現役なの?
999デフォルトの名無しさん (ワッチョイ d784-2hKW)
2022/02/10(木) 22:05:49.13ID:WTxAQl/h0 今のC++はラムダ式も型推論もあるもんね
1000デフォルトの名無しさん (ワッチョイ 17d2-EiVI)
2022/02/10(木) 22:41:54.23ID:VfTItntg0 拡張子がcppってだけのC言語使い方だときついでしょ
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 58日 23時間 48分 33秒
新しいスレッドを立ててください。
life time: 58日 23時間 48分 33秒
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を超えています。これ以上書き込みはできません。
ニュース
- なぜ?「就職氷河期世代」への支援続々…石破首相が“就労支援”など3本柱の対策を指示するなど各党が発表 ★2 [煮卵★]
- 駅前の一等地にデータセンター計画、「人が入れない施設が建っていいのか」と反対の声相次ぐ [蚤の市★]
- 「米価このまま維持されてしかるべきだ」佐賀県知事、稲作農家の経営踏まえ言及 [蚤の市★]
- 木村拓哉が「ドッグウェアは人間のエゴ」発言、上沼恵美子が反論し論争勃発 獣医師は「必要性は犬それぞれ」 [ネギうどん★]
- 万博会場内から救急搬送された来場者が死亡 万博協会「適切な処置」 [少考さん★]
- 日本の未来の姿!?1人当たりGDP世界5位→82位へ転落した「元・先進国」の静かなる衰退を現地ルポ (泉 秀一氏) [少考さん★]
- 【石破アライさん】 アライグマ、2本足で上手に立って食べる [732912476]
- 【悲報】財務省「減税したいってことは、教育も医療も生活保護も警察も道路も必要ないってことですよね?それでいいんですね [257926174]
- ▶土曜お昼の白上フブキすこすこスレ
- 【朗報】ティラノサウルスさん、復権wwwwwwwwwwwwwwwwwwwwwww [308389511]
- 【実況】博衣こよりのえちえちクロノクロス🧪★3
- お前らって韓国嫌いだけど好きなK-POPグループはどこなの?