次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為)
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください
>>980を踏んだ人は新スレを建てて下さい。>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっと C#,C♯,C#(初心者用) Part155
https://mevius.5ch.net/test/read.cgi/tech/1655422932/
■関連スレ
C#, C♯, C#相談室 Part96
https://mevius.5ch.net/test/read.cgi/tech/1639965805/
■コードを貼る場合は↓を使いましょう。
https://ideone.com/
https://dotnetfiddle.net/
■情報源
https://docs.microsoft.com/ja-jp/dotnet/standard/class-libraries/
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/
https://docs.microsoft.com/en-us/dotnet/standard/class-libraries/
https://referencesource.microsoft.com/
https://source.dot.net/
・Insider.NET > .NET TIPS - @IT
https://www.atmarkit.co.jp/ait/subtop/features/dotnet/dotnettips_index.html
・DOBON.NET .NET Tips
https://dobon.net/vb/dotnet/index.html
-
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
探検
ふらっと C#,C♯,C#(初心者用) Part156
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 5f01-NOMG)
2022/09/18(日) 14:39:29.51ID:VjUDO6tf059デフォルトの名無しさん (ワッチョイ 1201-bOZY)
2022/09/27(火) 10:31:21.25ID:rJ/evy9A0 WPFとかにおけるPrismってそんなにいいの?
60デフォルトの名無しさん (ワッチョイ 7f79-nd6Q)
2022/09/27(火) 10:48:09.96ID:SwtBqNyR061デフォルトの名無しさん (ワッチョイ c707-mISd)
2022/09/27(火) 12:21:27.17ID:LsBo1VKG0 >>60
できるぞ
https://ufcpp.net/blog/2022/2/ref-generic-arguments/
Funcとかは自動生成とは言え引数の数だけ実際に宣言してる
ここにrefやoutを入れるとその組み合わせは膨大な数になるから(例えば引数2つだけでもFunc<T1,T2>, Func<ref T1,T2>, Func<ref T1,ref T2>, Func<T1,ref T2>,Func<out T1,T2>, Func<T1,out T2>, Func<out T1,out T2>, Func<ref T1,out T2>, Func<out T1,ref T2>)もっといい方法が無いか探してるところだろうな
できるぞ
https://ufcpp.net/blog/2022/2/ref-generic-arguments/
Funcとかは自動生成とは言え引数の数だけ実際に宣言してる
ここにrefやoutを入れるとその組み合わせは膨大な数になるから(例えば引数2つだけでもFunc<T1,T2>, Func<ref T1,T2>, Func<ref T1,ref T2>, Func<T1,ref T2>,Func<out T1,T2>, Func<T1,out T2>, Func<out T1,out T2>, Func<ref T1,out T2>, Func<out T1,ref T2>)もっといい方法が無いか探してるところだろうな
62デフォルトの名無しさん (ワッチョイ 7f79-nd6Q)
2022/09/27(火) 12:50:24.07ID:SwtBqNyR063デフォルトの名無しさん (ワッチョイ 7f79-nd6Q)
2022/09/27(火) 15:54:24.92ID:SwtBqNyR0 どうやらstructを含む値型を参照渡ししても呼び出され側のpowershellでは書き換えられないらしい。
下記のPSParamのclassをstructに変更するとpowershell側ではうまく書き換わってるように見えても、呼び出し側のC#に戻るとbState1はTrueのままとなる。
バグなのかなあ。
Add-Type @"
using System;
public class Helper {
public class PSParam {
public bool bState1;
public bool bState2;
};
public delegate void refAction1(ref PSParam p);
public static void CallbackTest(refAction1 proc) {
var p = new PSParam();
p.bState1 = true;
p.bState2 = true;
Console.WriteLine("bState1:{0}", p.bState1);
proc(ref p);
Console.WriteLine("bState1:{0}", p.bState1);
}
}
"@
[Helper]::CallbackTest2({param([ref]$p); $p.Value.bState1 | Out-Host; $p.Value.bState1 = $false; $p.Value.bState1 |Out-Host; })
下記のPSParamのclassをstructに変更するとpowershell側ではうまく書き換わってるように見えても、呼び出し側のC#に戻るとbState1はTrueのままとなる。
バグなのかなあ。
Add-Type @"
using System;
public class Helper {
public class PSParam {
public bool bState1;
public bool bState2;
};
public delegate void refAction1(ref PSParam p);
public static void CallbackTest(refAction1 proc) {
var p = new PSParam();
p.bState1 = true;
p.bState2 = true;
Console.WriteLine("bState1:{0}", p.bState1);
proc(ref p);
Console.WriteLine("bState1:{0}", p.bState1);
}
}
"@
[Helper]::CallbackTest2({param([ref]$p); $p.Value.bState1 | Out-Host; $p.Value.bState1 = $false; $p.Value.bState1 |Out-Host; })
64デフォルトの名無しさん (ワッチョイ 7f79-nd6Q)
2022/09/27(火) 15:56:16.12ID:SwtBqNyR0 上のCallbackTest2はCallbackTestの間違いです
65デフォルトの名無しさん (ワッチョイ c707-mISd)
2022/09/27(火) 16:15:47.83ID:LsBo1VKG0 バグって言うかスクリプトブロックを渡してるからだろうな
66デフォルトの名無しさん (ワッチョイ c707-mISd)
2022/09/27(火) 16:20:55.11ID:LsBo1VKG0 ていうか参照渡しじゃなくHashSetを使ってやりとりするんじゃいかんの?
67デフォルトの名無しさん (ワッチョイ c707-mISd)
2022/09/27(火) 16:23:37.50ID:LsBo1VKG0 HashSetじゃなかった
Hashtableだ
Hashtableだ
68デフォルトの名無しさん (ワッチョイ 162c-i8Eu)
2022/09/27(火) 16:32:12.76ID:cIZHSBt80 structにこだわる意味はなさそうだしそれならrefも必要ないし
そもそもFuncの返値にすればいいんじゃないの的な
そもそもFuncの返値にすればいいんじゃないの的な
69デフォルトの名無しさん (ワッチョイ c707-mISd)
2022/09/27(火) 16:37:17.49ID:LsBo1VKG0 Hashtableを使う場合
Add-Type @"
using System;
using System.Collections;
public class Helper {
public static void CallbackTest(Action<Hashtable> proc) {
var p = new Hashtable();
p["bState1"] = true;
p["bState2"] = true;
Console.WriteLine($"bState1:{p["bState1"]}, bState2:{p["bState2"]}");
proc(p);
Console.WriteLine($"bState1:{p["bState1"]}, bState2:{p["bState2"]}");
}
}
"@
[Helper]::CallbackTest({param($p);$p.bState1 | Out-Host;
$p.bState1 = $false;
$p.bState1 | Out-Host })
Add-Type @"
using System;
using System.Collections;
public class Helper {
public static void CallbackTest(Action<Hashtable> proc) {
var p = new Hashtable();
p["bState1"] = true;
p["bState2"] = true;
Console.WriteLine($"bState1:{p["bState1"]}, bState2:{p["bState2"]}");
proc(p);
Console.WriteLine($"bState1:{p["bState1"]}, bState2:{p["bState2"]}");
}
}
"@
[Helper]::CallbackTest({param($p);$p.bState1 | Out-Host;
$p.bState1 = $false;
$p.bState1 | Out-Host })
70デフォルトの名無しさん (ワッチョイ 1201-ut7I)
2022/09/27(火) 16:41:08.41ID:J8MleXan071デフォルトの名無しさん (ワッチョイ c707-mISd)
2022/09/27(火) 16:45:59.80ID:LsBo1VKG0 >>59
Prismは大袈裟すぎるがMVVMを使うなら何か一つフレームワークは必須
CommunityToolkit.Mvvmいいぞ
必要な機能は揃ってるのにシンプルで学習コストが低く軽い
これで慣れてからPrismに移ってもいいし仕事じゃなきゃ移らなくても何も問題ない
Prismは大袈裟すぎるがMVVMを使うなら何か一つフレームワークは必須
CommunityToolkit.Mvvmいいぞ
必要な機能は揃ってるのにシンプルで学習コストが低く軽い
これで慣れてからPrismに移ってもいいし仕事じゃなきゃ移らなくても何も問題ない
72デフォルトの名無しさん (ワッチョイ 162c-i8Eu)
2022/09/27(火) 16:51:36.15ID:cIZHSBt80 >>70
class PSParamをstruct PSParamに変えても?
class PSParamをstruct PSParamに変えても?
73デフォルトの名無しさん (ワッチョイ 1201-bOZY)
2022/09/27(火) 16:53:51.16ID:rJ/evy9A0 >>71
ふむふむなるほど…
ふむふむなるほど…
74デフォルトの名無しさん (ワッチョイ 7f79-nd6Q)
2022/09/27(火) 16:58:10.34ID:SwtBqNyR075デフォルトの名無しさん (ワッチョイ 7f79-nd6Q)
2022/09/27(火) 17:03:06.67ID:SwtBqNyR076デフォルトの名無しさん (ワッチョイ c707-mISd)
2022/09/27(火) 17:04:20.64ID:LsBo1VKG0 >>74
そんなんでパフォーマンス上がらんぞ
PowerShell使ってる時点で無意味だし計測しても誤差が大きすぎて差は出ない
スクリプトブロックをデリゲートに入れるための代理関数とか中で作られてるからな
そんなんでパフォーマンス上がらんぞ
PowerShell使ってる時点で無意味だし計測しても誤差が大きすぎて差は出ない
スクリプトブロックをデリゲートに入れるための代理関数とか中で作られてるからな
77デフォルトの名無しさん (ワッチョイ 7f79-nd6Q)
2022/09/27(火) 18:47:57.59ID:SwtBqNyR0 >>76
計測してみました。
以下のclassでパラメーター渡すのよりもHashtableのが2割程速い結果になりました・・・これはHashtable採用ですね。
Add-Type @"
using System;
using System.Collections;
public class Helper {
public class PSParam {
public bool bState1;
public bool bState2;
};
public static void CallbackTest1(Action<PSParam> proc) {
var p = new PSParam();
p.bState1 = true;
p.bState2 = true;
proc(p);
}
public static void CallbackTest2(Action<Hashtable> proc) {
var p = new Hashtable();
p["bState1"] = true;
p["bState2"] = true;
proc(p);
}
}
"@
(Measure-Command { 1..10000 | %{ [Helper]::CallbackTest1({param($p);$p.bState1 = $false; }) } }).TotalMilliseconds
(Measure-Command { 1..10000 | %{ [Helper]::CallbackTest2({param($p);$p.bState1 = $false; }) } }).TotalMilliseconds
計測してみました。
以下のclassでパラメーター渡すのよりもHashtableのが2割程速い結果になりました・・・これはHashtable採用ですね。
Add-Type @"
using System;
using System.Collections;
public class Helper {
public class PSParam {
public bool bState1;
public bool bState2;
};
public static void CallbackTest1(Action<PSParam> proc) {
var p = new PSParam();
p.bState1 = true;
p.bState2 = true;
proc(p);
}
public static void CallbackTest2(Action<Hashtable> proc) {
var p = new Hashtable();
p["bState1"] = true;
p["bState2"] = true;
proc(p);
}
}
"@
(Measure-Command { 1..10000 | %{ [Helper]::CallbackTest1({param($p);$p.bState1 = $false; }) } }).TotalMilliseconds
(Measure-Command { 1..10000 | %{ [Helper]::CallbackTest2({param($p);$p.bState1 = $false; }) } }).TotalMilliseconds
78デフォルトの名無しさん (ワッチョイ 1201-ut7I)
2022/09/27(火) 19:22:16.19ID:J8MleXan0 >>72
ああ、すまんちゃんと読んでなかったわ
まあ、仕様だろうね
変更可能な値型は避けろって書いてある
❌ 変更可能な値型を定義しないでください。
(... 中略 ...)
また、一部の言語 (特に動的言語) では、ローカル変数であっても逆参照されるときにコピーが作成されるため、変更可能な値型の使用で問題が発生します。
https://learn.microsoft.com/ja-jp/dotnet/standard/design-guidelines/struct
普通にクラスで作ればいいだけ、てかPowerShell使ってる時点でclass/structで細かいパフォーマンスチューニングしても無駄だと思うぞ
ああ、すまんちゃんと読んでなかったわ
まあ、仕様だろうね
変更可能な値型は避けろって書いてある
❌ 変更可能な値型を定義しないでください。
(... 中略 ...)
また、一部の言語 (特に動的言語) では、ローカル変数であっても逆参照されるときにコピーが作成されるため、変更可能な値型の使用で問題が発生します。
https://learn.microsoft.com/ja-jp/dotnet/standard/design-guidelines/struct
普通にクラスで作ればいいだけ、てかPowerShell使ってる時点でclass/structで細かいパフォーマンスチューニングしても無駄だと思うぞ
79デフォルトの名無しさん (ワッチョイ 4f09-tX/F)
2022/09/27(火) 20:39:58.78ID:wQgw+D+40 VS2019で.NET 4.5 + NugetでValueTuple入れて作ったプロジェクトを
VS2012で読もうとしたらValueTuple扱えなかった・・
VS2012も.NET 4.5は大丈夫だけど、ValueTupleだとC#のバージョンが問題になるのかな?
VS2012で読もうとしたらValueTuple扱えなかった・・
VS2012も.NET 4.5は大丈夫だけど、ValueTupleだとC#のバージョンが問題になるのかな?
80デフォルトの名無しさん (ワッチョイ c707-mISd)
2022/09/27(火) 21:45:06.74ID:LsBo1VKG0 https://qiita.com/shimamura_io/items/5a1c754914b864540bac
この手のめんどくさいトラブル抱える可能性残すくらいなら4.8使うかValueTuppleあきらめろよ
この手のめんどくさいトラブル抱える可能性残すくらいなら4.8使うかValueTuppleあきらめろよ
81デフォルトの名無しさん (ワッチョイ 162c-i8Eu)
2022/09/28(水) 08:17:08.29ID:if0kFZkG0 VS2012じゃC#コンパイラが全然タプルに対応できないからね
普通の構造体として扱うことはできるかもしれないが
普通の構造体として扱うことはできるかもしれないが
82デフォルトの名無しさん (ワイーワ2 FF6a-Q6KD)
2022/09/28(水) 08:31:43.95ID:qrxLeK0JF 読んでビルドするだけならVSCode使うほうがよさそうかな
83デフォルトの名無しさん (ワッチョイ 5e66-WHUN)
2022/09/28(水) 08:37:42.78ID:ZrAf2Mbg0 学習オプションをGUIでも確認しやすいという意味でも
VSの方がはるかに向いてるが。
VSCodeが候補にあがるのはAzure使っててC#だけでなく
色々混じってる時くらいでしょ。
VSの方がはるかに向いてるが。
VSCodeが候補にあがるのはAzure使っててC#だけでなく
色々混じってる時くらいでしょ。
84デフォルトの名無しさん (ワッチョイ 5e66-WHUN)
2022/09/28(水) 08:38:04.69ID:ZrAf2Mbg0 学習→GUI
85デフォルトの名無しさん (ワッチョイ 23da-QqKk)
2022/09/28(水) 09:06:32.72ID:FDPwu/KN0 そこでQtですよ(嘘)
86デフォルトの名無しさん (ワッチョイ 527c-tX/F)
2022/09/28(水) 10:26:54.48ID:Jk2txA1W0 QtやTcl/Tkとか名前は聞くけど誰も使っている人居ないんだよね
WinFormsより簡単なの出さないと日本では流行る気がしないw
WinFormsより簡単なの出さないと日本では流行る気がしないw
87デフォルトの名無しさん (アウアウウー Sa43-KutR)
2022/09/28(水) 12:46:58.02ID:GXLv430Ua88デフォルトの名無しさん (ワッチョイ 1201-bOZY)
2022/09/29(木) 10:40:58.78ID:yzYmCLI10 オブジェクト指向で
クラス=ニュークラス
変数A=クラス.メソッド(引数)
で他のクラスでメソッドで作った変数Bを変数Aに代入したいとき
returnで返すのが一般的なんかな?
俺他のクラスでプロパティ作ってメソッド内で作った変数Bをプロパティに入れて
クラス=ニュークラス
クラス.メソッド(引数)
変数A=クラス.プロパティ
にしてるんだけど異端か?
なんか遅くなるとかの弊害ある?
クラス=ニュークラス
変数A=クラス.メソッド(引数)
で他のクラスでメソッドで作った変数Bを変数Aに代入したいとき
returnで返すのが一般的なんかな?
俺他のクラスでプロパティ作ってメソッド内で作った変数Bをプロパティに入れて
クラス=ニュークラス
クラス.メソッド(引数)
変数A=クラス.プロパティ
にしてるんだけど異端か?
なんか遅くなるとかの弊害ある?
89デフォルトの名無しさん (ワッチョイ 9242-tX/F)
2022/09/29(木) 10:56:44.30ID:ZDD9PwVa0 >>88
#nullable enableにすると、そのプロパティーを hoge? にしないとワーニングが出てくるね
#nullable enableにすると、そのプロパティーを hoge? にしないとワーニングが出てくるね
90デフォルトの名無しさん (ワッチョイ d633-a1Je)
2022/09/29(木) 11:05:58.40ID:c05GXPup0 そのclassの設計次第だとは思うけど…
単純な計算結果を必要としているのならstatic methodにして直接メソッドの結果を取得する方が分かりやすいだろうし
インスタンスの何かがその処理に必要であるのならプロパティ経由で取得する方が良いだろうし
単純な計算結果を必要としているのならstatic methodにして直接メソッドの結果を取得する方が分かりやすいだろうし
インスタンスの何かがその処理に必要であるのならプロパティ経由で取得する方が良いだろうし
91デフォルトの名無しさん (ワッチョイ 1201-bOZY)
2022/09/29(木) 11:27:28.88ID:yzYmCLI10 ふむふむケースバイケースなのかな?
92デフォルトの名無しさん (ワッチョイ c707-mISd)
2022/09/29(木) 11:48:18.47ID:nA4Nikqb0 メソッドの仕様とプロパティの仕様の二つを読まなきゃならなくなるから一般的に可読性と保守性は落ちる
あと副作用前提なので参照透過でなく多用するとスパゲッティになりやすくなる
メソッドがthisを返すならMauiAppBuilderみたいにメソッドチェーンで使えるようになるしプロパティパターンでパターンマッチングできるから場合によっては便利になる
あと副作用前提なので参照透過でなく多用するとスパゲッティになりやすくなる
メソッドがthisを返すならMauiAppBuilderみたいにメソッドチェーンで使えるようになるしプロパティパターンでパターンマッチングできるから場合によっては便利になる
93デフォルトの名無しさん (ワッチョイ 1201-bOZY)
2022/09/29(木) 17:05:48.88ID:yzYmCLI10 >>92
なるほどありがとうございます
なるほどありがとうございます
94デフォルトの名無しさん (ワッチョイ cfda-pIDl)
2022/10/01(土) 08:39:35.64ID:EDStmk6M0 ブラウザの「名前をつけてページを保存」をWebview2でやりたいのですが、無理ですかね?
stream で読み込むくらいしか方法はないですか?
stream で読み込むくらいしか方法はないですか?
95デフォルトの名無しさん (ワッチョイ 0307-CLHJ)
2022/10/01(土) 08:48:17.73ID:2B0IsOOc096デフォルトの名無しさん (ワッチョイ cfda-pIDl)
2022/10/01(土) 09:34:14.17ID:EDStmk6M097デフォルトの名無しさん (ワッチョイ e324-pIDl)
2022/10/01(土) 09:40:46.42ID:Vj0oK+Fa0 Chromeとかのダイアログも結局はWindowsならshell32のSHBrowseForFolder利用したりとOSの機能使ってるだけなんじゃないの?
98デフォルトの名無しさん (ワッチョイ cfda-pIDl)
2022/10/01(土) 10:43:04.40ID:EDStmk6M099デフォルトの名無しさん (ワッチョイ cfbb-tfD/)
2022/10/01(土) 10:47:28.56ID:HrxhgRpA0 >>98
おまえの予想のほうがスゲェ!w
おまえの予想のほうがスゲェ!w
100デフォルトの名無しさん (ワッチョイ cfda-pIDl)
2022/10/01(土) 10:52:54.13ID:EDStmk6M0 誤爆w
webvew2コントロール上で右クリックすると「名前を付けて保存」が出るようなので
そこを自動でやるだけなですがいい方法ないですかね?
webvew2コントロール上で右クリックすると「名前を付けて保存」が出るようなので
そこを自動でやるだけなですがいい方法ないですかね?
101デフォルトの名無しさん (ワッチョイ ff01-yu6O)
2022/10/01(土) 11:36:18.78ID:CdyuxRrm0 そのページのHTMLをHTML方式で保存すればいいだけなのでは?
102デフォルトの名無しさん (ワッチョイ ff01-yu6O)
2022/10/01(土) 11:41:05.38ID:CdyuxRrm0 WebView2ならJavaScriptを呼び出せるメソッドがあるからhtmlタグの中身をゲットしてそれを保存すればいいだけのような気がするがどうなんだろ?
103デフォルトの名無しさん (ワッチョイ cfda-pIDl)
2022/10/01(土) 11:47:25.93ID:EDStmk6M0 HTMLだけだとcssやjsが含まれていないので
落としたHTMLを表示するとまともに表示されない問題が発生してしまいます
ブラウザの「名前を付けて保存」は完璧に保存されますのでそちらが使いたいです
落としたHTMLを表示するとまともに表示されない問題が発生してしまいます
ブラウザの「名前を付けて保存」は完璧に保存されますのでそちらが使いたいです
104デフォルトの名無しさん (ワッチョイ 6379-tfD/)
2022/10/01(土) 23:19:37.45ID:4ls5cXfL0 以下WebView2のエキスパートでもなんでもないから見当違いかもしれないので話半分で
ちょっとぐぐってみたけどWebView2で「名前を付けて保存」相当をやってる情報は出てこないね
Webブラウザでもページの保存は割と面倒な処理に該当するはずだからseleniumとかでWebブラウザに丸投げする方法を考えた方がいいと思うよ
ちょっとぐぐってみたけどWebView2で「名前を付けて保存」相当をやってる情報は出てこないね
Webブラウザでもページの保存は割と面倒な処理に該当するはずだからseleniumとかでWebブラウザに丸投げする方法を考えた方がいいと思うよ
105デフォルトの名無しさん (ワッチョイ ff01-yu6O)
2022/10/02(日) 01:20:34.77ID:jE287c4+0 ソリューションエクスプローラーに配置したJsonファイルをデシリアライズしてObservableCollectionに入れたいのですがどうすれば良いでしょうか?
using var stream = await FileSystem.OpenAppPackageFileAsync("monkeydata.json");
using var reader = new StreamReader(stream);
var contents = await reader.ReadToEndAsync();
monkeyList = JsonSerializer.Deserialize<List<Monkey>>(contents);
↑これを参考にやってみたのですがファイルが見つからないとか言われてしまいます
using var stream = await FileSystem.OpenAppPackageFileAsync("monkeydata.json");
using var reader = new StreamReader(stream);
var contents = await reader.ReadToEndAsync();
monkeyList = JsonSerializer.Deserialize<List<Monkey>>(contents);
↑これを参考にやってみたのですがファイルが見つからないとか言われてしまいます
106デフォルトの名無しさん (ワッチョイ ff01-yu6O)
2022/10/02(日) 01:21:00.49ID:jE287c4+0107デフォルトの名無しさん (ワッチョイ ff7c-pIDl)
2022/10/02(日) 01:46:38.36ID:w76y/xOG0 一行目でエラーなら単純にファイルが無いのでは?
VSでデバッグの時のカレントがどこなのかそういう知識が無くパス指定も無く開けなかったら
カレントに無いぐらいは分かりそうなものなのに・・・
VSでデバッグの時のカレントがどこなのかそういう知識が無くパス指定も無く開けなかったら
カレントに無いぐらいは分かりそうなものなのに・・・
108デフォルトの名無しさん (ワッチョイ ff01-yu6O)
2022/10/02(日) 02:00:42.79ID:jE287c4+0 VSに入れたファイルのパスの指定方法ってどうすればいいんですかね?
ファイル名だけで勝手にソリューション内のファイル検索して取り込めるのか相対パスなのか完全パスなのか…
相対パスならどこからの相対パスを書けばいいのか…
ファイル名だけで勝手にソリューション内のファイル検索して取り込めるのか相対パスなのか完全パスなのか…
相対パスならどこからの相対パスを書けばいいのか…
109デフォルトの名無しさん (ワッチョイ cfbb-vqPj)
2022/10/02(日) 02:02:35.93ID:kEuGN+uq0 ビルドアクション設定してないだけだろ
110デフォルトの名無しさん (ワッチョイ ff01-yu6O)
2022/10/02(日) 02:31:53.74ID:jE287c4+0 ビルドアクションは埋め込みリソースに設定すればいいんですか?
何に設定すればいいんですか?
何に設定すればいいんですか?
111デフォルトの名無しさん (スップ Sd1f-XcTz)
2022/10/02(日) 04:59:56.46ID:TVxg2l3ud 何やらせても出来なさそう
112デフォルトの名無しさん (アウアウウー Sa27-CLHJ)
2022/10/02(日) 08:28:15.79ID:oLIGWTx6a 参考という名のコピペ
考える材料を参考というのであって脳死で真似るのは参考にしたとは言わん
なぜOpenAppPackageFileAsyncを調べないのか
https://learn.microsoft.com/ja-jp/xamarin/essentials/file-system-helpers?tabs=android#platform-implementation-specifics
こんなややこしいものより普通に埋め込みリソースにして次のメソッド使った方がいい
https://learn.microsoft.com/ja-jp/dotnet/api/system.reflection.assembly.getmanifestresourcestream?view=net-6.0
考える材料を参考というのであって脳死で真似るのは参考にしたとは言わん
なぜOpenAppPackageFileAsyncを調べないのか
https://learn.microsoft.com/ja-jp/xamarin/essentials/file-system-helpers?tabs=android#platform-implementation-specifics
こんなややこしいものより普通に埋め込みリソースにして次のメソッド使った方がいい
https://learn.microsoft.com/ja-jp/dotnet/api/system.reflection.assembly.getmanifestresourcestream?view=net-6.0
113デフォルトの名無しさん (ワッチョイ 8301-yu6O)
2022/10/02(日) 08:47:31.34ID:jcW3SqyJ0114デフォルトの名無しさん (ワッチョイ ff01-yu6O)
2022/10/03(月) 21:31:13.59ID:7M+SSEiP0 ListやObservableCollectionとか作るときに別classでget,setでプロパティ作るけどこれってなんて言うものなの?
他の言語とかも一緒?
他の言語とかも一緒?
115デフォルトの名無しさん (ワッチョイ 0307-CLHJ)
2022/10/03(月) 21:32:38.29ID:tDVewfT+0 よくわからんがViewModelの話をしてるのか?
116デフォルトの名無しさん (ワッチョイ ff01-yu6O)
2022/10/03(月) 21:35:24.31ID:7M+SSEiP0117デフォルトの名無しさん (ワッチョイ ff01-yu6O)
2022/10/03(月) 21:38:09.72ID:7M+SSEiP0 List‹〇〇›とかObservableCollection‹〇〇›とかの〇〇部分
xamlだと{Binding 〇〇}で〇〇の中に定義したプロパティを読み込めるやつ
xamlだと{Binding 〇〇}で〇〇の中に定義したプロパティを読み込めるやつ
118デフォルトの名無しさん (ワッチョイ a309-pIDl)
2022/10/03(月) 22:52:42.56ID:5XdXjLTq0 doubleにTryParseした値を別な変数に入れたいけど、もっと素直な書き方ないかな?
var value = double.TryParse(str, out dbl) ? dbl : dbl;
var value = double.TryParse(str, out dbl) ? dbl : dbl;
119デフォルトの名無しさん (ワッチョイ 0307-CLHJ)
2022/10/03(月) 22:56:32.76ID:tDVewfT+0 >>118
なんだその無意味な三項演算子
なんだその無意味な三項演算子
120デフォルトの名無しさん (ワッチョイ 0307-CLHJ)
2022/10/03(月) 22:57:43.85ID:tDVewfT+0 >>117
型引数なのか要素なのかモデルなのか何のことを言ってるのかわからん
型引数なのか要素なのかモデルなのか何のことを言ってるのかわからん
121デフォルトの名無しさん (ワッチョイ 8301-nwUq)
2022/10/03(月) 23:18:54.43ID:rGUf1MZJ0 選択肢がめっちゃ多い中で1つ選ばせるコントロールって何が良いですかね?
80項目くらいあるのでコンボボックスはNGになりまして。
選択内容は 数値:文字列 で表示したいです。
80項目くらいあるのでコンボボックスはNGになりまして。
選択内容は 数値:文字列 で表示したいです。
122デフォルトの名無しさん (ワッチョイ ff79-mZ1T)
2022/10/03(月) 23:31:02.94ID:SA/xrkif0123デフォルトの名無しさん (ワッチョイ f302-ZRgM)
2022/10/04(火) 00:32:43.24ID:7S0AjRuD0 立ち食いそば屋の券売機みたいにボタン並べればいいじゃん
124デフォルトの名無しさん (ワッチョイ a309-pIDl)
2022/10/04(火) 06:40:39.38ID:b8uw2VbJ0125デフォルトの名無しさん (ワッチョイ 0307-CLHJ)
2022/10/04(火) 06:46:15.22ID:Ls9e4TwG0 >>124
失敗したときの戻り値どうすんの?
失敗したときの戻り値どうすんの?
126デフォルトの名無しさん (ワッチョイ 0307-CLHJ)
2022/10/04(火) 06:46:54.63ID:Ls9e4TwG0 >>121
別画面
別画面
127デフォルトの名無しさん (テテンテンテン MM7f-qKwZ)
2022/10/04(火) 06:56:27.63ID:XU+NToANM double.TryParse(str, out var value)
128デフォルトの名無しさん (アウグロ MMdf-mZ1T)
2022/10/04(火) 07:10:40.44ID:qbIePR+RM >>124
メソッドにしろよなんでもできるぞ
メソッドにしろよなんでもできるぞ
129デフォルトの名無しさん (ワッチョイ 0307-CLHJ)
2022/10/04(火) 07:16:12.38ID:Ls9e4TwG0130デフォルトの名無しさん (ワッチョイ ff01-d1zO)
2022/10/04(火) 07:27:32.13ID:ye813FXw0 >>124
絶対に失敗しないなら単に double.Parse(str) でいいし、失敗する可能性あるなら失敗した時にどうしたいのかによるわな
絶対に失敗しないなら単に double.Parse(str) でいいし、失敗する可能性あるなら失敗した時にどうしたいのかによるわな
131デフォルトの名無しさん (ワッチョイ cf2c-kE2G)
2022/10/04(火) 08:37:00.95ID:83NgMl870132デフォルトの名無しさん (ブーイモ MMff-wbXn)
2022/10/04(火) 11:59:18.04ID:36QRloIgM >>121
Google翻訳の言語選択画面とか
StackOverflowやEvernoteのタグ選択画面とか
有名どころで類似画面を見つけてそれを参考にするといい
選択肢の数だけじゃなく選択させたいデータの特徴とユースケースによって適切なUIは変わってくる
Google翻訳の言語選択画面とか
StackOverflowやEvernoteのタグ選択画面とか
有名どころで類似画面を見つけてそれを参考にするといい
選択肢の数だけじゃなく選択させたいデータの特徴とユースケースによって適切なUIは変わってくる
133デフォルトの名無しさん (ワッチョイ 0f01-yu6O)
2022/10/04(火) 12:28:46.35ID:Pbtsxb5E0 IsVisibleプロパティでリストビューを最初に消しててボタン押すとリストビューのIsVisibleがtrueになる
そのリストビューを選択させてSlectedイベントハンドラーでボタンのテキストを選択したものにするみたいな
そのリストビューを選択させてSlectedイベントハンドラーでボタンのテキストを選択したものにするみたいな
134デフォルトの名無しさん (ワッチョイ 0f01-yu6O)
2022/10/04(火) 12:34:13.22ID:Pbtsxb5E0 Slectedイベントでもう一度ListViewのIsVisibleをfalseにするとスムーズかも
WPFの場合はVisibility=collapsedにすれば画面専有しなくなる
このプロパティめっちゃ便利だからみんなも使って
WPFの場合はVisibility=collapsedにすれば画面専有しなくなる
このプロパティめっちゃ便利だからみんなも使って
135デフォルトの名無しさん (ワッチョイ 0307-CLHJ)
2022/10/04(火) 12:34:32.55ID:Ls9e4TwG0 >>133
それコンボボックスと何が違うんだ
それコンボボックスと何が違うんだ
136デフォルトの名無しさん (ワッチョイ 0f01-yu6O)
2022/10/04(火) 12:37:11.62ID:Pbtsxb5E0 >>135
リストビューだからイメージとかも表示できる
datatemplate設定する必要あるけどね
リストビューだけじゃなくてcollectionViewとか使ったら横2行でスクロールできるようになるし
リストビューだからイメージとかも表示できる
datatemplate設定する必要あるけどね
リストビューだけじゃなくてcollectionViewとか使ったら横2行でスクロールできるようになるし
137デフォルトの名無しさん (ワッチョイ 0f01-yu6O)
2022/10/04(火) 12:38:40.11ID:Pbtsxb5E0 検索バーもリストに紐付けられてたような気がするから更に便利かも
検索バーもリストビューとかと同様にIsVisibleが連動するようにしておく
検索バーもリストビューとかと同様にIsVisibleが連動するようにしておく
138デフォルトの名無しさん (ワッチョイ 0307-CLHJ)
2022/10/04(火) 12:39:40.83ID:Ls9e4TwG0 >>136
選択するのは数値と文字列って書いてるが
選択するのは数値と文字列って書いてるが
139デフォルトの名無しさん (ワッチョイ 0f01-yu6O)
2022/10/04(火) 12:39:58.19ID:Pbtsxb5E0 まぁめんどくさかったらコンボボックスでもいいけどね
1つしか項目ないならこっちのほうが楽だと思う
1つしか項目ないならこっちのほうが楽だと思う
140デフォルトの名無しさん (ワッチョイ 0f01-yu6O)
2022/10/04(火) 12:41:35.19ID:Pbtsxb5E0 >>138
UIとかこだわるならListViewかなぁ
UIとかこだわるならListViewかなぁ
141デフォルトの名無しさん (ワッチョイ a309-pIDl)
2022/10/04(火) 23:58:06.92ID:b8uw2VbJ0142デフォルトの名無しさん (ワッチョイ 0307-CLHJ)
2022/10/05(水) 00:01:10.13ID:KHa19VaR0 >>141
double.TryParse(str,out double value) ? value : 0
double.TryParse(str,out double value) ? value : 0
143デフォルトの名無しさん (ワッチョイ ff79-mZ1T)
2022/10/05(水) 03:41:09.33ID:ILrwmDD80 値が本当に0.0だったときに腹を切る用意はできてんだろうな?
144デフォルトの名無しさん (ワッチョイ 435f-pIDl)
2022/10/05(水) 07:40:46.91ID:2+KVHgSc0 失敗したときは初期値を代入する、って意図なら default にした方が分かりやすいぞ
145デフォルトの名無しさん (ワッチョイ cf2c-kE2G)
2022/10/05(水) 10:12:13.66ID:b38C0N4J0 どうしても代入式じゃなきゃヤダってんじゃない限り>>127で十分なんだけど
146デフォルトの名無しさん (ワッチョイ 53c8-H9hz)
2022/10/05(水) 22:42:08.40ID:UUeH3vvk0 Convert.ToDouble...ボソッ
147デフォルトの名無しさん (ワッチョイ 53c8-H9hz)
2022/10/05(水) 22:43:51.91ID:UUeH3vvk0 あ、失敗したとき考えたら同じだった…
148デフォルトの名無しさん (ワッチョイ a359-eWb8)
2022/10/06(木) 18:05:18.67ID:l5eCu49d0 c#でコードをすっきり書く方法について
unityです
以下のようなメインルーチンと自作関数がありますが、自作関数が多くなると間延びして見づらくなります
こうズラズラと書いていっていいものでしょうか?
void update()
{
//この中に記載したものが1フレームごとに実行される
}
void zisaku_kansu1()
{}
void zisaku_kansu2()
{}
void zisaku_kansu3()
{}
unityです
以下のようなメインルーチンと自作関数がありますが、自作関数が多くなると間延びして見づらくなります
こうズラズラと書いていっていいものでしょうか?
void update()
{
//この中に記載したものが1フレームごとに実行される
}
void zisaku_kansu1()
{}
void zisaku_kansu2()
{}
void zisaku_kansu3()
{}
149デフォルトの名無しさん (ワッチョイ 0307-CLHJ)
2022/10/06(木) 18:19:06.66ID:okBm6j3n0 知らんけどどのオブジェクトにメソッドを生やすかは見やすさ関係なしに選んだ方がいい
メソッドが増えすぎる場合クラスが肥大化しすぎて単一責任原則に反している可能性があるから他のクラスに分割できないかどうかを検討してみろ
メソッドが増えすぎる場合クラスが肥大化しすぎて単一責任原則に反している可能性があるから他のクラスに分割できないかどうかを検討してみろ
150デフォルトの名無しさん (ワッチョイ a359-eWb8)
2022/10/06(木) 18:29:05.50ID:l5eCu49d0 スクリプト1つにここまで、みたいな目安はあるんでしょうか?
151デフォルトの名無しさん (ワッチョイ 0307-CLHJ)
2022/10/06(木) 18:39:38.40ID:okBm6j3n0 無いよ
数じゃない
せっかく単一責任原則ってキーワード出てるんだから調べてみたら?
数じゃない
せっかく単一責任原則ってキーワード出てるんだから調べてみたら?
152デフォルトの名無しさん (ワッチョイ a359-eWb8)
2022/10/06(木) 19:26:04.80ID:l5eCu49d0 了解です
問題が出たらそのときに対処します
問題が出たらそのときに対処します
153デフォルトの名無しさん (ブーイモ MM1f-wbXn)
2022/10/06(木) 21:08:47.37ID:g4tnGNpoM もう問題でてるやん
154デフォルトの名無しさん (ワッチョイ b3e6-Aqn+)
2022/10/06(木) 22:21:54.37ID:/3bhbDDg0 bool? x; をint の 0,1,2 にしたいのですが
return (x is null) ? 0 : x ?? false ? 2 : 1;
もっとかっこよく出来ませんか?
return (x is null) ? 0 : x ?? false ? 2 : 1;
もっとかっこよく出来ませんか?
155デフォルトの名無しさん (ワッチョイ 632d-8eI1)
2022/10/06(木) 22:44:56.92ID:eGnFz/dY0 ほとんど変わらんけど
x.HasValue ? x.Value ? 2 : 1 : 0;
x.HasValue ? x.Value ? 2 : 1 : 0;
156デフォルトの名無しさん (テテンテンテン MM7f-qKwZ)
2022/10/06(木) 23:20:02.95ID:KOHZa6QXM 見やすさを優先したいなら複数行で
return x swicth
{
true => 2,
false => 1,
_ => 0,
};
と書きたいなあ
1行で
return x swicth { true => 2, false => 1, _ => 0 };
と書いてもたぶん大丈夫だとは思うけど
return x swicth
{
true => 2,
false => 1,
_ => 0,
};
と書きたいなあ
1行で
return x swicth { true => 2, false => 1, _ => 0 };
と書いてもたぶん大丈夫だとは思うけど
157デフォルトの名無しさん (ワッチョイ 0307-CLHJ)
2022/10/06(木) 23:28:30.50ID:okBm6j3n0 ネタコードだけど
new bool?[]{null,false,true}.IndexOf(x)
new bool?[]{null,false,true}.IndexOf(x)
158デフォルトの名無しさん (ワッチョイ cfbb-vqPj)
2022/10/06(木) 23:51:14.28ID:E7iO37Ge0■ このスレッドは過去ログ倉庫に格納されています
ニュース
- アメリカ、入国時に「日本人を含む外国人観光客の最大5年分のSNS履歴の提出」義務化 過去10年間に使用のメールアドレスや電話番号等も [Hitzeschleier★]
- 【おこめ】「有能だったんじゃ」おこめ券で批判殺到の鈴木農水大臣…ネットでは前任の“進次郎再評価” [ぐれ★]
- 「もうキモくてキモくて…」29歳女性が語る“おぢアタック”の実態。「俺ならイケるかも」年下女性を狙う勘違い中年男性に共通点が★3 [Hitzeschleier★]
- 【中国外務省】日本への渡航自粛を再度呼びかけ 今度は「地震発生」を理由に [ぐれ★]
- 日本語が話せない「外国籍」の子が急増中、授業がストップ、教室から脱走も…先生にも大きな負担「日本語支援」追いつかず★3 [七波羅探題★]
- 【芸能】デパートで見つけたランドセルが衝撃価格! つまみ枝豆「どこかで規制しないと」に共感の声殺到 「全て同感」「高すぎます」★2 [冬月記者★]
- 日本人、世界で最もブランドに興味なし🇯🇵 [462275543]
- 息子の名前をデカチン太郎𓂸にしようと思うんだが
- 【悲報】たぬかなが渡邊渚を壮絶バッシング 「グラビア出したあたりから臭いな~と思ってたが激臭になってたわ。中居は悪くない」 [455031798]
- 日本に旅行来てる中国人減ったとか言ったの誰だよ
- 【悲報】鈴木農水大臣、国民から「こいつひょっとしてアホなんじゃね?」と思われ始めてしまうwww [793117252]
- 自閉症児の父親「中絶しておけば良かった。 家族が欲しかったのに、手に入れたのは人間たまごっち」 [777114754]
