X



ふらっと C#,C♯,C#(初心者用) Part156
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん (ワッチョイ 5f01-NOMG)
垢版 |
2022/09/18(日) 14:39:29.51ID:VjUDO6tf0
次スレを立てる時は↑を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
0002デフォルトの名無しさん (ワッチョイ 9f01-NOMG)
垢版 |
2022/09/18(日) 14:39:44.87ID:VjUDO6tf0
新しく立てましたがあってますかね?
0003デフォルトの名無しさん (ワッチョイ ffbb-W3aP)
垢版 |
2022/09/18(日) 15:29:46.75ID:wEL99hbX0
ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!
ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!
ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!
ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!
ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!ちんぽ!
0005デフォルトの名無しさん (ワッチョイ 9f01-NOMG)
垢版 |
2022/09/18(日) 16:33:33.24ID:VjUDO6tf0
>>4
ほんとだ
書き込むときはあったのにな…
0006デフォルトの名無しさん (ワッチョイ 9f01-NOMG)
垢版 |
2022/09/18(日) 16:35:43.35ID:VjUDO6tf0
立て直したほうがいいのかな?
0008デフォルトの名無しさん (ワッチョイ 9f01-NOMG)
垢版 |
2022/09/18(日) 16:39:46.64ID:VjUDO6tf0
つまり次立てる人が気をつけてくれればいいってことか…
0010デフォルトの名無しさん (ワッチョイ 9f01-NOMG)
垢版 |
2022/09/18(日) 16:43:34.75ID:VjUDO6tf0
なるほどサンクス
0013デフォルトの名無しさん (ワッチョイ 5701-dv3E)
垢版 |
2022/09/18(日) 17:43:02.64ID:a87PubfG0
読んだんだ(笑
0017デフォルトの名無しさん (ブーイモ MMdb-rZTD)
垢版 |
2022/09/20(火) 12:34:37.10ID:sadn543UM
::::::::::::::::::::::::......   ........::::::::::::::::::::::::::: ;;;;;;;:::::::::::::::
           γ ⌒ ⌒ `ヘ
          イ ""  ⌒  ヾ ヾ
        / (   ⌒    ヽ  )ヽ
        (      、 ,     ヾ )
 ................... .......ゞ (.    .  ノ. .ノ .ノ........... ........
 :::::::::::::::::::::::::::::::::ゝ、、ゝ.....|  |..., , ノソ::::::::::::::.......::::
  _ _i=n_ ._ [l_ .._....,,. .-ー;''!  i;;;~-ヽ_ii_i=n_ [l h__
  /==H=ロロ-.γ ,~ー'''l ! |'''ーヾ  ヾ 「!=FH=ロロ
  ¶:::-幵-冂::( (    |l  |    )  )=HロΠ=_Π
  Π=_Π「Ⅱヾ、 ⌒~"""''''''⌒~'"´ ノ;;'':::日lTΠl:::....
 Д日lTl,,..:''''"   ""'''ー-┬ーr--~''""   :::Д日lT::::
 FH=n.:::::'            |   |         :::FL日l」:::::
 ロΠ=:::::.:.        ノ 从 ゝ        .::田:/==Д::
 口=Π田:::.                   .::::Γ| ‡∩:::
 Γ| ‡∩Π::....                ...:::Eヨ::日lTlロ::::
 Д日lTlロ_Π::::.......            ...::::::::田:凵Π_=H::
 =Hロ凵Π=_Πロ=HロΠ:::.................:::::::::::口ロロH「l.F
0018デフォルトの名無しさん (ブーイモ MMfb-rZTD)
垢版 |
2022/09/21(水) 21:35:43.28ID:sPGT0eCrM
hosyu
0019デフォルトの名無しさん (ブーイモ MM8f-rZTD)
垢版 |
2022/09/23(金) 08:57:53.80ID:0O/Obm8IM
hosyu
0021デフォルトの名無しさん (ワッチョイ 1201-bOZY)
垢版 |
2022/09/25(日) 00:31:29.09ID:DIWRYevd0
質問です!
Windowsでwavとかmp3とかじゃなく配列で作った正弦波を鳴らすための標準ライブラリってありますか?
シンセサイザーアプリのために低レイテンシーだとありがたいです
0023デフォルトの名無しさん (ワッチョイ 527c-tX/F)
垢版 |
2022/09/25(日) 01:45:39.85ID:6wI0gbs/0
そもそもwavファイル自体が波形データそのままに近いのでは?
Win32APIを直接叩くとやりたいことは出来るとは思うけどね
waveOutOpen()とかこの辺
大昔にやった事あるけどその時はVCだったし全然覚えてないわw
0024デフォルトの名無しさん (ワッチョイ 1201-bOZY)
垢版 |
2022/09/25(日) 02:01:54.70ID:DIWRYevd0
>>23
waveファイルはヘッダー情報があるのでそれ作らないといけないのがめんどくさい
わざわざファイルを作らないといけないのもスマートじゃないし
やっぱりWin32API使わないとなのか…
このへん破ったことないからわからん
0025デフォルトの名無しさん (ワッチョイ 1201-bOZY)
垢版 |
2022/09/25(日) 02:02:08.15ID:DIWRYevd0
>>22
調べてみます
0026デフォルトの名無しさん (ワッチョイ 1201-bOZY)
垢版 |
2022/09/25(日) 02:02:54.21ID:DIWRYevd0
>>24
この辺使ったことないの間違いです
どんな誤変換したんだ…
0032デフォルトの名無しさん (ワッチョイ 1201-bOZY)
垢版 |
2022/09/25(日) 07:35:25.02ID:DIWRYevd0
21ですが色々調べた結果標準ライブラリでは難しいようですね、、、
win32APIをDLLインポートするのも大変そうなので(Xaudio2をC#で使う記事を見ましたが理解ができませんでした)
素直に拡張ライブラリのNAudioを使うようにします。
0033デフォルトの名無しさん (ワッチョイ 5e66-WHUN)
垢版 |
2022/09/25(日) 07:46:43.94ID:ZSqiS99C0
dll実装が先に存在してるなら、参照で先に作っておいて、
実行時にこけたらAssembly.LoadFileとかするのが普通かな。

dll実装が不定ならAssembly.LoadFileで読んで、dynamicで動かすことになるが
結構不安要素でかい。

Reflection使ってメソッドの実装のありようの確からしさは実行中に確認する必要がある。

interfaceなりでちゃんとdll側を縛ってあるのがいちばんいいけどね。
0039デフォルトの名無しさん (ワッチョイ 5e66-WHUN)
垢版 |
2022/09/26(月) 15:03:37.01ID:4jeN/07Z0
開発時は参照では組むが、実際の実行環境では
実行の基点となるexeとは別の場所にdllが配置されてるとかもあるからなぁ。

まあ質問者が何やりたいかは明確にしていないからなんとも。

dllを遅延ロードしたいだけなら、上にあるように
普通に参照で組んで、実行時にdll無いと必要になるステップに
到達したらエラーになるから、それに備えて
AssemblyResolverに無かったらこの場所のこのdll読めと指示しとけばいいだけ。
これも上に書いた通り。
0043デフォルトの名無しさん (オイコラミネオ MM8f-tX/F)
垢版 |
2022/09/26(月) 20:11:02.71ID:4GKr4tPoM
プラグインスタイルにする場合は開発スタート時点から外部に公開する用のinterfaceを
別プロジェクトにする必要があるからお勧めしない

アプリプロジェクト
公開用コモンプロジェクト
プラグインプロジェクト

こういうのを含んだ感じになる

c++はこういうのが柔軟でやりやすい
C#はあまりプラグイン開発に向いていない
0044デフォルトの名無しさん (ブーイモ MMde-UZRN)
垢版 |
2022/09/26(月) 20:15:47.43ID:w7MQedDGM
んなことはない
C#であまりプラグイン的な機構が使用されないのは、C++に比べて広く一般的に使用されるアプリケーションが少ないのと、
ビルドが簡単高速なために全部リビルドしたほうが早いからだよ
0046デフォルトの名無しさん (オイコラミネオ MM8f-tX/F)
垢版 |
2022/09/26(月) 20:17:49.62ID:4GKr4tPoM
全くclassなどを受け渡ししない場合を除いて通常は

アプリプロジェクト
公開用コモンプロジェクト

というソリューションで開発してプラグインは

公開用コモンプロジェクト
プラグイン個別プロジェクト
で開発


公開用コモンプロジェクトが分厚くならないようにinterface中心にする
0055デフォルトの名無しさん (ワッチョイ 16b0-8V4y)
垢版 |
2022/09/27(火) 08:07:21.08ID:/UUTRmF20
プラグインはプラグインのインターフェースに合わせて実装するんであって
既にあるdllを単に動的バインディングするのとは別物だな。
0056デフォルトの名無しさん (ワッチョイ 7f79-nd6Q)
垢版 |
2022/09/27(火) 08:55:03.98ID:SwtBqNyR0
powershell上でC#の連携で、再帰するような処理や重い所をC#で書いて使ってるんですが、
powershellの機能が必要な時はC#側からpowershellのスクリプトブロックをFunc<>やAction<>でコールッバックとして呼び出す形にしています。
このときに、Func<>やAction<>の引数にrefを指定して、bool値とかをpowershell側から設定して返してもらうようしたかったのですが、
Func<>やAction<>の引数にrefは指定できないようでした。
代替として、PSObjectにNotePropertyを作って値を入れて貰ってまますが、他に良い手段があったら教えてください。
0059デフォルトの名無しさん (ワッチョイ 1201-bOZY)
垢版 |
2022/09/27(火) 10:31:21.25ID:rJ/evy9A0
WPFとかにおけるPrismってそんなにいいの?
0061デフォルトの名無しさん (ワッチョイ 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>)もっといい方法が無いか探してるところだろうな
0063デフォルトの名無しさん (ワッチョイ 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; })
0069デフォルトの名無しさん (ワッチョイ 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 })
0071デフォルトの名無しさん (ワッチョイ c707-mISd)
垢版 |
2022/09/27(火) 16:45:59.80ID:LsBo1VKG0
>>59
Prismは大袈裟すぎるがMVVMを使うなら何か一つフレームワークは必須
CommunityToolkit.Mvvmいいぞ
必要な機能は揃ってるのにシンプルで学習コストが低く軽い
これで慣れてからPrismに移ってもいいし仕事じゃなきゃ移らなくても何も問題ない
0073デフォルトの名無しさん (ワッチョイ 1201-bOZY)
垢版 |
2022/09/27(火) 16:53:51.16ID:rJ/evy9A0
>>71
ふむふむなるほど…
0074デフォルトの名無しさん (ワッチョイ 7f79-nd6Q)
垢版 |
2022/09/27(火) 16:58:10.34ID:SwtBqNyR0
>>69
わざわざC#でやるからには少しでもパフォーマンスを上げたいので、
C#側でハッシュとかPSObjectで文字列のプロパティを作って渡すとかは極力避けたいのです。
>>70 >>72の仰る通りclassで渡してるので正常に動くやつです。structに変えて試してください。
0076デフォルトの名無しさん (ワッチョイ c707-mISd)
垢版 |
2022/09/27(火) 17:04:20.64ID:LsBo1VKG0
>>74
そんなんでパフォーマンス上がらんぞ
PowerShell使ってる時点で無意味だし計測しても誤差が大きすぎて差は出ない
スクリプトブロックをデリゲートに入れるための代理関数とか中で作られてるからな
0077デフォルトの名無しさん (ワッチョイ 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
0078デフォルトの名無しさん (ワッチョイ 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で細かいパフォーマンスチューニングしても無駄だと思うぞ
0079デフォルトの名無しさん (ワッチョイ 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#のバージョンが問題になるのかな?
0083デフォルトの名無しさん (ワッチョイ 5e66-WHUN)
垢版 |
2022/09/28(水) 08:37:42.78ID:ZrAf2Mbg0
学習オプションをGUIでも確認しやすいという意味でも
VSの方がはるかに向いてるが。
VSCodeが候補にあがるのはAzure使っててC#だけでなく
色々混じってる時くらいでしょ。
0088デフォルトの名無しさん (ワッチョイ 1201-bOZY)
垢版 |
2022/09/29(木) 10:40:58.78ID:yzYmCLI10
オブジェクト指向で
クラス=ニュークラス
変数A=クラス.メソッド(引数)
で他のクラスでメソッドで作った変数Bを変数Aに代入したいとき
returnで返すのが一般的なんかな?

俺他のクラスでプロパティ作ってメソッド内で作った変数Bをプロパティに入れて
クラス=ニュークラス
クラス.メソッド(引数)
変数A=クラス.プロパティ
にしてるんだけど異端か?

なんか遅くなるとかの弊害ある?
0090デフォルトの名無しさん (ワッチョイ d633-a1Je)
垢版 |
2022/09/29(木) 11:05:58.40ID:c05GXPup0
そのclassの設計次第だとは思うけど…
単純な計算結果を必要としているのならstatic methodにして直接メソッドの結果を取得する方が分かりやすいだろうし
インスタンスの何かがその処理に必要であるのならプロパティ経由で取得する方が良いだろうし
0091デフォルトの名無しさん (ワッチョイ 1201-bOZY)
垢版 |
2022/09/29(木) 11:27:28.88ID:yzYmCLI10
ふむふむケースバイケースなのかな?
0092デフォルトの名無しさん (ワッチョイ c707-mISd)
垢版 |
2022/09/29(木) 11:48:18.47ID:nA4Nikqb0
メソッドの仕様とプロパティの仕様の二つを読まなきゃならなくなるから一般的に可読性と保守性は落ちる
あと副作用前提なので参照透過でなく多用するとスパゲッティになりやすくなる
メソッドがthisを返すならMauiAppBuilderみたいにメソッドチェーンで使えるようになるしプロパティパターンでパターンマッチングできるから場合によっては便利になる
0093デフォルトの名無しさん (ワッチョイ 1201-bOZY)
垢版 |
2022/09/29(木) 17:05:48.88ID:yzYmCLI10
>>92
なるほどありがとうございます
0101デフォルトの名無しさん (ワッチョイ ff01-yu6O)
垢版 |
2022/10/01(土) 11:36:18.78ID:CdyuxRrm0
そのページのHTMLをHTML方式で保存すればいいだけなのでは?
0102デフォルトの名無しさん (ワッチョイ ff01-yu6O)
垢版 |
2022/10/01(土) 11:41:05.38ID:CdyuxRrm0
WebView2ならJavaScriptを呼び出せるメソッドがあるからhtmlタグの中身をゲットしてそれを保存すればいいだけのような気がするがどうなんだろ?
0103デフォルトの名無しさん (ワッチョイ cfda-pIDl)
垢版 |
2022/10/01(土) 11:47:25.93ID:EDStmk6M0
HTMLだけだとcssやjsが含まれていないので
落としたHTMLを表示するとまともに表示されない問題が発生してしまいます
ブラウザの「名前を付けて保存」は完璧に保存されますのでそちらが使いたいです
0104デフォルトの名無しさん (ワッチョイ 6379-tfD/)
垢版 |
2022/10/01(土) 23:19:37.45ID:4ls5cXfL0
以下WebView2のエキスパートでもなんでもないから見当違いかもしれないので話半分で
ちょっとぐぐってみたけどWebView2で「名前を付けて保存」相当をやってる情報は出てこないね
Webブラウザでもページの保存は割と面倒な処理に該当するはずだからseleniumとかでWebブラウザに丸投げする方法を考えた方がいいと思うよ
0105デフォルトの名無しさん (ワッチョイ 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);

↑これを参考にやってみたのですがファイルが見つからないとか言われてしまいます
0107デフォルトの名無しさん (ワッチョイ ff7c-pIDl)
垢版 |
2022/10/02(日) 01:46:38.36ID:w76y/xOG0
一行目でエラーなら単純にファイルが無いのでは?
VSでデバッグの時のカレントがどこなのかそういう知識が無くパス指定も無く開けなかったら
カレントに無いぐらいは分かりそうなものなのに・・・
0108デフォルトの名無しさん (ワッチョイ ff01-yu6O)
垢版 |
2022/10/02(日) 02:00:42.79ID:jE287c4+0
VSに入れたファイルのパスの指定方法ってどうすればいいんですかね?
ファイル名だけで勝手にソリューション内のファイル検索して取り込めるのか相対パスなのか完全パスなのか…
相対パスならどこからの相対パスを書けばいいのか…
0110デフォルトの名無しさん (ワッチョイ ff01-yu6O)
垢版 |
2022/10/02(日) 02:31:53.74ID:jE287c4+0
ビルドアクションは埋め込みリソースに設定すればいいんですか?
何に設定すればいいんですか?
0111デフォルトの名無しさん (スップ Sd1f-XcTz)
垢版 |
2022/10/02(日) 04:59:56.46ID:TVxg2l3ud
何やらせても出来なさそう
0112デフォルトの名無しさん (アウアウウー 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
0113デフォルトの名無しさん (ワッチョイ 8301-yu6O)
垢版 |
2022/10/02(日) 08:47:31.34ID:jcW3SqyJ0
>>112
ありがとうございます!
MauiAssetにしてResourcesからの相対パスにしたらいけました!
0114デフォルトの名無しさん (ワッチョイ ff01-yu6O)
垢版 |
2022/10/03(月) 21:31:13.59ID:7M+SSEiP0
ListやObservableCollectionとか作るときに別classでget,setでプロパティ作るけどこれってなんて言うものなの?
他の言語とかも一緒?
0116デフォルトの名無しさん (ワッチョイ ff01-yu6O)
垢版 |
2022/10/03(月) 21:35:24.31ID:7M+SSEiP0
>>115
どっちかというとModelの話かな
ほとんどの人がModelフォルダにpublic〇〇get,setしてる
0117デフォルトの名無しさん (ワッチョイ ff01-yu6O)
垢版 |
2022/10/03(月) 21:38:09.72ID:7M+SSEiP0
List‹〇〇›とかObservableCollection‹〇〇›とかの〇〇部分
xamlだと{Binding 〇〇}で〇〇の中に定義したプロパティを読み込めるやつ
0121デフォルトの名無しさん (ワッチョイ 8301-nwUq)
垢版 |
2022/10/03(月) 23:18:54.43ID:rGUf1MZJ0
選択肢がめっちゃ多い中で1つ選ばせるコントロールって何が良いですかね?
80項目くらいあるのでコンボボックスはNGになりまして。
選択内容は 数値:文字列 で表示したいです。
0131デフォルトの名無しさん (ワッチョイ cf2c-kE2G)
垢版 |
2022/10/04(火) 08:37:00.95ID:83NgMl870
>>121
高さある程度とったリストボックスでいいんじゃない
フォントダイアログのフォントみたいな
頭に数字付けるのはインクリメンタルサーチとの兼ね合いがあるが項目が日本語なら関係ないか
0132デフォルトの名無しさん (ブーイモ MMff-wbXn)
垢版 |
2022/10/04(火) 11:59:18.04ID:36QRloIgM
>>121
Google翻訳の言語選択画面とか
StackOverflowやEvernoteのタグ選択画面とか
有名どころで類似画面を見つけてそれを参考にするといい

選択肢の数だけじゃなく選択させたいデータの特徴とユースケースによって適切なUIは変わってくる
0133デフォルトの名無しさん (ワッチョイ 0f01-yu6O)
垢版 |
2022/10/04(火) 12:28:46.35ID:Pbtsxb5E0
IsVisibleプロパティでリストビューを最初に消しててボタン押すとリストビューのIsVisibleがtrueになる
そのリストビューを選択させてSlectedイベントハンドラーでボタンのテキストを選択したものにするみたいな
0134デフォルトの名無しさん (ワッチョイ 0f01-yu6O)
垢版 |
2022/10/04(火) 12:34:13.22ID:Pbtsxb5E0
Slectedイベントでもう一度ListViewのIsVisibleをfalseにするとスムーズかも
WPFの場合はVisibility=collapsedにすれば画面専有しなくなる
このプロパティめっちゃ便利だからみんなも使って
0136デフォルトの名無しさん (ワッチョイ 0f01-yu6O)
垢版 |
2022/10/04(火) 12:37:11.62ID:Pbtsxb5E0
>>135
リストビューだからイメージとかも表示できる
datatemplate設定する必要あるけどね
リストビューだけじゃなくてcollectionViewとか使ったら横2行でスクロールできるようになるし
0137デフォルトの名無しさん (ワッチョイ 0f01-yu6O)
垢版 |
2022/10/04(火) 12:38:40.11ID:Pbtsxb5E0
検索バーもリストに紐付けられてたような気がするから更に便利かも
検索バーもリストビューとかと同様にIsVisibleが連動するようにしておく
0139デフォルトの名無しさん (ワッチョイ 0f01-yu6O)
垢版 |
2022/10/04(火) 12:39:58.19ID:Pbtsxb5E0
まぁめんどくさかったらコンボボックスでもいいけどね
1つしか項目ないならこっちのほうが楽だと思う
0140デフォルトの名無しさん (ワッチョイ 0f01-yu6O)
垢版 |
2022/10/04(火) 12:41:35.19ID:Pbtsxb5E0
>>138
UIとかこだわるならListViewかなぁ
0141デフォルトの名無しさん (ワッチョイ a309-pIDl)
垢版 |
2022/10/04(火) 23:58:06.92ID:b8uw2VbJ0
>>125 >>130
iniファイルからの読み込みなので失敗もありえて、その場合は0.0が期待値ですね
TryPaerse失敗でoutの方は0.0になるので、単純にoutの値が欲しいだけなんです
ラムダでもうまく書けないので、>>128の言うようにメソッドにするしかないですかね
0144デフォルトの名無しさん (ワッチョイ 435f-pIDl)
垢版 |
2022/10/05(水) 07:40:46.91ID:2+KVHgSc0
失敗したときは初期値を代入する、って意図なら default にした方が分かりやすいぞ
0148デフォルトの名無しさん (ワッチョイ a359-eWb8)
垢版 |
2022/10/06(木) 18:05:18.67ID:l5eCu49d0
c#でコードをすっきり書く方法について
unityです
以下のようなメインルーチンと自作関数がありますが、自作関数が多くなると間延びして見づらくなります
こうズラズラと書いていっていいものでしょうか?

void update()
{
//この中に記載したものが1フレームごとに実行される
}
void zisaku_kansu1()
{}
void zisaku_kansu2()
{}
void zisaku_kansu3()
{}
0149デフォルトの名無しさん (ワッチョイ 0307-CLHJ)
垢版 |
2022/10/06(木) 18:19:06.66ID:okBm6j3n0
知らんけどどのオブジェクトにメソッドを生やすかは見やすさ関係なしに選んだ方がいい
メソッドが増えすぎる場合クラスが肥大化しすぎて単一責任原則に反している可能性があるから他のクラスに分割できないかどうかを検討してみろ
0150デフォルトの名無しさん (ワッチョイ a359-eWb8)
垢版 |
2022/10/06(木) 18:29:05.50ID:l5eCu49d0
スクリプト1つにここまで、みたいな目安はあるんでしょうか?
0152デフォルトの名無しさん (ワッチョイ a359-eWb8)
垢版 |
2022/10/06(木) 19:26:04.80ID:l5eCu49d0
了解です
問題が出たらそのときに対処します
0156デフォルトの名無しさん (テテンテンテン 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 };
と書いてもたぶん大丈夫だとは思うけど
0160デフォルトの名無しさん (ワッチョイ ff79-mZ1T)
垢版 |
2022/10/07(金) 02:06:25.47ID:ICIDzMHN0
その変態コードやるならメソッドにして手厚くコメント入れて欲しい
明示的にif文でデカデカと対応がわかるように並べて欲しい
一石二鳥なんか狙う場面じゃない
0162デフォルトの名無しさん (スップ Sd1f-rSe5)
垢版 |
2022/10/07(金) 03:43:01.87ID:Y3Bhrpk2d
馬鹿は何でもかんでも短くすれば良いと思ってる
0164デフォルトの名無しさん (スッププ Sd1f-HD9v)
垢版 |
2022/10/07(金) 09:36:20.95ID:Kp+8ZYZad
推奨されないというか、C#8.0以上では.NET Frameworkは公式にサポート外となった
仮にたまたま今動いてても明日.NET Frameworkのセキュリティパッチで突然動かなくなるかもしれないし、もちろんMSは修正しないよ
0168デフォルトの名無しさん (アウアウウー Sa27-G9OZ)
垢版 |
2022/10/07(金) 12:47:07.95ID:d4ub3t4La
>>162
ほんそれ
0169デフォルトの名無しさん (ワッチョイ 435f-CR2Y)
垢版 |
2022/10/07(金) 20:16:53.71ID:+9HYrIkm0
Nullable有効にできないバージョンは古いC#って感じでもう使いたくないな
0176デフォルトの名無しさん (ワッチョイ 7b7f-4L6u)
垢版 |
2022/10/08(土) 08:16:32.93ID:jIH0D5Hw0
オブジェクト内でバイナリファイルの内容を扱うとしたら、バイト型配列がよいでしょうか。ファイルストリームで吸い出してオブジェクト内で扱うつもりです。

テキストファイルでは、ストリング型か、ストリング型配列か、それともバイト型配列がよいでしょうか。処理のしやすさを考えるとストリング型に一気に吸い出すのが良いかなと思います。
0178デフォルトの名無しさん (ワッチョイ 7b09-kHT+)
垢版 |
2022/10/08(土) 11:01:05.54ID:VFNuoQ0s0
C#の正規表現が難しい・・・

文字列が特定パターンに一致したら、その一部をキャプチャして後方参照したいんだけど、やり方がわからん
具体的には下の感じで最初の数値群と2番目の数値群を取り出したい
Perlだとこのパターンマッチング後に$1と$2で取り出せるけど

if (Regex.IsMatch(str, @"^FIRST(\d+)_SECOND(\d+)$"))
0180デフォルトの名無しさん (ブーイモ MM86-lDXs)
垢版 |
2022/10/08(土) 11:53:56.88ID:r7jgJ5YeM
>>177
ストリング型に一気に吸い出すのが処理しやすいんだったらそうしたらいい
ストリームは全部一気に読むときの遅延が無視できなかったりメモリに全部乗らないような巨大なファイルを扱うようなときに使うもので、
全部一気読みで問題なく動くのならその方がシンプルで好ましい
バイト配列か文字列かは扱い対象のファイルがバイナリなのかテキストなのかに合わせればよいだけ
0181デフォルトの名無しさん (アウグロ MM02-2BPp)
垢版 |
2022/10/08(土) 11:54:28.61ID:gSJNfJVIM
自分でも複雑なことをやるってわかってるのに一気に処理して
ログも出さない
途中の計算課程もみずにできると思い込む
やり方がわからない以前に一度でも実行したのか?
0182デフォルトの名無しさん (ワッチョイ 7b59-6drP)
垢版 |
2022/10/08(土) 14:35:23.82ID:P5VjfrSW0
c#でthisはつけたほうがいいのですか?
現在のインスタンスを参照していることが、そのほうがわかりやすいかなという認識ですが、機能上、すごく重要なものだったりすりんでしょうか
0184.NET M HighSchool (ワッチョイ ca01-K5IV)
垢版 |
2022/10/08(土) 15:43:59.89ID:7fZ89p9v0
thisは高確率で色薄くなるな
0191デフォルトの名無しさん (ワッチョイ 7b59-6drP)
垢版 |
2022/10/08(土) 17:07:26.31ID:P5VjfrSW0
>>183
色濃いっす
書いときます
0193デフォルトの名無しさん (ワッチョイ 6b79-Ir1l)
垢版 |
2022/10/08(土) 17:30:09.59ID:f2a8Snt90
原則省略していいよ
基本的には人間の記述した字句解析の手間が少なくなる程コンピューターは速く処理できるべきであり
人間の意図や文脈を解釈できないインテリセンスがまだまだ糞ってことだ
0195デフォルトの名無しさん (ワッチョイ ca79-2BPp)
垢版 |
2022/10/08(土) 19:52:21.24ID:gycPEQHX0
なんかマトリョーシカみたいなクラスの記述を強制するライブラリ使ってると
this付けないと飛び越えて呼んでるときあって気が付かない不具合がかなり凶悪だった覚えがある
多分この取り決めはそーゆークソライブラリ使ったとき用だと思う
通常では絶対イランと思う
0197デフォルトの名無しさん (ワッチョイ 7b7f-cQ+4)
垢版 |
2022/10/08(土) 23:19:17.46ID:jIH0D5Hw0
>>177
>>180
ありがとうございました。

ファイルストリームと、バイト配列の使い分けを、
教えてもらったことで意識したいと思います。
0201デフォルトの名無しさん (ワッチョイ 5ebb-tXc8)
垢版 |
2022/10/10(月) 22:11:00.57ID:eOE0tewq0
USBデバイスを仮想COM接続し、SerialPortクラスで受信しています。バルク転送で約2Mbpsとなります。
デバイスからは60byteフレームが連続で送られてきます。DataReceivedでSerialReadして即抜けています。DataReceivedイベント発生時にバッファを確認すると、
60byte→120byte→…→60byte→(イベント発生まで時間が空いて)数kBとなります。
場合によっては内部バッファが溢れているようなのですが、イベントが待たされる条件が解らず困っています。助言いただけないでしょうか。
0203デフォルトの名無しさん (ワッチョイ 6b79-Ir1l)
垢版 |
2022/10/10(月) 22:46:51.58ID:P58+Ol8v0
C#でも書けるとは思うけど数MbpsのCOMポートの送受信はC/C++で専用スレッド用意して
SetThreadPriority(GetCurrentThread(), THREAD_PRIORITY_TIME_CRITICAL);
した上で非同期でやり取りしないと取りこぼすだろうね
0208デフォルトの名無しさん (オイコラミネオ MMeb-kHT+)
垢版 |
2022/10/11(火) 10:20:29.33ID:w5Aa3OJKM
USBはシリアルと言いながら実際パケットを送ってるからタイミングが微妙なんだよな
その都度無駄なやり取りが発生して即応性もなくなるし複数の送受信がまとめられてたり

デバイスずっと常にデータを送り続けてる状況を作るとか言う手法があるけど
C#向きではないかなと
0209デフォルトの名無しさん (オイコラミネオ MMeb-kHT+)
垢版 |
2022/10/11(火) 10:41:42.41ID:w5Aa3OJKM
USBデバイスにボタンみたいのがあって
押すと1離すと0送るとして

1,0,1,0,1,0
みたいにデバイスのユーザープログラム層が送っても
プロトコル層では間の,で
いまデータ受信中かな、送信回線空いてるかなとかデータを送りますよと言う確認など常に処理がある


タイミング次第では 10101,とまとめて送ったほうがいいなと判断されたり送信待ちしてたら平気でまとめて送ってくる
(当然ながらパケットより短い間隔で次を送ろうとしても不可能だし)
それで即応性が皆無になる

それを回避するにはストリーミングで常に状況を送り続けるかポーリングなどが有効だけど
他のUSBの帯域を圧迫してマウスの感度が悪くなったりキーボードの取りこぼしなどが起こる(IO処理なのでCPUを早くしても無駄)
0211デフォルトの名無しさん (ワッチョイ 6b79-Ir1l)
垢版 |
2022/10/11(火) 21:09:15.58ID:qFJbGVDN0
>>210
USBシリアルは基本的に垂れ流しするしかないよ
COM側は全二重に見えててもその下で動作してるUSBは半二重のホスト主導のパケット通信だからね
フロー制御用として用意されてるXon/Xoffも停止までに送信タイムラグが発生するから
目視できるような低速通信ぐらいしか役に立たないし、停止を許容できるデータなのかも不明だし
0212デフォルトの名無しさん (オイコラミネオ MMeb-kEV8)
垢版 |
2022/10/11(火) 22:58:59.26ID:w5Aa3OJKM
>>210
されてないのかと言う質問にはされていないという答え

仮想comポートはあくまでも仮想なのでハードウェア的なcomポートを完全再現できはしない
ハブなんか挟むと致命的
高速データ転送してる場合は何らかの手法でうまくやってる
0213デフォルトの名無しさん (ワッチョイ 6f5f-AxfF)
垢版 |
2022/10/12(水) 07:20:32.76ID:O1VGwGyV0
プロパティの使い方でさ
View側から使う分には複雑な式とかメソッド呼とかは仕方ないけど、Model側からもそのまんまプロパティを呼ぶと処理が何重にも呼ばれたり副作用大杉だからなぁ
メンバー変数代わりにプロパティ使うと死ぬる
0215デフォルトの名無しさん (ササクッテロレ Sp03-AxfF)
垢版 |
2022/10/12(水) 09:29:45.13ID:wUZHBRzyp
副作用のあるプロパティを作る方が悪い
0218デフォルトの名無しさん (ササクッテロレ Sp03-AxfF)
垢版 |
2022/10/12(水) 09:58:11.07ID:wUZHBRzyp
そんな言葉遊びして楽しいか?
0220デフォルトの名無しさん (ササクッテロレ Sp03-AxfF)
垢版 |
2022/10/12(水) 10:15:07.25ID:wUZHBRzyp
俺が意図してない挙動は全部副作用だぁっ
0221デフォルトの名無しさん (ワッチョイ 6710-kHT+)
垢版 |
2022/10/12(水) 11:33:52.36ID:PX0iq4dK0
質問です
DataGridViewで指定行までのスクロールを行いたいのですが、詰まっています
スクロール自体はFirstDisplayedScrollingRowIndexプロパティに値を代入して行えるのですが、スクロールバーのスライダー位置が最上位から変化しません
処理は、指定行を入力→DataSourceの更新→指定行へスクロールというように行っています
0225デフォルトの名無しさん (ワッチョイ 1bda-08ep)
垢版 |
2022/10/14(金) 00:33:36.56ID:OVfBjtj50
両端に括弧が付くというのは、
こう書く事を想定してると思うんですよ。

あああ{いいい;}

改行した方が見やすいんでしょうけど、
括弧がずれてるとモヤっとするんですね。

あああ{
 いいい;
}

これって誰かが流行らせてこうなったんですかね?
0227デフォルトの名無しさん (ワッチョイ 1b8e-sID7)
垢版 |
2022/10/14(金) 02:19:02.77ID:Qq0Btn0+0
>>225
むしろ上はセミコロンが気持ち悪い
0231デフォルトの名無しさん (ワッチョイ 4aad-ndxx)
垢版 |
2022/10/14(金) 07:45:52.10ID:xDPm2p1a0
>>225
昔は表示できる行数が少なかったから、括弧を改行しないほうが見やすかったのよ
試しにウィンドウを80行しか見えないように小さくしてみ
昔の環境を擬似体験できるから納得するかも
0232デフォルトの名無しさん (ワッチョイ 635f-MsJc)
垢版 |
2022/10/14(金) 08:05:14.64ID:QLzEXHXB0
>>231
80行は現代でも十分に多いと言えるのでは?

マジックナンバーの80はかつて「1行あたりの推奨文字数」として言及されているのをよく見かけたけど、それと勘違いしてるのかな?
0235デフォルトの名無しさん (アウアウウー Sa2f-ndxx)
垢版 |
2022/10/14(金) 08:30:20.50ID:FN5uaSwOa
>>232
すまん、素で間違えた
>>233が正解
0238デフォルトの名無しさん (ワッチョイ ca01-K5IV)
垢版 |
2022/10/14(金) 10:16:19.54ID:WAeSut8C0
俺はVS信者だからだいたいこれだ
あああ
{
いいい;
};
0241デフォルトの名無しさん (ワッチョイ c305-g6I6)
垢版 |
2022/10/14(金) 12:31:32.85ID:Mxtf08tS0
フォームアプリで子フォームから親フォームのsplitContaine1.PanelCollapsedをtrueにしたいのですが受け付けてくれません
ボタンコントロールなどは操作出来るのですがスプリットコンテナだけインテリセンスでも出てこないです
どうしたら操作出来るでしょうか?
0243デフォルトの名無しさん (ワッチョイ 635f-SUfT)
垢版 |
2022/10/14(金) 12:59:19.05ID:mo1wBGHA0
今のVSは縦に点線が入るのもあって初期の揃え方だと{が完全に無駄な行になってるから
括弧ずれてるほうが無駄が削減されて見やすいな
0244デフォルトの名無しさん (ワッチョイ ce60-+HnN)
垢版 |
2022/10/14(金) 19:57:10.42ID:29TAKwyj0
初めてこの板で書きます。
プログラミングで対角化をしたいのですがよく分かりません。色々調べても自分がしたいことができないです。
やりたいことは、
任意の大きさの正方行列で固有値を求めたい
オイラー方程式を含む行列要素を計算したい
です。
どうしたらいいでしょう、、、
0246デフォルトの名無しさん (ワッチョイ 1b8e-sID7)
垢版 |
2022/10/14(金) 20:01:15.78ID:Qq0Btn0+0
>>244
お前には向いていない
数学ライブラリを買え
0247デフォルトの名無しさん (ワッチョイ ce60-+HnN)
垢版 |
2022/10/14(金) 20:11:06.46ID:29TAKwyj0
>>246
まあ、向いてないのはわかってるよ
でも数値計算で必要なんですもん
0249デフォルトの名無しさん (ワッチョイ ce60-+HnN)
垢版 |
2022/10/14(金) 20:22:33.79ID:29TAKwyj0
>>248
ごめんなさい。
問題点は
方程式をとくやり方が分からない。数値計算みたいなことはやったことはあるが、実数解を求めるようなことはしたことない。しかも恐らく4次、五次方程式以上になると思うので、参考となるサイトとかを教えて欲しい。
オイラー方程式などの虚数iを含む式を入れることが出来ない。いい感じの関数とか逃げ方が知りたい。
こんな感じで参考となるサイトとかを教えて頂きたいです。
0250デフォルトの名無しさん (ササクッテロレ Sp03-AxfF)
垢版 |
2022/10/14(金) 20:24:23.30ID:/2EVPBobp
x=f(x)の形にするだけの簡単なお仕事ですやん
0251デフォルトの名無しさん (ワッチョイ 1b8e-sID7)
垢版 |
2022/10/14(金) 20:30:54.89ID:Qq0Btn0+0
>>249
だからライブラリ買うとかMathematicaを買うとかしろよ
馬鹿は金を出せ
0253デフォルトの名無しさん (ワッチョイ 6b41-oAX8)
垢版 |
2022/10/14(金) 21:01:32.89ID:AnbCvpeg0
>>244
言葉悪い人も多いが、ここは「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」だ。
Mathematica使えというのもその通り。もう少し知識つけて出直したほうが良い。
0255デフォルトの名無しさん (ワッチョイ 9f01-CUgD)
垢版 |
2022/10/15(土) 00:40:45.53ID:mRrGj9Y+0
数学板行けば?
0256デフォルトの名無しさん (オイコラミネオ MM8f-7iBv)
垢版 |
2022/10/15(土) 12:59:39.43ID:jiCek6V8M
>>244
pythonやR使ったほうがいいよ

そのレベルで留まらずその先の用途を考えてもpython
どうしても連携したいならコマンドラインでpython実行して結果だけC#で貰うことも出来る
自分は画像認識をその手法を使ってやってる
0257デフォルトの名無しさん (オイコラミネオ MM8f-7iBv)
垢版 |
2022/10/15(土) 13:10:51.97ID:jiCek6V8M
よく読んだら実数解じゃないのか

高校生のころ多変量解析用に固有値が求めたくてBASICで計算してた
書籍にデータと結果が乗ってて同じグラフを表示したかった
残念ながらその時は実現できなかった

大学生になってCで組んだらあっさり行けたけどもう何も覚えてはいない
0258デフォルトの名無しさん (ワッチョイ 9f01-CUgD)
垢版 |
2022/10/15(土) 13:42:59.01ID:mRrGj9Y+0
最近はML.NETってのが出てきたけどね
0259デフォルトの名無しさん (ワッチョイ cb59-w9bA)
垢版 |
2022/10/15(土) 14:19:06.79ID:FcVUHJvZ0
if(count ==1){
Debug.Log("output");
}

{}←C#ではこれの省略というのはできないのでしょうか?
pythonのように出来ると楽なのですが。
0263デフォルトの名無しさん (ワッチョイ cb59-w9bA)
垢版 |
2022/10/15(土) 15:36:13.03ID:FcVUHJvZ0
>>260
ありがとうございます
了解します(´・ω・`)
0265デフォルトの名無しさん (ワッチョイ 9f01-CUgD)
垢版 |
2022/10/15(土) 17:26:06.25ID:mRrGj9Y+0
どう考えても{}あったほうがいいだろ…
メソッドとかやりたいことがひとまとまりになるから管理しやすい
0268デフォルトの名無しさん (ワッチョイ bb5f-Jufk)
垢版 |
2022/10/15(土) 17:47:40.19ID:Ggc2td0l0
>>267
そんな事はIDEにやらせりゃいいんだよ
0270デフォルトの名無しさん (ワッチョイ 9f01-CUgD)
垢版 |
2022/10/15(土) 20:29:18.32ID:mRrGj9Y+0
>>269
いやPythonなんて使わんし…
0276デフォルトの名無しさん (ワッチョイ 9f01-CUgD)
垢版 |
2022/10/15(土) 22:12:17.55ID:mRrGj9Y+0
>>275
一般言語の話な
他の言語みんな{}ついてんだから必要なもんなんだよ
わかりやすいし
0277デフォルトの名無しさん (ワッチョイ bb5f-Jufk)
垢版 |
2022/10/15(土) 22:21:40.18ID:Ggc2td0l0
インデントの位置で動きが変わる欠損言語だよな
0279デフォルトの名無しさん (ワッチョイ efbc-dQGL)
垢版 |
2022/10/15(土) 22:46:19.16ID:tSskybGM0
python には {} なくても通用してるんだから、あっちのユーザーさんには必要なものではないんだろう。
自分は {} あった方がいいからって理由もあって ruby とかもキライなんだが。

まあ好き嫌い言ってても仕方ない。我らは要望に応えるだけだ。
0282デフォルトの名無しさん (ワッチョイ eb07-Dt13)
垢版 |
2022/10/16(日) 08:54:37.59ID:9H+50nm50
>>281
basicが作られた時は今のようにブロックで構造化するんじゃなくgotoしてた
つまりifと対応するのはendではなくgoto
10 if a=1 then goto 40
20 rem aが1でないの時の処理
30 goto 50
40 rem aが1の時の処理
50 次の処理
ブロックという概念がそもそも無かったからブロックの形を統一しようという発想もなかった
0284デフォルトの名無しさん (アウアウウー Sacf-Dt13)
垢版 |
2022/10/16(日) 09:52:41.83ID:3xSHFrvIa
>>283
見たことないのはお前が使ったことないからだな
https://stackoverflow.com/questions/61893042/what-visual-basic-syntax-is-this-begin-end-no-class

あと関数なんて無かった
gosubでサブルーチンを実装してたがサブルーチンもメインルーチンの好きなところに好きにgotoできたしそこにブロックの概念はやはり無かった
0288デフォルトの名無しさん (ワッチョイ 9f01-QrOW)
垢版 |
2022/10/16(日) 11:17:27.02ID:zEVEZIxw0
>>286
残念ながらキーワードに begin なんてないんだなw
https://learn.microsoft.com/ja-jp/office/vba/language/reference/keywords-visual-basic-for-applications
※ vb6 のドキュメントは見つけられなかったので vba のやつな、似たようなもんだし

>>287
>>281 に loop と書いてあるのにお前が勝手に初期の Basic の話にしてるだけだろ
0294デフォルトの名無しさん (ワッチョイ 9f01-QrOW)
垢版 |
2022/10/16(日) 11:51:09.98ID:zEVEZIxw0
>>289
バカなのか?
回答に That is VB6 code. って書かれてるだろ
どうせ>284は basic begin あたりで必死にググってきたんだろうけど恥の上塗りにしかなってなくて草

>>290
だから >>281に loop と書いてあるだろ
do loop も知らないのなら黙ってなよw
0311デフォルトの名無しさん (オイコラミネオ MM8f-7iBv)
垢版 |
2022/10/17(月) 10:52:48.22ID:EEvzrdC6M
>>310
それは間違った知識だな
識字率が著しく低い人がいわゆる文盲

戦後まもなくアメリカのGHQは敗戦国日本は漢字教育が妨げとなっていると感じ
ひらがなや漢字を廃止しアルファベットを導入しようとした

そのために識字率の調査を行った
その結果漢字の読み書きができないものは2%だけなのでその案は却下された

井上ひさしの書籍では識字率の試験を受けた老婆の話が載っていて読み書きは出来ないが
たまたま自分の名前の漢字が含まれていたので正解ゼロにはならなかったと言う逸話が乗っていた
それが間違って覚えてるんだろう
0314デフォルトの名無しさん (ワッチョイ 6b01-uI8J)
垢版 |
2022/10/17(月) 20:54:25.97ID:9OAS6xxs0
なるほどホリエモンは文盲ってことか
0319デフォルトの名無しさん (ワッチョイ cb59-w9bA)
垢版 |
2022/10/18(火) 22:05:07.00ID:OR0fD8XM0
こう包み込む感じの関数と、括弧内に数値を入れる関数では何がちゃうんでしょうか?
ToString(floatvalue);
floatvalue.ToString();
0321デフォルトの名無しさん (ワッチョイ bb5f-Jufk)
垢版 |
2022/10/18(火) 22:30:07.73ID:joOPF2hi0
ヒント
ネームスペース
0322デフォルトの名無しさん (ワッチョイ 5bda-d8ga)
垢版 |
2022/10/18(火) 22:30:07.98ID:cuMhZa5Q0
LinqのSelectでサブセットのプロパティを自動展開して平坦化する方法ないでしょうか?
式木とか駆使しまくれば可能でしょうか

class HogeTable
{
  string ID {get;set;}
  string Name {get;set;}
  :
  :
}

=============

var query = from tbl in db.HogeTable
 select new
 {
   Expand(tbl) // <- HogeTableのプロパティを自動展開してほしい
 };
 ↓
var query = from tbl in db.HogeTable
 select new
 {
   tbl.ID
   tbl.Name,
   :
   :
 };
0324デフォルトの名無しさん (ワッチョイ 5bda-d8ga)
垢版 |
2022/10/18(火) 22:43:04.96ID:cuMhZa5Q0
先の例ではテーブル1個だけですが、実際はjoinしまくりでselectしたいプロパティがたくさんあります

var query = from tbl in db.HogeTable
 join fuga in db.FugaTable on tbl.ID equals fuga.HogeID
 select new
 {
   tbl.ID,
   tbl.Name,
   :
   fuga.HogeID,
   fuga.Code,
   : // プロパティ多すぎて書くのがだるい
 };
0325デフォルトの名無しさん (ワッチョイ bb5f-Jufk)
垢版 |
2022/10/18(火) 22:44:16.89ID:joOPF2hi0
一度書けば済むんだからチマチマやれよ
0329デフォルトの名無しさん (ワッチョイ 5bda-d8ga)
垢版 |
2022/10/18(火) 23:01:06.32ID:cuMhZa5Q0
>>327
それだと
foreach(var row in query)
{
 // row.tbl.IDのようにドットが2つになる
 // row.IDのようにアクセスしたい
}

後だしで申し訳ないですけど、このあとExpressionで動的に検索かけるので
tblとかfugaとかあると今の私の知識では出来ないんです。。
0333デフォルトの名無しさん (ワッチョイ bb5f-Jufk)
垢版 |
2022/10/18(火) 23:09:54.15ID:joOPF2hi0
動的にって、スクリプト書くしか無いんじゃね?
0339デフォルトの名無しさん (ワッチョイ 9f79-9toV)
垢版 |
2022/10/18(火) 23:54:23.64ID:sRZwLUu60
>>338
別に変な方法じゃないぞ
ゲームとかパフォーマンスに影響する部分はc++でゴリゴリ書くけど
そうでない部分はc#で
もうゲームシステム部なんて
全部pythonだったりしたぞ

ビジネスアプリでもこれ割とアリだと思うんだけどね
速度を求めてないときに型とか煩わしいだけで無駄だと思うんだよね
かと言ってDictionaryでやっちゃうと完全に型チェックなくなっちゃうし
0341デフォルトの名無しさん (ワッチョイ cb59-w9bA)
垢版 |
2022/10/19(水) 05:19:21.43ID:jC2EXU9G0
>>321
下に関して、ネームスペースにする必要ありますか?
0342デフォルトの名無しさん (ワッチョイ bb5f-Jufk)
垢版 |
2022/10/19(水) 09:19:09.84ID:JDWm2Gob0
>>341
あ?
上は自クラス内メソッドだろ?
下は参照クラス内メソッドだろ?
同じメソッド名ってのに惑わされるなよ別物だぞ
0343デフォルトの名無しさん (ワッチョイ 2b4f-KWxC)
垢版 |
2022/10/19(水) 12:49:22.09ID:rgBskw8B0
>>324
Ruby on Rails には、O/R マッパーもあるので全自動

Rubyで抽象的に、マイグレーションファイルに表定義すれば、
3大データベース、PostgreSQL, MySQL, SQLite の方言・型で定義される

Railsみたいな、O/R マッパー付きのフレームワークを使わないと、プロにはなれない

Java 土方は、Railsを使えない。
Java土方 vs リモート開発のモダンなRails
0348デフォルトの名無しさん (ワッチョイ cb59-w9bA)
垢版 |
2022/10/21(金) 20:36:11.47ID:Uz/9j/Qf0
プログラミンはどれだけきれいに書くかが大事なんでしょうか?
汚いとそれだけで頭がこんがらがります(´・ω・`)
0352デフォルトの名無しさん (ブーイモ MMcf-Z2+b)
垢版 |
2022/10/21(金) 22:27:13.65ID:whbnSZB/M
>>348
その通り
ただ君の考えるキレイと優れた開発者の考えるキレイが同じとは限らない
0353デフォルトの名無しさん (ワッチョイ 2b4f-KWxC)
垢版 |
2022/10/21(金) 23:23:29.11ID:X//QLN3D0
可読性の高い、Ruby がベスト。
他の言語は可読性が低いから、作った瞬間から産業廃棄物

だから皆、新規で作って、作り逃げする。
自分が作ったものでも、改修できないからw
0354デフォルトの名無しさん (ワッチョイ 3901-80Lh)
垢版 |
2022/10/22(土) 00:49:35.85ID:vvrmomXL0
>>353
正論
Ruby以外の言語をやってるやつはサタン
0356デフォルトの名無しさん (ワッチョイ fd5f-zBiP)
垢版 |
2022/10/22(土) 01:04:16.52ID:sdxg/Y9t0
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください
0366デフォルトの名無しさん (ワッチョイ 05da-TbkE)
垢版 |
2022/10/22(土) 17:11:59.78ID:DoqTc5dI0
ジェネリックついでに横から質問させてください。

省略可能引数にジェネリック型指定した場合、呼出側でコンパイルエラーになります

// 呼び出されるメソッド
void Miku<T, U>(List<T> vol, U negi = null) where U : class
{
}

// 呼出側
hatune.Miku(list); // CS0411 メソッド 'method' の型引数は、使用法から推論することはできません。 型引数を明示的に指定してください。

回避策ありますか?
0369デフォルトの名無しさん (オイコラミネオ MM69-80Lh)
垢版 |
2022/10/22(土) 17:27:58.11ID:eEXfO1n1M
人間はミスして当たり前
何かあったら自分が間違っていることをすぐに受け止めないといけない
そこが入り口
何十年もコード書いてるけどミスだらけ
まずはしっかりとエラーメッセージを読むしかない


にしてもお前らジェネリック好きだな
自分はジェネリックのメソッドなんてほぼ書かないよ
0370デフォルトの名無しさん (オイコラミネオ MM69-80Lh)
垢版 |
2022/10/22(土) 17:32:27.07ID:eEXfO1n1M
汎用ライブラリみたいなのでジェネリックはありうる

でも自分の使うライブラリのメソッドでは出番はない
クラス設計終わってるしinterface使わないでジェネリック単体なんてことはまずない
そこを汎用的に作る意味ないしコード重複もない
0375デフォルトの名無しさん (ワッチョイ 8135-qwLX)
垢版 |
2022/10/22(土) 19:57:34.11ID:ql0xnxKt0
デフォルト型引数っていうのはないのか
0377デフォルトの名無しさん (アウアウウー Sa45-qwLX)
垢版 |
2022/10/22(土) 20:59:48.27ID:PKq48whGa
tsにはあるみたい
0379デフォルトの名無しさん (アウアウウー Sa45-qwLX)
垢版 |
2022/10/22(土) 21:16:10.99ID:dlqtwNJ3a
おー、怖い怖い。
0381デフォルトの名無しさん (ササクッテロラ Sp11-SrSm)
垢版 |
2022/10/22(土) 21:50:34.77ID:pZkxSUcfp
デフォルト型引数を導入は完全な上位互換ではなく何かしらの不都合があるからないってことかな?
よーわからん。
0382デフォルトの名無しさん (オイコラミネオ MM69-TfLj)
垢版 |
2022/10/22(土) 21:55:53.90ID:eEXfO1n1M
typescriptは出来立てはきれいな文法や仕様だった

ところが素のjavascriptの仕様がひどすぎてどんどん仕様追加していって
全部の機能を把握してコード書いてる人間はいないんじゃないかと言うぐらいカオス状態になってる
0383366 (ワッチョイ 05da-TbkE)
垢版 |
2022/10/22(土) 22:34:54.25ID:DoqTc5dI0
もちろんオーバロードも考えましたけども。
Mikuメソッドが30行くらいあって、negiが指定されてる場合に処理の真ん中あたりの2,3ステップだけnegi処理をやるっていう
すっごいオーバロードに向かない作り。

記述量も増えるし、一概にオーバロードっていう考えもどういうものかと。
それにメソッド定義時点で警告も何も出ないので、何か呼び出せる書き方があるのかなと思った次第です
0386デフォルトの名無しさん (オイコラミネオ MM69-80Lh)
垢版 |
2022/10/23(日) 10:00:46.08ID:+fqIJl0NM
>>383
警告出るわけがない
出るならコンパイラがおかしい

hatune.Miku<List<Person>,Address>(list,place);
みたいに型を省略しないでかけばいい

どちらにしても本当にジェネリック使うのが正しいのか考え直して欲しい
0390デフォルトの名無しさん (ワッチョイ 1907-Rexe)
垢版 |
2022/10/25(火) 17:37:21.21ID:qnnhkHib0
スコープが変わるからインデントを入れても空白行を入れても問題ない程度にはコンテキストが違うぞ
空白行は複数行のコードをいくつかのまとまりに分ける時に使うだろ?
0391デフォルトの名無しさん (ワッチョイ 8201-80Lh)
垢版 |
2022/10/25(火) 18:41:46.55ID:tJBp4Vzi0
EntityFrameworkについての質問です。
同じDB(SQLServer)で2つのテーブルを使いたいのですが、現在すでにEntityFrameworkで登録しているテーブルに加え、
もう一つ別のテーブルを追加したいときどのように記述すればよいのでしょうか。

DataContextクラスをもう一つ作らないといけないのでしょうか。
よろしくお願いします。
https://imgur.com/w35hFzI.jpg
0393デフォルトの名無しさん (ワッチョイ 7159-zh4g)
垢版 |
2022/10/25(火) 18:58:42.86ID:mfkWT+mt0
print(1%3);
なんでこれの結果が1になるんでしょうか
0.11111111になるかとおもってたんですが
0394デフォルトの名無しさん (ワッチョイ 8201-SlLl)
垢版 |
2022/10/25(火) 18:59:45.45ID:tJBp4Vzi0
>>392
残念違います
0397デフォルトの名無しさん (ワッチョイ 8201-SlLl)
垢版 |
2022/10/25(火) 19:19:52.52ID:tJBp4Vzi0
すみません自己解決しました
public DbSet‹Article›~の下に
public DbSet‹追加したいテーブルのモデル›プロパティ名ゲットセットを追加して
ソリューションのMigrationsファイルを削除してやってみたらいけました
0398デフォルトの名無しさん (ワッチョイ 8201-SlLl)
垢版 |
2022/10/25(火) 19:20:54.69ID:tJBp4Vzi0
>>396
同じ手順でやってみたのですがマイグレーションズファイルの中身が邪魔してたのかもしれません
0400デフォルトの名無しさん (ワッチョイ 7159-zh4g)
垢版 |
2022/10/25(火) 19:57:45.49ID:mfkWT+mt0
bool rangeFunction(float value,float min,float max)
{
if(value > 0 && value < 3)
{
print("範囲内です");
return true;
}
return ;
}

ifの外でリターンを返すにはどうしたらいいんでしょうか?
範囲指定の関数になります。
もし範囲内であればtrueにします
0409デフォルトの名無しさん (ササクッテロラ Sp11-LjDK)
垢版 |
2022/10/25(火) 21:10:47.53ID:JX+WIZlhp
整数の世界
0411デフォルトの名無しさん (アウアウウー Sa45-80Lh)
垢版 |
2022/10/26(水) 00:08:21.84ID:NhZ6Jc52a
VBSのこの配列はC#でどう表現したらいいのでしょう?xyhwはintです
data = Array(Array(x, y), Array(x + w, y), Array(x + w, y + h), Array(x, y + h))

COMを使う引数用配列の定義なのですが、これはCOMに型が違うと怒られました
var data= new int[][] { new int[]{ x, y }, new int[] { x + w, y }, new int[] { x + w, y + h }, new int[] { x, y + h } };
0417デフォルトの名無しさん (ワッチョイ 8135-aRew)
垢版 |
2022/10/26(水) 00:53:03.57ID:lrx3siXd0
おう早く成仏しろよ
0423デフォルトの名無しさん (ササクッテロラ Sp11-LjDK)
垢版 |
2022/10/26(水) 09:58:58.52ID:e8T4fz3Wp
varで勝手に型決めろって言っといて型が違うとか傲慢なw
0426デフォルトの名無しさん (ササクッテロラ Sp11-LjDK)
垢版 |
2022/10/26(水) 10:17:04.49ID:e8T4fz3Wp
object型が万能型って事かぁ
0429デフォルトの名無しさん (ワッチョイ 7159-zh4g)
垢版 |
2022/10/26(水) 10:26:54.29ID:hM0WEApa0
>>403
なんで0.11111があまり1になるんすかね(´・ω・`)
0431デフォルトの名無しさん (ワッチョイ 8201-SlLl)
垢版 |
2022/10/26(水) 10:29:16.86ID:lQW0CdoF0
基本的に型が合いませんって言われたらobject型を疑うようにしてる
クラス名の型にぶち込めばなんやかんやで動いてくれる
0432デフォルトの名無しさん (ワッチョイ 8201-SlLl)
垢版 |
2022/10/26(水) 10:30:16.76ID:lQW0CdoF0
>>429
0.00000000…1だろ…
0433デフォルトの名無しさん (ワッチョイ 7159-zh4g)
垢版 |
2022/10/26(水) 10:37:26.97ID:hM0WEApa0
>>401
どゆこと?特定の範囲内に収まってればtrueを返したい
0434デフォルトの名無しさん (ササクッテロリ Sp11-LjDK)
垢版 |
2022/10/26(水) 10:40:48.05ID:yId2OGphp
>>429
整数しか無い世界の話に少数持ち出すなよw
0436デフォルトの名無しさん (ササクッテロリ Sp11-LjDK)
垢版 |
2022/10/26(水) 10:53:47.60ID:yId2OGphp
>>435
小学校からやり直せw
0437デフォルトの名無しさん (ワッチョイ 7159-zh4g)
垢版 |
2022/10/26(水) 11:01:03.70ID:hM0WEApa0
>>434
少数使っちゃだめなんやね
0441デフォルトの名無しさん (ササクッテロリ Sp11-LjDK)
垢版 |
2022/10/26(水) 11:09:20.02ID:4jVuVTojp
りんごじゃ半分にすればいいじゃんってなるから
もっと分けられないものを例えにした方がいい
0445デフォルトの名無しさん (ワッチョイ 3901-ZTQa)
垢版 |
2022/10/26(水) 12:35:40.43ID:lBrQFFOa0
俺が咀嚼して2人には口移し
0448デフォルトの名無しさん (ワッチョイ 7159-zh4g)
垢版 |
2022/10/26(水) 20:25:34.79ID:hM0WEApa0
パブリック変数がスクリプトの銭湯二ズラーっと並びますが、これを折り畳める昨日はないのでしょうか
関数みたいに【】でくくることは出できないですし
0450デフォルトの名無しさん (ワッチョイ 8201-SlLl)
垢版 |
2022/10/26(水) 22:16:29.32ID:lQW0CdoF0
記事検索の機能をつけたいのですが
Title,Contentパラメータの入ってるリストで検索ワードで検索しどちらか片方でも入っているものを再度別リストにしたい場合ってどうやるのですか?
FindAllは完全一致じゃないとだめでしたよね?
0453デフォルトの名無しさん (ワッチョイ 8201-SlLl)
垢版 |
2022/10/26(水) 22:35:16.80ID:lQW0CdoF0
>>452
ありがとうございます
LINQ構文使うんですね
0454デフォルトの名無しさん (ワッチョイ 7159-zh4g)
垢版 |
2022/10/27(木) 04:33:25.61ID:+0xiQnXe0
>>449
はい
0455デフォルトの名無しさん (ワッチョイ 7159-zh4g)
垢版 |
2022/10/28(金) 18:26:15.47ID:HG0H6tJb0
プログラミンはある時を超えると急速に上達したりするでしょうか?
学習曲線というか

停滞しすぎなので、そうであればやる気になりますね
0457デフォルトの名無しさん (ワッチョイ 8201-SlLl)
垢版 |
2022/10/28(金) 18:36:43.66ID:1ARXQoUR0
初歩の方で躓いてたらそうかもしれん
右肩上がりの階段状の成長曲線かな
0459デフォルトの名無しさん (ワッチョイ 7159-zh4g)
垢版 |
2022/10/28(金) 19:04:40.27ID:HG0H6tJb0
まあ信じて頑張るしかないすね
0463デフォルトの名無しさん (オイコラミネオ MM69-TfLj)
垢版 |
2022/10/28(金) 19:37:56.31ID:yAiIpvPxM
世の中にある事象をある程度プログラムできるようになったらそこでいったん終了
ゲームでも作ってコードが汚いけど確実に動かせるレベルだな

次は他人のプログラムを見て設計的なことを学んで理解できて自分で同じように書けるようになったら次も終了
0464デフォルトの名無しさん (ワッチョイ 6ebb-7TT9)
垢版 |
2022/10/28(金) 19:41:16.54ID:4sg0pV9K0
初学者のうちで一気に理解が深まったタイミングは
・デバッガが使えるようになった
・テストの必要性を感じて書いた
・リファクタリングできる気がしてやってみた
とかかなぁ

多分学習進度との関係もあると思うけど、思考が切り替わった気がした
0466デフォルトの名無しさん (ワッチョイ 7159-zh4g)
垢版 |
2022/10/28(金) 20:14:56.13ID:HG0H6tJb0
頑張ります
unityやってます

デバッグは確かに課題です
どの部分に問題があるか分からなくて1日潰れる
0469デフォルトの名無しさん (アウアウウー Sa9d-E6cl)
垢版 |
2022/10/29(土) 04:45:42.61ID:qpmL7ZAma
ゲーム開発者だけど仕様書なんて先ずの実装が終わったら最後に辻褄合わせする位だよ。放置も多々ある。
後半はデバッグで出たのを出来る限り潰すイテレーションなのでデバッガーとプログラマーのやり取りで終始する感じ。
期限も工数も有限なので落とし所が大事
0470デフォルトの名無しさん (ワッチョイ 3959-41VR)
垢版 |
2022/10/29(土) 06:52:55.09ID:K4cJTF5F0
プログラミンはどれだけきれいに書けるカノ勝負でもあるんでしょうか
整理整頓されていないと頭がこんがらがる
0471デフォルトの名無しさん (ワッチョイ 3959-41VR)
垢版 |
2022/10/29(土) 07:24:30.88ID:K4cJTF5F0
>>467
問題の特定
これですね 当面の課題は
0473デフォルトの名無しさん (ササクッテロリ Spc5-KGDB)
垢版 |
2022/10/29(土) 11:07:47.06ID:FxlbVrY8p
>>470
コーディングが綺麗かってのと
構造が綺麗かってのはイコールじゃ無いからなぁ
0476デフォルトの名無しさん (ワッチョイ 4907-gxoH)
垢版 |
2022/10/29(土) 11:52:43.38ID:AHyDFjq20
クラスかタプル作ってオブジェクトの配列にすればいいのにやつら平気で複数の配列を使うし何でもかんでもシングルトンにするしそれ継承しなくていいだろってやつ継承するしnullチェックしないしバグ有りの同じコードを関数に切り出さずいくらでもコピペするしUnityのC#はマイクロソフトのC#のサブセットと信じてUnity関連以外の情報信用しないし
0477デフォルトの名無しさん (ワッチョイ d935-uirP)
垢版 |
2022/10/29(土) 12:32:34.34ID:GsZMr1/10
静的クラス=イングルドンでしょうか?
0478デフォルトの名無しさん (アウアウウー Sa9d-Tk+f)
垢版 |
2022/10/29(土) 12:36:23.71ID:D1cycp0Sa
プログラミング関連情報サイトは、自分の勉強がてらそれをネタに記事書いてるのが多いからな
言い方変えると初心者が記事書いてるからそんな情報ばっかになるんだよ
0479デフォルトの名無しさん (アウアウウー Sa9d-uirP)
垢版 |
2022/10/29(土) 12:39:55.27ID:QGEirdnxa
>>476
小規模ならそれで十分
そんなところでわざわざガチる必要ない
0482デフォルトの名無しさん (ワッチョイ d935-uirP)
垢版 |
2022/10/29(土) 12:44:07.64ID:GsZMr1/10
>>480
なぜシングルトンのほうは静的クラスではいけないのでしょうか?
0483デフォルトの名無しさん (アウアウウー Sa9d-gxoH)
垢版 |
2022/10/29(土) 12:46:14.79ID:rhy5a3mta
>>482
そりゃそういう要件だからとしか
例えば上で上げたのはインターフェイスを実装してるだろ?
インターフェイスがインスタンスメソッドを要求してるからインスタンスを作らざるを得ない
0484デフォルトの名無しさん (ワッチョイ d935-uirP)
垢版 |
2022/10/29(土) 12:56:28.03ID:GsZMr1/10
>>483

他にも静的クラスではなくシングルトンでないといけないケースはありますか?
0485デフォルトの名無しさん (アウアウウー Sa9d-gxoH)
垢版 |
2022/10/29(土) 13:21:19.43ID:rhy5a3mta
その二つならインスタンスが必要かどうかで全て言い表せるんじゃね
Unity界隈だとインスタンスを見失うからという間抜けな理由でシングルトンもどきを量産してるけどそういうのは普通引数で渡したりサービスプロバイダを使う
これらを使えばわざわざシングルトンとして設計する必要がない
0486デフォルトの名無しさん (ワッチョイ d935-uirP)
垢版 |
2022/10/29(土) 14:43:07.27ID:GsZMr1/10
0487デフォルトの名無しさん (ワッチョイ d935-uirP)
垢版 |
2022/10/29(土) 14:48:26.78ID:GsZMr1/10
「インスタンスが必要なケース」とは何でしょうか?
「インスタンスを見失う」とはどういう話でしょうか?
0488デフォルトの名無しさん (ササクッテロリ Spc5-KGDB)
垢版 |
2022/10/29(土) 14:57:46.59ID:QL9IPKDOp
どこからでもすぐ呼べる便利クラス…にしたいけど
ぶら下がってるものがたくさんあるからインスタンス渡しでシングルトンなんじゃね?
使う側に配慮してんのさw
0489デフォルトの名無しさん (ワッチョイ d935-uirP)
垢版 |
2022/10/29(土) 14:58:56.82ID:GsZMr1/10
public class Singleton {
 public string Name { get; set; } = "HAGE";
 private static Singleton singleton = new Singleton();
 private Singleton() {}
 public static Singleton GetInstange() { return singleton; }
}


var singleton = Singleton.GetInstance();
var name = singleton.Name;

↑このようなものはシングルトンを使わずに、


public static class NotSingleton {
 public static string Name { get; set; } = "HAGE";
}

var name = Singleton.Name;

↑このように静的クラスにすればいいと思うのですがシングルトンが必要な「インスタンスが必要」というのはどういうケースでしょうか?

シングルトンで保持するオブジェクトのクラスが他の設計者のものならこのようにはできないと思いますが、シングルトンのクラス自体のオブジェクトを保持するのであれば使い方も自分で決められるのでシングルトンにする必要性が分からないです。
そのようなケースでは使ってないという認識で合ってますでしょうか?
0490デフォルトの名無しさん (ササクッテロリ Spc5-KGDB)
垢版 |
2022/10/29(土) 15:08:48.66ID:QL9IPKDOp
静的クラスで唯一無二ならそれがシングルトンやろい
0491デフォルトの名無しさん (ササクッテロリ Spc5-KGDB)
垢版 |
2022/10/29(土) 15:10:32.88ID:QL9IPKDOp
静的クラスだけどインスタンス管理を独自でやって別オブジェクトを配るのはファクトリーだっけ?
0492デフォルトの名無しさん (テテンテンテン MMeb-gcVw)
垢版 |
2022/10/29(土) 15:37:22.23ID:lV3hVGRgM
>>489
結果的にシングルトンにする場合でもそれを使う側はそれがシングルトンだと意識しない方が後で変更する時に助かる
そのためにはインスタンスが必要

class Foo : IFoo {
private IBar bar;
public Foo(IBar b) => bar = b;
public void DoSomething() => bar.Hello();
}

class BarSinglton : IBar {
private static BarSingleton Instance { get; } = new BarSingleton();
public void Hello() => Console.Write("world");
}


var foo = new Foo(BarSingleton.Instance);
foo.DoSomething()

//////////////
class NewVersionBar : IBar {
public void Hello() => Console.Write("im not single");
}

var foo = new Foo(new NewVersionBar());
foo.DoSomething();

シングルトンじゃないのでFooは変えなくていい
シングルトンだとFooも書き換え必須
0495デフォルトの名無しさん (ワッチョイ 694f-8V2j)
垢版 |
2022/10/29(土) 15:45:47.27ID:pn62A2OL0
singleton とは、インスタンスを2つ以上作れらたら、マズイもの

よくあるのが、何々マネージャーみたいな管理オブジェクト。
管理者は1つで、その管理者が複数のインスタンスを作る。
この場合、管理者が2つあるとマズイ

1つしか存在してはならない、絶対的なもの。
神とか
0498デフォルトの名無しさん (ワッチョイ d935-uirP)
垢版 |
2022/10/29(土) 16:37:09.15ID:GsZMr1/10

静的クラスとするよりもインスタンス化してから利用するように設計するほうが色々とメリットがあるのですね
0501デフォルトの名無しさん (ワッチョイ fb66-Q7eZ)
垢版 |
2022/10/29(土) 18:02:09.38ID:laG6hjw40
文字列もクラスもメソッドも全てが数値のみで管理されており
その数値のみでソースが無いプログラムでも今日制定に
流れを変更できるようになったら一気に理解が深まる。

オブジェクト指向だ、関数型だ、設計がー、なんてのは
一番浅い層の肌の色ぐらいにすぎない。
0506デフォルトの名無しさん (ワッチョイ a95f-+CmJ)
垢版 |
2022/10/29(土) 21:38:27.72ID:/AmlPuyW0
>>505
コピペでわかるようなことを答えてるからでは?

俺オジサン側だけどあんまり悪い気がすること聞かれないぞ。聞かれた事しか話さなければ、案外聞いてくるよ。
「これ長いけど」って言ったら「今は良いです」とか言いよるけど、後で聞きに来たり。
関係性でしょこんなの。
0508デフォルトの名無しさん (アウアウウー Sa9d-na4+)
垢版 |
2022/10/29(土) 21:43:38.37ID:PVOoqMZaa
いま?
0513デフォルトの名無しさん (ワッチョイ b953-na4+)
垢版 |
2022/10/29(土) 22:25:09.72ID:GqvAAO/X0
図星突かれたので頓珍漢な返ししかできません
0520デフォルトの名無しさん (ワッチョイ b953-na4+)
垢版 |
2022/10/29(土) 22:43:50.83ID:/Mu6PCns0
ネット上でもわかるこのキモさ
リアルでも煙たがれてそう。
0527デフォルトの名無しさん (JP 0H6d-na4+)
垢版 |
2022/10/29(土) 23:24:53.08ID:FgOSZ1hPH
そんなんだからSESしかできないんだよ
もっと社会性を身につけないと
0529デフォルトの名無しさん (ワッチョイ 1301-cPfV)
垢版 |
2022/10/30(日) 00:17:02.57ID:+d9s9Afp0
今HTMLとCSSでゴリゴリやりながらアプリ作ってるけど正直めちゃくちゃめんどくさい
自由度はHTMLとCSSの方が高いのかもしれんけどXamlとC#のGUIの簡単さってすごいなって思った
0530デフォルトの名無しさん (ワッチョイ 9924-Tk+f)
垢版 |
2022/10/30(日) 00:58:04.31ID:lsOA6XTZ0
>>529
俺は最近逆の感想しか抱いてないな
HTML/CSSの方が楽に綺麗な外観作れるし何よりもjsが超楽に非同期使えて有難すぎる
C#もお手軽シングルスレッド非同期あれば良いのにな
Unityのコルーチンもjsと比べるとめんどすぎ
0531デフォルトの名無しさん (ワッチョイ 1301-cPfV)
垢版 |
2022/10/30(日) 01:14:27.44ID:+d9s9Afp0
>>530
await asyncじゃだめなの?
0532デフォルトの名無しさん (ワッチョイ a95f-+CmJ)
垢版 |
2022/10/30(日) 01:21:23.79ID:UmSlwLP00
HTMLとCSSが楽で良いと俺も思う。なんせ自分がやらなくてもデザイナーの人に入って貰えるし、それも単価が安いし。
最近はCSSも高級になったし、WebView2が使えるようになったのでかなり楽よね。
IEコンポーネント使わないといけないなら同意
0535デフォルトの名無しさん (ワッチョイ 1301-cPfV)
垢版 |
2022/10/30(日) 07:16:53.81ID:+d9s9Afp0
CSSも増えるくね?
今Wiki作ってるけどマジで思うような挙動しないわHTMLとCSS
divを左と右に分けるのでもfloat:leftとfloat:rightの2つのCSS書かんといけないの面倒くさすぎる
文字を下揃えにするのもverticalalignmentとかhorizontalalignmentとか手軽なのがない
0537デフォルトの名無しさん (ワッチョイ 1301-cPfV)
垢版 |
2022/10/30(日) 07:23:58.99ID:+d9s9Afp0
>>536
なんだ…知らないのか…
0539デフォルトの名無しさん (ワッチョイ a95f-tftq)
垢版 |
2022/10/30(日) 09:15:57.16ID:Ufi2KoCB0
>>535
今どきそんな太古の手段を発掘しつつわざわざ車輪の再発明をしているのはキミくらいのものであって、あえて言わせてもらうと、それらは文字通り「時間の無駄」でしかない

どうしても車両の再発明をしたいってことなら止めはしないけど、せめてモダンなCSSやフレームワーク等の「習作」として作成しよう
0541デフォルトの名無しさん (ワッチョイ a95f-+CmJ)
垢版 |
2022/10/30(日) 09:42:14.23ID:UmSlwLP00
IEコンポーネントじゃないならflexとgridかな。
IEコンポーネントはバグが多いからかなり辛い。float使うのもわかる。

この調子だとHTMLも文字列で作ってそう。
適当なフレームワークに乗せるのが良いよ。MVVMにできるし。
0544デフォルトの名無しさん (ワッチョイ 1301-cPfV)
垢版 |
2022/10/30(日) 10:37:52.27ID:+d9s9Afp0
>>541
flexは頭にもう一個div入れないといけないじゃん
0545デフォルトの名無しさん (ワッチョイ 1301-cPfV)
垢版 |
2022/10/30(日) 10:42:35.72ID:+d9s9Afp0
あとそんなもんネットに言え
こっちは色々調べながら最善の答え見つけとるんじゃ
0547デフォルトの名無しさん (ワッチョイ 1301-cPfV)
垢版 |
2022/10/30(日) 10:55:09.64ID:+d9s9Afp0
>>546
じゃあ何使うんだよ
0549デフォルトの名無しさん (ワッチョイ fbbc-T+yX)
垢版 |
2022/10/30(日) 11:53:13.28ID:anVeQi4K0
>>524
thx



HTML & CSS は確かに便利なんだけど、たまにやるときれいさっぱり忘れてて思い出すのに時間がかかるのが難点。
なんというかクセというか、コツというか、そういうのを思い出せないと思うままにならない感じ。
0552デフォルトの名無しさん (ワッチョイ c101-cPfV)
垢版 |
2022/10/30(日) 12:45:05.94ID:GxZBoAl/0
結論:XAMLとC#が最強
0555デフォルトの名無しさん (ワッチョイ a95f-+CmJ)
垢版 |
2022/10/30(日) 13:39:53.04ID:UmSlwLP00
>>544
入れれば良いのでは?
まあbodyもflexにできるけど。
上揃えも下揃えもflexの方が楽だけどなって。
xamlで言うFlexLayoutなので、多分こっちの方がxamarin以降のXaml移行組は楽だと思う。
0556デフォルトの名無しさん (ワッチョイ a95f-hZr9)
垢版 |
2022/10/30(日) 16:21:32.75ID:DkOekoOd0
HTML+CSSってブラウザエンジンが必要になるのが馬鹿らしい
0557デフォルトの名無しさん (アウアウウー Sa9d-uirP)
垢版 |
2022/10/30(日) 17:10:20.50ID:D3yBl/wLa
C#使ってる時点で利便性と引き換えに今時のパソコンなら問題ないと無駄を許容してるんだからそのくらい許容しろ
0575デフォルトの名無しさん (アウアウウー Sa9d-uirP)
垢版 |
2022/10/31(月) 00:35:16.24ID:X/NTMpPpa
マウンティングが多すぎるよな
もっと謙虚な人が増えてほしい
0583デフォルトの名無しさん (ワッチョイ d935-uirP)
垢版 |
2022/11/01(火) 22:32:56.88ID:emsrAW8N0
0584デフォルトの名無しさん (ワッチョイ 3959-41VR)
垢版 |
2022/11/02(水) 18:31:31.44ID:fNjoEkdJ0
関数を変数に入れるメリットってなんですかね
0586デフォルトの名無しさん (ワッチョイ 3959-41VR)
垢版 |
2022/11/02(水) 18:51:57.11ID:fNjoEkdJ0
了解す(´・ω・`)
動的というのが普通の関数との違いなのでしょうか
0587デフォルトの名無しさん (ワッチョイ 1379-VnIt)
垢版 |
2022/11/02(水) 19:57:15.27ID:54NxTXJm0
コールバック関数とか?

クリックしたら○○しろとか
ツリーノードは色を塗るとき□□の処理で塗れ

とかの○○や□□の処理をインスタンス毎に後から設定できる
0588デフォルトの名無しさん (ワッチョイ f97d-Osy4)
垢版 |
2022/11/02(水) 20:02:34.53ID:fWSRoPxp0
よく使うパターンは関数の引数に関数を渡すやつ
static void TripleCall(Action action){
action(); action(); action();
}
0590デフォルトの名無しさん (ワッチョイ 937c-HLP5)
垢版 |
2022/11/02(水) 20:45:43.92ID:qyHEkcPy0
WinFormsで自動でボタンを押した時の処理が追加されたりするけどそれも
結局はその関数をイベントリスナーに登録している(つまりイベントリスナーに追加するときに関数を引数にしている)
知らずに使っている事が案外あったりする
0593.NET MAUI HighScool (ワッチョイ 1301-cPfV)
垢版 |
2022/11/02(水) 21:35:00.76ID:v08tA7cv0
ラムダ式の話じゃないの?
0594デフォルトの名無しさん (ササクッテロリ Spc5-KGDB)
垢版 |
2022/11/02(水) 21:38:51.07ID:owhI4Qa1p
プロパティに式を仕込むと、思わぬ副作用があって詰むぞ
少なくとも中から呼ぶときくらいは実データにアクセスしようず
0597.NET MAUI HighScool (ワッチョイ 1301-cPfV)
垢版 |
2022/11/02(水) 23:25:22.77ID:v08tA7cv0
助けてくれうぜぇやつに絡まれたんだがHttpClientでjsでロードされる画像のURLを取得する方法ある?
プログラミングって実際もの作らないと身につかないよな
https://mi.5ch.net/test/read.cgi/news4vip/1667395380/
0599.NET MAUI HighScool (ワッチョイ 1301-cPfV)
垢版 |
2022/11/03(木) 00:33:32.59ID:LxUg3x+60
>>598
俺だけど?
それより絡んでくるやつのほうがウザくね?
0600デフォルトの名無しさん (ワッチョイ a95f-+CmJ)
垢版 |
2022/11/03(木) 01:17:54.26ID:M3w0A0V30
jsでロードされるってなんなの?どういうこと?
HTMLに書かれたJavaScriptを動かしてHTMLというかDOMを更新して結果表示される画像のURLを取得したいってこと?

HttpClientで取得したHTMLをWebViewなりで解釈して実行しないとダメでは?ならWebViewで直接やれよという話でもあるが。
JavaScriptだけでロードされてるわけでもないんだし。
0601.NET MAUI HighScool (ワッチョイ 1301-cPfV)
垢版 |
2022/11/03(木) 01:39:58.55ID:LxUg3x+60
>>600
多くの検索エンジンの画像検索は最初から全部画像を読み込むと膨大な量のデータをやり取りしないといけなくなりサーバーの負荷が大きくなるので
スクロールするとjsによりほしい分だけデータがロードされるというふうな実装になってる
俺はこういうサイトだとWebViewでjs使ってスクロールしてデータをロードさせてるんだけどこのクソうぜぇやつが言うにはそれはインスタントカレーで湯煎しかしてないゴミカスだと言ってくるわけ
0602デフォルトの名無しさん (ワッチョイ a95f-+CmJ)
垢版 |
2022/11/03(木) 01:44:02.63ID:M3w0A0V30
だから、それはJavaScriptだけではなくてDOMがないとあかんのではという話。
エンジンとして何を用意しないといけないか変わってくるじゃん。
(JavaScriptで画像を取得するロジックを走らせる、という言い方だと、プラグインシステムがJavaScriptでできてるとかそういう話になるんでは?)

スレ見てきたけど、そう言うところがダメなんじゃないの?
0603.NET MAUI HighScool (ワッチョイ 1301-cPfV)
垢版 |
2022/11/03(木) 01:47:04.02ID:LxUg3x+60
DOMじゃなくてRegexでhtmlのimgタグの中身取ってきてるんだが
たぶんこいつはDOMを使ってないDOM使ってたらもっと謙虚だろ
むしろこれでDOM使ってたらブチギレるわ
0604デフォルトの名無しさん (ワッチョイ d935-uirP)
垢版 |
2022/11/03(木) 02:24:14.27ID:rfkx/Wsp0
要はこのうざい奴はjavascriptでやってることを解析してC#するのがスマートだと言いたいんだろ
実際はアホな努力だが
0605デフォルトの名無しさん (ワッチョイ d935-uirP)
垢版 |
2022/11/03(木) 02:27:39.09ID:rfkx/Wsp0
つっても画像検索の読み込みくらいなら単純なのかもな
0607デフォルトの名無しさん (ワッチョイ 1301-pRvw)
垢版 |
2022/11/03(木) 08:34:14.06ID:NbsIPyEs0
>>561
ケースバイケース
よくあるのはその関数を多くの場所で使っててなんかの拍子にその関数をおっきに変更することが想定される場合
あとはその関数にわかりやすい名前をつけたい場合とか
0608.NET MAUI HighScool (ワッチョイ 1301-cPfV)
垢版 |
2022/11/03(木) 09:00:00.75ID:LxUg3x+60
>>604
だよな
なんでこいつはこれでイキってんのか不明
0612.NET MAUI HighScool (ワッチョイ fb01-cPfV)
垢版 |
2022/11/03(木) 12:17:32.39ID:Kj7ywx2W0
>>611
つまりこいつはDOMを使ってるくせにイキってたってわけか?
だっさw
0615デフォルトの名無しさん (ワッチョイ a95f-+CmJ)
垢版 |
2022/11/03(木) 12:39:09.32ID:M3w0A0V30
>>614
DOM APIを作るの?ちゃうでしょ…。

BlazorのうちWebなものはDOMを(もちろん内部的にはDOM APIを使って)作るけど、DOM APIを作ってるわけじゃ無いでしょ。

あくまでブラウザ、WebViewだったりWPFやXamarin.formsといった、レイアウトやレンダリングを行うエンジンへの架け橋で、そのレイアウト・レンダリングエンジンがWebViewなら、それはDOM APIを使って実現されると言う感じで。

これが俺が想定してたレンダリングエンジンで、その主語がデカかった理由。
0616.NET MAUI HighScool (ワッチョイ fb01-cPfV)
垢版 |
2022/11/03(木) 12:41:37.25ID:Kj7ywx2W0
つまりそのGoでスクレイピングを作ってる奴は結局ルウからカレー作ってるように見せかけてインスタントカレー作ってたってことだろ?
0617.NET MAUI HighScool (ワッチョイ fb01-cPfV)
垢版 |
2022/11/03(木) 12:42:38.00ID:Kj7ywx2W0
じゃあWebView使ってスクレイピングする方法と何ら変わらんだろって思ってブチギレるわけよ
あんだけ突っかかってきて作ったのインスタントカレーじゃんwってなるわけよ
0618デフォルトの名無しさん (ワッチョイ a95f-+CmJ)
垢版 |
2022/11/03(木) 12:44:00.31ID:M3w0A0V30
DOM → Document Object Modelなデータや構造
DOM API → Document Object Modelなデータや構造を操作するAPI群
という一般的な定義で話してる。

jsのライブラリで言えばparse5とかとjsdomの違いぐらいの話。jsdomがDOM APIを持ってるのが話がややこしい。
0619デフォルトの名無しさん (ワッチョイ a95f-+CmJ)
垢版 |
2022/11/03(木) 12:47:38.39ID:M3w0A0V30
>>617
何を怒ってるかわかんない。甘く見られたって事?
そんな事で怒らんでも良いじゃん。アホ過ぎるとこっちの話が理解できないこともあるよ。俺は計算資源さえ許せばちゃんとレンダリングした方がええでしょ、WebViewでもpuppeterとかでも。

うーん、jsとdomをエミュレートしてレンダリングするタイプは、要は突き詰めるとヘッドレスなブラウザを作ることと変わんなくなるので、確かに味は変わるが、ルーから作ると失敗するぞ言いたい。
0621デフォルトの名無しさん (アウアウウー Sa9d-gxoH)
垢版 |
2022/11/03(木) 12:49:54.05ID:irjlHMAba
>>615
何を言ってるんだ
スクロールに従って画像を表示するのにDOMは使わないって話をしてるんだよ
<img src=@(img)/>と書きゃimg変数のURLにある画像が表示される
画面に表示されるとこだけそのタグを作る
タグを作るのにDOMは使わない
そういう話だ
0622デフォルトの名無しさん (ワッチョイ a95f-+CmJ)
垢版 |
2022/11/03(木) 12:55:41.20ID:M3w0A0V30
>>621
え?何言ってるの?「DOM APIが何かわかってる?」に対して「Blazorはそれを…」の返事に「違うよ」って返したんじゃん?

しかも、結局それBlazorはDOM APIを使って画面に表示するところだけそのタグ作ってるからね。
0624.NET MAUI HighScool (ワッチョイ 0901-cPfV)
垢版 |
2022/11/03(木) 13:01:54.15ID:fiCeisHS0
>>623
だからSelenium使わずにWebViewでやったらキチガイがSeleniumやWebViewは初心者wとか言って絡んで来たんだが
0625デフォルトの名無しさん (アウアウウー Sa9d-gxoH)
垢版 |
2022/11/03(木) 13:06:30.69ID:irjlHMAba
読む気にもならんから知らんが初心者が初心者向けの方法を使って悪いことは何もあるまい
お前が上級者だと言うなら他のやり方を気にせず上級者のテクニックを使ってスクレイピングとかいう糞みたいな作業を続ければいい
0626.NET MAUI HighScool (ワッチョイ 0901-cPfV)
垢版 |
2022/11/03(木) 13:09:44.54ID:fiCeisHS0
>>625
バカにされたままだとうぜえからこのスキル使えるようになりたいと思ったがなんか無理そうだな
0628.NET MAUI HighScool (ワッチョイ 0901-cPfV)
垢版 |
2022/11/03(木) 13:09:55.62ID:fiCeisHS0
>>627
なぜ?
0632デフォルトの名無しさん (テテンテンテン MMeb-JIU8)
垢版 |
2022/11/03(木) 13:41:07.19ID:x8JkO9N7M
ていうかさあ
よそのスレで起こした(しかもお前が立てたスレの)揉め事をこのスレに持ち込んで助けを求めるようなことするなよ
ここで付け焼刃の知識を仕入れて建てたスレでイキりたいんだろうけど
そんなことやってて恥ずかしくないの?
0633.NET MAUI HighScool (ワッチョイ c101-cPfV)
垢版 |
2022/11/03(木) 13:44:22.86ID:ymgDfjLU0
>>632
俺は恥ずかしくないよ?
0637.NET MAUI HighScool (ワッチョイ c101-cPfV)
垢版 |
2022/11/03(木) 15:12:06.23ID:ymgDfjLU0
なんで俺は.NET MAUIの地位向上に努めてるのに避難されなきゃいけねぇんだ
0638デフォルトの名無しさん (ワッチョイ 8bbb-/OGx)
垢版 |
2022/11/03(木) 15:34:50.67ID:WOBTUDvw0
>>628
・まともなクローラーが作れない
・テストを知らないから、未完成状態でサイトに頻繁にアクセスする
・例外処理の設計ができていないから、サイト側からフィルタされてもアクセスし続ける

結果:監視カメラの前で裸踊りしてる様子を記録されていることに気が付かない

スクレイピング対象になりえるサイトのデータの二次利用は民法的に大体アウト(良くてグレー、真っ白は基本的にありえない)
そのクソみたいなアクセスのせいで、サーバリソース追加しなきゃならんケースがあるからサイト側からすると迷惑でしかない
0639デフォルトの名無しさん (ワッチョイ 1302-Ojdt)
垢版 |
2022/11/03(木) 15:37:50.67ID:2Kw6fOvE0
散々イキりまくった挙句技術力不足で他人を頼ってくるとか情けなさすぎる
MAUIの地位を貶めるためにやってるんじゃないなら相当やばい
0649.NET MAUI HighScool (ワッチョイ 1301-cPfV)
垢版 |
2022/11/04(金) 20:50:56.37ID:OnPQoW1c0
.NET 7いつ降りてくるんだ?
0653デフォルトの名無しさん (アウアウウー Sa9d-uirP)
垢版 |
2022/11/04(金) 21:57:15.77ID:8LyOgWL1a
タプルってディクショナリーで複合キーみたいに使えるんかね
dict[("aaa",1)]=456.8
0658デフォルトの名無しさん (スッップ Sdb2-yfbC)
垢版 |
2022/11/05(土) 08:08:07.32ID:qYBt5eWid
「何をするプログラムなのか」「なぜこうするのか」といった仕様や意図を自然言語で分かりやすく正確に記述できる能力は重要
一般に日本人はそれを苦手とする者が多く、安易に図表に頼ったり、
自然言語で書くとなるとプログラムと逐次対応するような低レベルな記述(実質的にExcel方眼紙上でコーディングしているだけ)をする傾向がある
0662デフォルトの名無しさん (ワッチョイ 0941-BZ5V)
垢版 |
2022/11/05(土) 08:43:50.98ID:3YlQFQnT0
質問者は投稿する前に、自分の質問をよく推敲しろよ。これはC#初心者以前の問題だ。
文章が意味不明で相手に伝わらず、あほな質問だと思われたらそれなりの答えしか返って来ないぞ。
0663デフォルトの名無しさん (オイコラミネオ MM91-zlm6)
垢版 |
2022/11/05(土) 09:40:58.84ID:yYAK326QM
>>657
大事ではないけど

言語化と言うかもともと何をしたいのかと言うことがはっきりしていて
それをコードに落とし込んでいるはず

ところが後でコードからその何をしたいかが読み取れない場合があるので
おおまかなコメントなどを残すことになる
細かく内容を記述するのは無駄だしコードを手直しするたびに書き換えるのは無理だ

フローチャートは階層が深くなる複雑な制御構造になる場合に脳で追いきれなくなる場合に描いたりすると便利なんだろうけど
大体みんなちゃんとしたものじゃなくて流れを落書きする程度だと思う
0666デフォルトの名無しさん (ワッチョイ 6107-Aj/S)
垢版 |
2022/11/05(土) 17:53:52.87ID:zg6rbg9v0
フローチャートなんてアセンブリ言語でしか使わんぞ
もしかしたらCでギリギリ使うこともあるかもしれんがオブジェクト指向言語では必要ない
オブジェクト指向言語でフローチャート使わなきゃならんとしたらその前にまずオブジェクトの設計がおかしい
0667デフォルトの名無しさん (ブーイモ MMa6-DHtG)
垢版 |
2022/11/05(土) 18:13:19.21ID:jSE+d3f7M
>>664
Whatもコードで表現しようぞ
0674デフォルトの名無しさん (ブーイモ MM96-DHtG)
垢版 |
2022/11/05(土) 21:50:02.83ID:mwXpY34pM
>>668
HowだけでなくWhatもコードで表現しようとするのと宣言的プログラミングはちと違うんだが
いずれにしても重要なのは「仕様のWhat」を「コードのWhat」として対応付けること
0678デフォルトの名無しさん (ワッチョイ b5da-zYAD)
垢版 |
2022/11/06(日) 00:37:13.40ID:zZNJQBYc0
>>675
使用環境条件が厳しい

コード マップを使用して依存関係をマップする
https://learn.microsoft.com/ja-jp/visualstudio/modeling/map-dependencies-across-your-solutions?view=vs-2022

>コード マップの作成および編集には、Visual Studio Enterprise エディションが必要です。
>ただし、Visual Studio Community および Professional エディションでは、Enterprise エディションで
>生成されたダイアグラムを開くことはできますが、編集することはできません。
0679.NET MAUI HighScool (ワッチョイ 9201-84Ua)
垢版 |
2022/11/06(日) 00:58:03.81ID:Am1kuzif0
.NET 7についての前情報得てるやついる?
どんな感じなんだろ?
0680デフォルトの名無しさん (アウアウウー Sacd-hcl2)
垢版 |
2022/11/06(日) 02:59:28.10ID:3Vlqt+cVa
質問です。
構造体を使っていて関数内でnewしてそこで使い終わる(ボクシングしない)場合は、stackに乗るだけなので、heapは汚さないしgcには影響無い認識でいいですよね?ゲームを作ってるのでgcの影響を少なくしたいんです。
0681デフォルトの名無しさん (ラクッペペ MM96-zDmT)
垢版 |
2022/11/06(日) 07:14:57.83ID:t/MPMTDqM
構造体でもインスタンス生成してる時点でガベージコレクションの対象
.NETでは値型であろうが参照型であろうがすべての変数は監視下に置かれる
ボクシングは値型の変数を参照型(object型)変数に代入する時に一時インスタンスを生成して値をコピーして渡す機能なので全く関係ない話
0684デフォルトの名無しさん (ブーイモ MMad-yfbC)
垢版 |
2022/11/06(日) 09:45:40.42ID:OgJKt7GdM
ただし、もちろん値型の変数を使ったらその先が全てGCの追跡の対象外になるわけではなくて、値型に定義された参照型の変数はGCの追跡対象となる。
上に述べた通り値型は単なる埋め込みのメモリのデータ構造なので、それ自体は単にGCをバイパスする。
そして、最終的にメモリ上に展開された構造のうちで参照型の変数だけが追跡対象となるわけ。
0686デフォルトの名無しさん (ワッチョイ b5da-zYAD)
垢版 |
2022/11/06(日) 09:54:44.02ID:zZNJQBYc0
値型のintでも実際はSystem.Int32構造体のインスタンスではなかったっけ?
MaxValue、MinValueなどのプロパティやToString()などのメソッドが使えたはず
値型の変数でもGCが追跡しているのでは?
0687デフォルトの名無しさん (ブーイモ MMad-yfbC)
垢版 |
2022/11/06(日) 09:57:00.84ID:OgJKt7GdM
>>685
構造体のnewは、スタック又はそれを保持する参照型オブジェクト上に事前に確保された領域に対し、コンストラクタをインプレースで実行する
新たなインスタンスを生成している訳ではない
0691デフォルトの名無しさん (ワッチョイ 0935-8IBJ)
垢版 |
2022/11/06(日) 12:23:04.83ID:eRXytuty0
>>681のしったか具合がやばい
0694デフォルトの名無しさん (ブーイモ MMad-yfbC)
垢版 |
2022/11/06(日) 13:54:54.11ID:FxP86aLpM
>>693
この記事では、そもそもなぜ再帰的な定義になっていて、それがどのように機能するかの説明にはなっていないような
C#のintやInt32型の変数は、実際にはどちらもILのプリミティブ型であるint32型にコンパイルされるんだよ
つまりInt32をint32型のフィールド一つだけを持つ構造体として定義してやれば、Int32とint32のメモリ上のレイアウトが同一になる
あとはコンパイラの型チェックを細工して、それらを区別しないようにしてやればよいというわけ
0696デフォルトの名無しさん (ワッチョイ 9e2d-Bim8)
垢版 |
2022/11/10(木) 02:43:44.58ID:nQDHqGzi0
TwitterのAPIからツイートを取得し、それを保存する方法について知恵を貸してください
現状テキストファイルに以下のように保存しています
ツイートID||kugiri||ユーザID||kugiri||日付||kugiri||本文||kugiri||未読フラグ||kugiri||保護フラグ
これをString.Splitで配列にしています

問題は||kugiri||とツイートされるとデータが壊れます
実際は||kugiri||ではなくもうちょっと長い記号の羅列ですがどうしても万が一という不安が残ります

こういうデータはXMLで保存するものなのでしょうか
その際「<Honbun>本文</Honbun>」のように保存されると思いますが
「07214545</Honbun>hoge」などXMLのコードが含まれるツイートをされても壊れないものですか?

保存時に本文だけBase64等にするか全てバイナリで保存も考えましたが、ファイルを直接開いて検索したりできないのも不便です
あとは本文をデータの末尾にしてString.Splitを使わずに1つずつ配列に戻すか
データ量は20,000件程度です、他によい方法がありましたらアドバイスおねがいします
0697デフォルトの名無しさん (ワッチョイ b18e-ly3j)
垢版 |
2022/11/10(木) 03:37:46.97ID:+sVvBbXs0
>>696
その程度のことで人に聞くならプログラムなんかするな




と言いたいところだが



タブで区切れ
0698デフォルトの名無しさん (ワッチョイ 9e2d-Bim8)
垢版 |
2022/11/10(木) 05:44:42.33ID:nQDHqGzi0
>>697
ツイッターとか5chとか不特定多数のユーザが書き込みをできるシステムで
タブは絶対にユーザーが埋め込むことができない文字ということですか?
0699デフォルトの名無しさん (ワッチョイ 0935-8IBJ)
垢版 |
2022/11/10(木) 07:09:23.51ID:m98zu82a0
適当なで区切る
データにその記号があればエスケープしておく
0700デフォルトの名無しさん (ワッチョイ 9e2d-Bim8)
垢版 |
2022/11/10(木) 07:45:50.73ID:nQDHqGzi0
>>699
例えば|chinko|という区切り文字を使っている場合にユーザーが|chinko|と書き込んだ場合
APIから取得時に|ちんこ|と置き換えておくと言う事ですね、表示するときには|chinko|に戻すと
現状改行コードを置き換えて保存しているので、そこにまとめて組み込めば楽そうです
0702デフォルトの名無しさん (ワッチョイ 515f-HFId)
垢版 |
2022/11/10(木) 08:34:01.14ID:9mQBoBy40
>>696
もしよろしけば下記について教えてほしい
その上で「JSON形式ではダメな理由」があるなら、それも教えて

1. 「保存」の目的(保存したデータの利用目的)
2. 現状の保存形式を選択した理由
0704デフォルトの名無しさん (スップ Sd12-yfbC)
垢版 |
2022/11/10(木) 09:13:17.40ID:TJ0qCovBd
ファイルに保存する際の定石をよく分かってないだけでしょ
JSONやXMLでもいいけど、この場合普通に一つのツリーとして書き出すと追記できなくて不便そうだから、JSON Linesがお勧めだな
Excelなどで表として扱いたいならCSVでもいいがJSON Linesよりはフォーマットにバリエーションがあるから考慮すべきことは多くなる
0706デフォルトの名無しさん (アウアウアー Sac6-M3Dd)
垢版 |
2022/11/10(木) 10:19:10.77ID:24bGZvg4a
最近学びはじめてC♯ではメインメソッドを省略できるということで楽だなーと思っていたら関数のオーバーロードのところでエラーが出てしまいました
従来通りクラス名とメインメソッドを書くやり方だと普通に出来たのでローカル関数(オーバーロードできない?)として認識されているためエラーが出てるという認識で合っていますか?
メインメソッドを省略した場合どうやってもオーバーロードできないのでしょうか?
0708デフォルトの名無しさん (アウアウウー Sacd-obsI)
垢版 |
2022/11/10(木) 11:17:10.46ID:eH71UEsUa
>>700
違う、それだと |ちんこ| と書き込んだら |chinko| になっちゃうだろ
|chinko| と書き込まれてたら |エスケープ||chinko| にして、表示する時に |エスケープ||chinko| を |chinko| に戻す
ただこれだと |エスケープ||chinko| って入力されたら |エスケープ| が無くなっちゃうから |エスケープ| 自身もエスケープして |エスケープ| が来たら |エスケープ||エスケープ| にして、表示時に |エスケープ||エスケープ| を |エスケープ| に戻す
※ |エスケープ||chinko| の保存データは |エスケープ||エスケープ||エスケープ||chinko| になる

まあ>>703の言う通りオレオレエスケープは知識としては知っておくべきだけど自前で実装するよりライブラリ等に頼った方がいいと思うよ
0709デフォルトの名無しさん (アウアウアー Sac6-M3Dd)
垢版 |
2022/11/10(木) 12:01:29.52ID:24bGZvg4a
>>707
ということはオーバーロードを使いたい場合トップステートメントのあとにクラスやら定義してから関数作るか別のファイルで作って呼び出すしかないという認識でいいですか?
0711デフォルトの名無しさん (アウアウアー Sac6-M3Dd)
垢版 |
2022/11/10(木) 12:55:47.41ID:24bGZvg4a
>>710
なんかどうなのかな?ってもやもや気になってしまって
教えてくれてありがとうございましたスッキリしました!
0712デフォルトの名無しさん (ブーイモ MMad-DHtG)
垢版 |
2022/11/10(木) 15:17:52.70ID:F9S+K/27M
CSVのreader/writerは標準では無いんだね
0716デフォルトの名無しさん (ワッチョイ 0935-8IBJ)
垢版 |
2022/11/10(木) 20:27:59.70ID:m98zu82a0
5chのDATのようにHTMLエンコードして改行を<br>で置き換えたものを<>で連結するフォーマットは何気に簡単でいいね
0722デフォルトの名無しさん (ワッチョイ a2bd-+nMC)
垢版 |
2022/11/11(金) 16:29:42.18ID:WVb8D07I0
初めまして。
.NetCoreでコマンドラインみたいな改行させながらのログ表示をさせようと思ったのですが、どんなコントロール使えば良いのでしょう? 出来れば履歴遡れるようにスクロールバー付きで。
ラベルもテキストボックスもうまく表示してくれない・・・shownイベント以下に書いたからかな。
0725デフォルトの名無しさん (ササクッテロリ Sp79-uppo)
垢版 |
2022/11/11(金) 18:11:52.32ID:FjpNhKohp
ただのテキストボックスとかラベルだと
そのとき持ってるテキストしか表示しないから
アペンドしてくしか無いんじゃね?
0726722 (ワッチョイ a2bd-+nMC)
垢版 |
2022/11/11(金) 18:23:04.48ID:WVb8D07I0
 反応ありがとうございます。
>>723
 WinForm使っています。
 ・・・と、プロジェクト作成時に指定したと思ったのですが、プロジェクのプロパティを確認したら少し違っていました。
 Windowsフォームなのは間違いないですが、.NetCoreではなく.Net6.0でした。
 .NetとかCoreとかframewaorkとか、まだよく分かっていません。取り敢えず.Netにしとけって感じみたいですが。
 WPFはまだ私には早いらしいから避けて通ろうと思います。

>>724
 Form.Textは望んだ通りに表示されたのですけどねw
 当初 public Form1()の InitializeComponent();以下に記述していたのですが、処理が全部終わってからForm作画に入るのでShownイベントに移動したのですが・・・念を入れて配置した中断ボタンも作画されず穴開き状態で、ShownはFormの配置が終わった直後であって総ての配置が終わった跡ではないって事ですかね。 私が書いたのは読んだファイルを加工して別ファイルに書き出している程度のモノなのですが、普通の処理はどこに置けば良いんでしょうね。 要勉強なり。


#よく分からないまま入門しているから、一つの質問の不明部分を細く要件定義していくと目も当てられない長さになりますね・・・。
0728デフォルトの名無しさん (アウアウウー Sacd-8IBJ)
垢版 |
2022/11/11(金) 18:38:29.81ID:k1VRcWZVa
キモイインデント
0730722 (ワッチョイ 03bd-EHNx)
垢版 |
2022/11/12(土) 06:25:09.95ID:gXw8amZq0
>>729
 ボタンスタートと言う方法なら今の実力でも綺麗に収まると思うのですが、D&Dかダブルクリックで起動したら後はノンストップで処理してひっそり終了してもらいたいので、ボタンでワンストップは仕様として煩わしい。
 と言う美学的な理由でやろうとしないのでした(^^;
>>725 改めまして。
 実装してみました。
 TextBox.Text += newword;的な記述をして痛い目を見ました。 TextBox.AppendText(newword);としないといけないんですね。
 ついでに初期設定で TextBox.ScrollBars = ScrollBars.Both;でスクロールバーも付けました。
 buttonは機能しないのに、TextBoxは問題なく機能していますね。何故だろう。
 早くshownからどっかに移動しないとですね。
0731デフォルトの名無しさん (ワッチョイ 7501-zkEE)
垢版 |
2022/11/12(土) 09:45:26.79ID:zAtFaE7C0
スタンドアローンなアプリで、アプリの起動をパスワード保護したいのですが、ILSpy等で丸見えにならない程度の強度を持つにはどのような方法がありますか?
0736デフォルトの名無しさん (ワッチョイ b507-z+Fy)
垢版 |
2022/11/12(土) 12:12:52.85ID:bRljaFHR0
>>731
んなもんローカルに全てのデータがある時点で何しても無駄
ILだけ対策すればいいならネイティブコンパイルすればいい
そうすりゃ他のネイティブアプリと同じく機械語になるから
0744デフォルトの名無しさん (ワッチョイ e535-3ACM)
垢版 |
2022/11/12(土) 15:00:47.68ID:Y/i2pfZ30
>>734で良くね?
0747デフォルトの名無しさん (ワッチョイ e579-vnW9)
垢版 |
2022/11/12(土) 15:11:29.38ID:c/ILT9OL0
まあ>>736の言う通りで
結局現行の高価な商用アプリはほぼシングルユーザーライセンスに移行してるし
今時ネットに繋いでないなんてありえないからKMSみたいに一定期間で認証させるとかだな
実行したらメモリに全部展開されるしそこ覗かれるようならローカルのファイルをいくら細工しても無駄だよ
0749デフォルトの名無しさん (ワッチョイ e579-vnW9)
垢版 |
2022/11/12(土) 15:16:20.60ID:c/ILT9OL0
>>730
まずWindowsのGUIの基礎を確認した方がいいよ
メッセージループの仕組みやformの作成から表示までにどのイベントがどういう順序で呼ばれるかとか
shownのタイミングで設定が必要な場合もあるけど質問の内容はloadの段階で片がつくんじゃないかね
0753デフォルトの名無しさん (ワッチョイ e535-3ACM)
垢版 |
2022/11/12(土) 16:04:56.79ID:Y/i2pfZ30
どうって普通にパスワード置くだけじゃね
0755デフォルトの名無しさん (ワッチョイ e535-3ACM)
垢版 |
2022/11/12(土) 16:29:23.68ID:Y/i2pfZ30
0756デフォルトの名無しさん (ワッチョイ 4bbb-vnW9)
垢版 |
2022/11/12(土) 16:39:07.13ID:ZNG2TRSk0
こんな感じで良いんじゃない?

・パスワードが保存されてるか確認
・パスワード入力
・ハッシュ値を比較
・(OK)ログイン/平文パスワードを適当に保存
・(NG)リトライ

次回以降
・保存されたパスワードとハッシュ値を比較
・(OK)ログイン
・(NG)パスワードファイルを消してリトライ

ハッシュ値の生成はレインボーなやつとか総当りとかまでは対策しときたいかなぁ
パスワード検証用によく使われるアルゴリズム使用して、saltでゲタ履かせてストレッチングで処理時間の確保ぐらいはしときたい

バイナリいじるやつまで考えると全然対策にならんけどねぇw
0757デフォルトの名無しさん (ワッチョイ e535-3ACM)
垢版 |
2022/11/12(土) 16:44:03.53ID:Y/i2pfZ30
Linuxはどうしてるんだろう
0764デフォルトの名無しさん (ワッチョイ 4bbb-vnW9)
垢版 |
2022/11/12(土) 18:17:21.03ID:ZNG2TRSk0
>>762
ハッシュ値にこだわるなら、ストレッチングの回数を適当に減らしたハッシュ値を保存→次回以降は減らした回数ストレッチングして検証。でも良いと思うけど、すでにユーザの手元にパスワードがある前提のスタンドアロンアプリだからねぇ

適当なトークンの作成ロジックが隠せない以上平文で良いと思う
平文が嫌なら、毎回パスワードを聞く感じかなぁ
0765デフォルトの名無しさん (ワッチョイ e535-3ACM)
垢版 |
2022/11/12(土) 18:49:41.37ID:Y/i2pfZ30
ハッキングでもされなきゃローカルに保存したパスワードなんて流出しないやろ
0766デフォルトの名無しさん (ワッチョイ ed02-SGX1)
垢版 |
2022/11/12(土) 18:53:34.55ID:lzvWNBzY0
ローカルで動作するアプリは、極論言ってしまうと労力惜しまなければどうやってもクラッキング出来てしまうからなぁ
ドングルみたいなハードウェアや、ネットワーク認証挟むとかなり強固にはなるけど
結局のところ、どこまでの強度が必要かって話になる
0768デフォルトの名無しさん (ワッチョイ e535-3ACM)
垢版 |
2022/11/12(土) 19:00:47.98ID:Y/i2pfZ30
ユーザーが保存したキーの窃取とアプリのキーの解析を混同してる奴いそう
0770デフォルトの名無しさん (ワッチョイ b507-z+Fy)
垢版 |
2022/11/12(土) 19:47:44.72ID:bRljaFHR0
その程度を求めてるならネイティブコードにコンパイルすればいいんだって
逆アセンブルで丸見えだけどな
なぜかILだけ逆アセンブルできると思ってるやつ時々いるよな
0772デフォルトの名無しさん (ワッチョイ e535-3ACM)
垢版 |
2022/11/12(土) 19:57:28.32ID:Y/i2pfZ30
バイナリ改変したら動かないようにできないの?
0784722 (ワッチョイ a3bd-EHNx)
垢版 |
2022/11/13(日) 06:22:17.77ID:TFN9Og8f0
>>749 見落としていました。申し訳ございません。
 確かに、基礎的な所は全然分かっておりません。
 WINDOWS環境では、C+DXライブラリしか経験ないものでして。 あとHSP。
 C#の入門サイトでWINの基礎を抑えている所にまだ当たっていないというのもあります。
 と言うか、多分その基礎が身に付いたらここで質問せず教える立場だろーなーと思いますw
 WINDOWSの基礎からC#のWinFormを入門してコントロールの制御以上に踏み込んでいるサイトがありましたら、紹介よろしくお願いします。

 少し報告。
 shownイベントが駄目なら、Main()に書き足せば良いんじゃね?とProgram.csを探し出してshownから移植しようとしてみました。
 クラスをよく分かっていないのでpublic static void body()とか理解もしていないのにテキトーなキーワードを散りばめてメンバーを書き足したのですが、そこからだとコントロールが一切見えないっぽいので諦めて元に戻しました。
 D&Dと単独実行(コマンドライン引数とカレントのファイル検索からのファイル取得)からのノンストップなスムーズ実行を実現したいからbutton以下に収めない記述を探しているのですが・・・まさかチュートリアルが見付からないとか、戸惑っています。
0786デフォルトの名無しさん (ワッチョイ 4bbb-vnW9)
垢版 |
2022/11/13(日) 07:30:57.54ID:BdGTc1Dp0
>>782
確かに >>741 のままだとちょっとまずいですね
仕組みがバレてれば、ユーザが任意のパスワードでzipファイル作って簡単に置き換え可能なので

方向性は好きだけど、もうちょっとねる必要ありですね
0789デフォルトの名無しさん (ワッチョイ 4bbb-vnW9)
垢版 |
2022/11/13(日) 08:52:02.92ID:BdGTc1Dp0
まぁ、何を脅威としてみなすか、どこまで許容するかですよね
俺が提案したハッシュ値での検証もアルゴリズムばれ、ハッシュ値ばれまでは大丈夫だけど、書き換えには無力だし

ともあれ、個人的には面白い話題だったわ
0790デフォルトの名無しさん (アウアウウー Saa9-z+Fy)
垢版 |
2022/11/13(日) 09:04:58.19ID:6eP485iya
この質問者の場合は知らんけどユーザーがパスワード入力を許せるくらいの良いソフトを作ってから言えと言いたくなる事例が割とある
まず使ってもらうハードルが高いのに余計なことしなくていいんだよ
気に入ったユーザーは自然と財布が緩むからより便利になる機能をプラグインで販売すりゃいい
0794デフォルトの名無しさん (アウアウウー Saa9-z+Fy)
垢版 |
2022/11/13(日) 09:51:17.84ID:93KwHlO1a
なんかこのスレ上から見られてるんじゃないかといつもビクビクしてる妙に卑屈なやついるな
それ多分初心者だから自信がないんじゃなく何年やっても初心者だから自信がないんだぞ
普通初心者なんて三ヶ月で卒業するから学ぶのに精一杯で卑屈になってる暇なんかないわ
0795デフォルトの名無しさん (ワッチョイ 4bcf-IBSA)
垢版 |
2022/11/13(日) 10:09:47.66ID:2jgXqyDd0
>まず使ってもらうハードルが高いのに余計なことしなくていいんだよ

このセリフは「良いソフトを作ってから言えと言いたくなる事例」の本人に言ってやれってことだろ。
0797デフォルトの名無しさん (ブーイモ MM39-5kBA)
垢版 |
2022/11/13(日) 12:15:05.54ID:eEed0M79M
>>791
いつもの人だよww
最近は質スレで暴れてたからこっちが平穏だっただけ
0803デフォルトの名無しさん (ワッチョイ 2301-BvCT)
垢版 |
2022/11/14(月) 17:01:48.00ID:p8dKwuQs0
すみません。
.NET MAUIなのですがページのナビゲーションでパラメーターを渡す処理を作ったのですが、
うまく表示されません。
ブレークポイントを使うと以下のような形になり少しおかしいです。
プロパティSendModelを作成するところでブレークポイントを持ってくるとちゃんと変数が渡されているのに対して
イニシャライズコンポーネントをした後にブレークポイントを持ってくると変数がnullになってしまいます。
なぜこうなるかわかるかたいますか?
https://imgur.com/CNxFyIv.jpg
https://imgur.com/TuctRLK.jpg
0805デフォルトの名無しさん (ワッチョイ 2301-0qx4)
垢版 |
2022/11/14(月) 17:15:29.93ID:p8dKwuQs0
>>804
今は無いけど任天堂やJRやNHKからちょこちょこあるんじゃね?
あと政府とMicrosoftズブズブだからその辺でなんかありそう
0806デフォルトの名無しさん (ワッチョイ 2301-0qx4)
垢版 |
2022/11/14(月) 17:15:40.85ID:p8dKwuQs0
マイナンバー関係とかね
0807デフォルトの名無しさん (ワッチョイ 2301-0qx4)
垢版 |
2022/11/14(月) 17:16:54.88ID:p8dKwuQs0
すまんJR関係なかったパスモは東京メトロだったわ
0808デフォルトの名無しさん (ワッチョイ 2301-0qx4)
垢版 |
2022/11/14(月) 17:17:39.08ID:p8dKwuQs0
とりあえず24年までには置き換えしないといけないしね
0811デフォルトの名無しさん (ワッチョイ 2301-0qx4)
垢版 |
2022/11/14(月) 17:36:07.06ID:p8dKwuQs0
>>803
すみませんこれ自己解決しました
一番最初にイニシャライズコンポーネントが呼び出されてその後プロパティを取得されるみたいです
おかしかったのはxamlのBindingの記述でそのままオブジェクト(SendModel)のプロパティを書いてたからでした
{Binding SendModel.Title}で確認できました
0813デフォルトの名無しさん (ワッチョイ 2301-0qx4)
垢版 |
2022/11/14(月) 18:18:45.36ID:p8dKwuQs0
>>812
C#のスレでFlutterすすめるのは止めなさい
JavaやってるならDartよりC#の方が親和性高いでしょう
0815デフォルトの名無しさん (ワッチョイ 2301-0qx4)
垢版 |
2022/11/14(月) 18:29:30.58ID:p8dKwuQs0
Dartはchildやchildrenの部分が最高にアホwって思う

https://i.imgur.com/FIRNxLX.png
0817デフォルトの名無しさん (ワッチョイ 2301-0qx4)
垢版 |
2022/11/14(月) 19:01:16.65ID:p8dKwuQs0
>>816
無駄にCompositeして意味あんの?
.NET MAUIのMVU用ライブラリはFlutter真似して作られてるから無駄にChildrenとかつけちゃうわな
そりゃそうなるわ
.NET MAUI系You Tuberのこの人もこの書き方好きじゃないからMVVMでやりますって言ってるぞ
https://youtu.be/nCNh9G-Q688
0820デフォルトの名無しさん (ワッチョイ 2301-0qx4)
垢版 |
2022/11/14(月) 19:49:37.13ID:p8dKwuQs0
>>818
DartはJavaScriptを元にした言語だよ(AltJSとか言われてる)
DartとかJavaScriptを元にしたAltJSがみんな潰れてC#を元にしたTypeScriptがここまで発展したの笑えるよな
FlutterはDartの救済措置でしかない
0822デフォルトの名無しさん (ワッチョイ 2301-0qx4)
垢版 |
2022/11/14(月) 20:02:04.55ID:p8dKwuQs0
>>821
無駄じゃんその1語
いるか???
コンパイル通すときいるの?
普通に
StackLayout{
Label label1{
Text="ほげ",
TextColor=Red,
TextAttribute=Bold},
Label label2{
Text="ほげ",
TextColor=Red,
TextAttribute=Bold}
}
とかにできなかったのだろうか?
これがスムーズじゃね?
0824デフォルトの名無しさん (ワッチョイ 2301-0qx4)
垢版 |
2022/11/14(月) 20:55:04.59ID:p8dKwuQs0
>>823
そりゃそうでしょ…
見にくいしどれがどれかわからんUIの作りづらさは一級品だよねMVU
0825デフォルトの名無しさん (テテンテンテン MM4b-t73B)
垢版 |
2022/11/14(月) 21:18:14.71ID:ans/MkehM
>>803
本当にお前は迷惑で恥知らずなゴミだなMAUI君よお
MAUIの質問ならここじゃなくてMAUIスレに持ち込めよ
Xamarinスレだったのをスレ内で合意を取るようなこともせず勝手にMAUIスレへスレタイを変えて
散々私物化してるのはお前だろ?
そっちのスレで責任もって解決しろよ
なんでわざわざこっちのスレへ持ってくるんだ?
お前が好き勝手やってるせいで答えてくれるようなスレ住民がみんないなくなっちゃったとかそういうことか?
0828デフォルトの名無しさん (ワッチョイ 2301-0qx4)
垢版 |
2022/11/14(月) 21:43:20.92ID:p8dKwuQs0
C#全体のことはここで聞く
MAUI特有のことはMAUIスレで聞く
当然では?
0829デフォルトの名無しさん (テテンテンテン MM4b-t73B)
垢版 |
2022/11/14(月) 22:11:38.95ID:ans/MkehM
すげーな
さすが恥知らずのMAUI君

先にMAUIスレで質問するようなこともせずに
このスレでMAUIの質問をしておきながら
>>828みたいなことを平然と言ってのけるこの神経
でもって826,827みたいな自分にとって都合の悪いことは何一つ見なかったことにしてスルーするんですね?
いやー「.NET MAUI HighSchool」ってコテでしたっけ
この実績で就職活動とか頑張ろうとしてるんですよね
おみそれしました
0830デフォルトの名無しさん (テテンテンテン MM4b-t73B)
垢版 |
2022/11/14(月) 23:59:43.67ID:ans/MkehM
「.NET MAUI HighSchool」さん、朝から晩までこの板に張り付いて
本日の書き込みランキングのワンツーフィニッシュおめでとうございます!!
http://hissi.org/read.php/tech/20221114/

他のスレでは23時以降も活発に書き込みされてるようですが、
その元気があるようなら私にもお返事いただけませんか? 826とか827とかあと829もそうだけど
でも1点だけ反論して残りの指摘を何一つなかったことにするのはやめてほしいなとは思いますけどね
(ぶっちゃけchildren1つ書くかどうかなんてStoryBoardの地獄に比べたら屁でもないけどまあこれはスレチなんでどうでもいい)
まさか828で反論した直後にこっちのことをNGIDしたからレスが見えてない、なんてしょっぱい言い訳はしませんよね?
それとも貴方自身が恥知らずのゴミムシであることをレスしないことを以て体現しておられるのでしょうか???
0831デフォルトの名無しさん (ワッチョイ 2301-0qx4)
垢版 |
2022/11/15(火) 00:21:34.85ID:fFtAGper0
>>830
答える必要ないからレスしなかっただけですが???
全レスする必要あります???
0832デフォルトの名無しさん (テテンテンテン MM4b-t73B)
垢版 |
2022/11/15(火) 07:01:23.31ID:zF+MxnbgM
>その元気があるようなら私にもお返事いただけませんか? 826とか827とかあと829もそうだけど
って書いてあるよな?
日本語もろくに理解できない馬鹿なのかお前は?
ID:p8dKwuQs0 の書き込みとか
他のスレの書き込みとかを見る限り全レスがデフォみたいなんで
返信がないってことでよっぽど返信したくないことを書かれちゃったのかーと思っちゃったけどそうじゃないんだな?
じゃあ俺の書き込みに限らずすべての指摘に対して逃げずに全レスしろよ
そこまで勿体つけたからにはさぞかしご立派な反論が来るんだろうな?
どうせお前は一日中ずーっと5chするくらいしか能がないんだから好きなだけ時間かけて書き連ねてみろよ
違いはchild/children一個だけみたいな見るほうがリアクションに困る失笑しかできないような返しすんじゃねーぞ


でもさすがにこのスレで続けるのはC#関係ないしスレチで迷惑だから
お前が立てたお前専用のゴミスレ↓
.NET MAUI HighSchool
https://mevius.5ch.net/test/read.cgi/tech/1662947042/
でやれ

よかったな、お前のクソスレに人を呼び込めるぞ
感謝しろ
0833デフォルトの名無しさん (テテンテンテン MM4b-t73B)
垢版 |
2022/11/16(水) 21:19:21.33ID:Ndk7vWNsM
あれれMAUI君どこいっちゃったの?
>>831みたいなファイティングポーズを取ってたからさぞかしご立派な返信が来るかと期待してたのに
このスレにも晒したスレにも何一つ反論できずに尻尾を巻いて逃げ出した?
それともまさか名無しになって他人のフリしてるなんて恥ずかしいことやってる?
このスレもそうだし他のスレ(例えばWPFスレ https://mevius.5ch.net/test/read.cgi/tech/1667010874/ )でも
さんざん「.NET MAUI HighSchool」ってコテを名乗って毎日朝から晩まで書き込んでたのに
急にこのコテ使った書き込みが無くなったみたいなんだけど、どうしちゃったんだろう


うん、なんというか拍子抜けだわ
さよならMAUI君、もう二度とこの板に顔出すようなことをしてくれなければそれでいいや
0834.NET MAUI HighSchool (ワッチョイ 2301-0qx4)
垢版 |
2022/11/16(水) 22:20:27.60ID:F1FwASBt0
>>833
キモ
つけ忘れただけだわカス
0835デフォルトの名無しさん (テテンテンテン MM4b-t73B)
垢版 |
2022/11/16(水) 22:59:08.10ID:Ndk7vWNsM
なんだ消えたんじゃなかったのか

とりあえず取って付けたような「つけ忘れただけ」なんて後出しの言い訳乙
で結局直近の833以外のレスは見なかったことにしてまた逃げ出すんでしょ?
さすがMAUI君
0836デフォルトの名無しさん (テテンテンテン MM4b-t73B)
垢版 |
2022/11/16(水) 23:09:20.45ID:Ndk7vWNsM
てゆうか、実況版に
「.NET MAUIでAndroidでサイン波の出力をした天才プログラマーだけど質問ある?」
なんてタイトルのスレ立てたはいいものの
誰にも相手してもらえなくてレス数1桁で落ちてたけど、このスレ立てたのもMAUI君だよね?

その知識も決して自分のものじゃなくて
この板で1から10まで聞いて回って集めた受け売りの知識だよね??
いやー天才のやることはひと味もふた味も違いすぎて凡人にはその感性が理解できませんわー
0837デフォルトの名無しさん (テテンテンテン MM4b-t73B)
垢版 |
2022/11/16(水) 23:11:21.10ID:Ndk7vWNsM
ほかにも実況板とかVIPとかでいろいろスレ立てても誰にも相手してもらえてないみたいだね
だからって、この板でまでよその板と同じ感覚でクソスレ立ててお山の大将気取ったりするのはどうかと思うよ
0838デフォルトの名無しさん (テテンテンテン MM4b-t73B)
垢版 |
2022/11/16(水) 23:15:53.76ID:Ndk7vWNsM
でもってVIPで建てたスレが多少伸びて反論喰らったら自分ではなにひとつ対処できなくて
この板に泣きついて助けを求めたりもしたよね?
正直すっごく恥ずかしいと思うよ

MAUI君は「別に何一つ恥ずかしいことなんてしてない」みたいなこと言ってたけど、いまでもそう思ってる?
0839.NET MAUI HighSchool (ワッチョイ 2301-0qx4)
垢版 |
2022/11/17(木) 00:16:56.85ID:uB3aH/K90
>>838
反論食らった?
ここで言われてたけど実際WebViewで実装できてんだからいいじゃんって結果になったんだが?
0840デフォルトの名無しさん (テテンテンテン MM4b-t73B)
垢版 |
2022/11/17(木) 07:30:02.27ID:f45dDCUTM
>>839
ねえそんなどうでもいいとこだけしか反応できないの?
「反論」って言葉が気に入らないならじゃあ「的外れな指摘」と言い換えたとして
その的外れな指摘ひとつお前一人じゃ応対できなくてこのスレに泣きついたよね
でもって手取り足取りレクチャしてもらってさ
元のスレでドヤ顔で披露してて恥ずかしくないの?

あと838以外のレスにはなにひとつ言い返せないの?
お前がどんだけ5chに入り浸ってるのかちょっと気になったんで
今年立てたスレの数とか聞いてみてもいいかい?
0841.NET MAUI HighSchool (ワッチョイ 1b01-0qx4)
垢版 |
2022/11/17(木) 12:23:04.13ID:AcAViRuk0
>>840
いや別に恥ずかしくないけど?
分からなかったら人に聞かないの?
だとしたらアホだと思うしこんなスレいらない
0843.NET MAUI HighSchool (ワッチョイ 1b01-0qx4)
垢版 |
2022/11/17(木) 12:35:24.02ID:AcAViRuk0
>>842
わかっな
0844.NET MAUI HighSchool (ワッチョイ 1b01-0qx4)
垢版 |
2022/11/17(木) 12:35:29.50ID:AcAViRuk0
わかった
0845デフォルトの名無しさん (テテンテンテン MM4b-t73B)
垢版 |
2022/11/18(金) 06:38:30.53ID:T+31eRIOM
>>841
質問することそれ自体が恥ずかしいことだなんて俺は言ってないし非難もしてないんだが
(もちろん質問することが悪いことだなんて思ってないし、質問で得た知識は有効に生かしてほしいと思ってるが)
どこをどう捻じ曲げて受け取ってそういう認知にいたるのかさっぱり分からんわ

ていうか835,836,837みたいなのにはMAUI君は一言も言い返してこないんだが
おまえ自身も恥ずかしいことだとちゃんと認識してるからなんだよね?
0846.NET MAUI HighSchool (ワッチョイ 2301-0qx4)
垢版 |
2022/11/18(金) 08:32:33.70ID:dFTql+Wp0
>>845
いやお前が知りたい答えがわからないから
何を返してほしいの?
0847.NET MAUI HighSchool (ワッチョイ 2301-0qx4)
垢版 |
2022/11/18(金) 08:35:56.22ID:dFTql+Wp0
835逃げ出すんでしょ?←どう答えてほしいの?
836受け売りの知識かどうかが知りたいの?なんJでスレ立てたのが俺なのか聞きたいの?
837お山の大将気取ってるのはどうかと思うよ?←これって質問なの?
0849デフォルトの名無しさん (ワッチョイ 2bbd-BvCT)
垢版 |
2022/11/18(金) 19:50:02.12ID:y5ukyeaS0
最近、未確認飛行というサイトで初めてのプログラムとしてc#を学び始めたんだけど
https://ufcpp.net/study/csharp/oo_construct.html
ここのサンプルというところのプログラムでオーバーライドされたtoString()のメソッドが呼ばれるのってなんでかな?
どこでもそのメソッドを呼ぶようなことをしてないように見えるけど自分で実行してみたら確かに呼ばれてる
すごい基本的な事なんだろうけどどうか教えてほしい
0850デフォルトの名無しさん (ワッチョイ e535-3ACM)
垢版 |
2022/11/18(金) 19:54:59.04ID:9HcKlt4I0
Console.WriteLineの中で呼ばれてるんだよ
0852デフォルトの名無しさん (ワッチョイ e535-3ACM)
垢版 |
2022/11/18(金) 20:13:22.53ID:9HcKlt4I0
例えばこういうこと
public void WriteLine(object obj) {
 WriteLine_Inner(obj.ToString());
}

WriteLine_Innerは文字列だけを受け付けて表示するメソッドとする
WriteLineを呼ぶとToStringが呼ばれる
0854.NET MAUI HighSchool (ワッチョイ 2301-IoIj)
垢版 |
2022/11/18(金) 22:25:21.33ID:dFTql+Wp0
ほんとに未確認飛行物体からやってるすげー
0857デフォルトの名無しさん (ワッチョイ 7735-kwcT)
垢版 |
2022/11/19(土) 19:33:40.92ID:hH2yPCCm0
オプション指定やろ
0860デフォルトの名無しさん (アウアウウー Sa3b-lriv)
垢版 |
2022/11/20(日) 14:14:28.85ID:j4QfOsfua
逆になんでC#とかだと要らないと思うのか気になる
0863デフォルトの名無しさん (ブーイモ MM02-4l+d)
垢版 |
2022/11/20(日) 15:47:47.16ID:wwqc7KSjM
enumってそれが使えるスコープっていう概念もあるのですか?
0864デフォルトの名無しさん (ワッチョイ e279-0uIQ)
垢版 |
2022/11/20(日) 15:51:44.50ID:MjJ+/fUP0
普通に継承できねぇから
ステータス並べちまうと
クラスを継承したときに
enumも継承して
ステータス増やそうとするけど
enumの継承はできないので
ステータスは定数で並べるしかない
ってだっせー状態になる
0866デフォルトの名無しさん (ブーイモ MM02-4l+d)
垢版 |
2022/11/20(日) 15:59:28.92ID:wwqc7KSjM
クラス内でenum宣言することがあると思うのだけど
そうした場合はそのクラス内だけでしかそのenumは使えないんですっけ?
0867デフォルトの名無しさん (ワッチョイ 62ad-eHBA)
垢版 |
2022/11/20(日) 16:09:13.26ID:ruJch1bQ0
>>866
privateならその通り
publicならクラス外でも使える
0869デフォルトの名無しさん (ワッチョイ 7735-VKOE)
垢版 |
2022/11/20(日) 16:57:27.98ID:qg1DZ5gK0
クラス内のクラスって継承で継承できるっけ?
何がともあれメリットがないことにはならないけれども。
0871デフォルトの名無しさん (ワッチョイ 4b5f-k7YZ)
垢版 |
2022/11/20(日) 18:24:34.53ID:x1RY5Ndj0
当たり前だろ
クラス階層違うのに同じ名称を押し通す方がやばいわ
0872デフォルトの名無しさん (ワッチョイ 622f-95HW)
垢版 |
2022/11/22(火) 18:28:02.20ID:nAJcGQvG0
まあ名称はどうでもいいんだが

クラスAの状態を1〜3でEnumで持ってて
クラスAを継承してクラスBを作った
クラスBの状態1〜5をEnumでもつ
ここで、クラスA用のEnum継承して4〜5を追加して1〜5のEnum作りたい

ということはあるんじゃね
0873デフォルトの名無しさん (ワッチョイ cf5f-ES6F)
垢版 |
2022/11/22(火) 18:38:58.38ID:NaPYQccb0
enumはクラスの中に入れるなってことなのでは
0879デフォルトの名無しさん (ササクッテロリ Spdf-k7YZ)
垢版 |
2022/11/22(火) 21:58:13.24ID:s23xOfAqp
enum 張りなおせばよかばい
0880デフォルトの名無しさん (ワッチョイ 622f-ES6F)
垢版 |
2022/11/23(水) 00:07:27.78ID:6lN/+0f80
>>875
enumB(1〜5)を受け入れるところは当然enumA(1〜3)も受け入れたいわけだが
これを認めると親クラスが子クラスに変換できることになる

>>877
せめてenumからenumへの暗黙変換定義できればなぁ

結局全部再定義して、int(元の数値)介して変換とか
それならもとからintずらずら並べたほうが良いかという
0884デフォルトの名無しさん (ワッチョイ 7735-VKOE)
垢版 |
2022/11/23(水) 06:34:20.68ID:3geqF3we0
クラス内に書かなきゃいい
0885デフォルトの名無しさん (ワッチョイ e201-IwB9)
垢版 |
2022/11/23(水) 08:51:16.99ID:g5bfG+kA0
>>877,880
だから俺が欲しいのは継承じゃなくて列挙子の追加って言ってるだろ
enum B: A {B1, B2}; だと継承と間違えると言うなら別の構文でもいい
ベースの定義を引き継いで定義できればいい
0886デフォルトの名無しさん (ワッチョイ fba7-stRS)
垢版 |
2022/11/23(水) 11:31:55.12ID:hhL0Iwa90
enum継承を実装するならまずはstruct継承を実装しないといけない
そして値型の継承をバンバン行うC++ですらenum継承はサポートされてないから諦めるんだな
とは言え.net standard2以上ならソースジェネレーター使えるんだからC++のマクロ実装よりも堅牢にenum継承を叶えられるのがC#
0892デフォルトの名無しさん (ワッチョイ e279-0uIQ)
垢版 |
2022/11/23(水) 13:34:04.83ID:w1dmgQVP0
c#のenum周りを作ったやつは
状態遷移も作ったことがない
クソってだけ
まあ、言語開発に状態遷移なんて
いらんだろし
知らないのも無理はない
ってだけの話でしょ
0898デフォルトの名無しさん (ワッチョイ e279-0uIQ)
垢版 |
2022/11/23(水) 14:18:05.41ID:w1dmgQVP0
>>897
そしたら状態はどうやって定義するの?

もちろんenumではない
ステータス用の型が必要っていう意見ならわかる
現状enumしかないってだけ
statetype型なんてできたらそれはそれでよい
enumの拡張だと>>889の問題がヘタクソがたくさんいる職場では問題になりそう
0903デフォルトの名無しさん (ワッチョイ fba7-stRS)
垢版 |
2022/11/23(水) 15:18:56.76ID:hhL0Iwa90
>>892
逆にどの言語ならあるんだい?
C++なんてC#で言うところのEnum.GetValuesやEnum.GetNamesすら標準サポート無しだぞ
テンプレート黒魔術使ってコンパイラに超負荷をかけて実装できなくもないが
0906デフォルトの名無しさん (ワッチョイ 0ebc-KP+k)
垢版 |
2022/11/23(水) 15:45:58.22ID:Z18k9Xb90
状態の管理は >>893 じゃだめなのかな。
自分も昔は継承したがってたけど、結局 893 みたい基底に追記するようになったんだよね。

enum をシリアライズすると int 扱いになるから、複数のクラスで継承して使う場合に、ほかのクラスの enum 定義を把握しておかないと危ないケースがあるような気がするんだけど。
0907デフォルトの名無しさん (ワッチョイ ff07-1oEr)
垢版 |
2022/11/23(水) 16:01:46.11ID:zunuLtNb0
enumはCから受け継いだものだからこの設計についてC#を責めるのがまずアホ

enumの主な使いみちは値を限定することだ
要するにintの値を引数にしたいがその値の種類は3種類に限定したい、それ以外の値を渡そうとしたらコンパイルエラーにしたい、そういう時にenumを使う
その関数は引数として3種類しか渡らないことを保証されてるから無理やり他の値を渡した際には未定義動作になる

enumが継承できてポリモーフィズムが効くとすれば3種類の値しか来ない関数に普通に他の値を渡すことができてしまうだろw

なんでenumを使いたいか知らんけど使い方間違ってるからenumをやめて正しい方法を使え
以上
0909デフォルトの名無しさん (ワッチョイ e201-IwB9)
垢版 |
2022/11/23(水) 16:53:35.93ID:g5bfG+kA0
まだ継承とか言ってるアホが居るのかw
今までのenumの機能だと継承なんてできても意味ない
継承したいたらenumの各値にメソッド定義出来るようにするとかぐらいの機能追加しないとな
0910デフォルトの名無しさん (ワッチョイ e279-0uIQ)
垢版 |
2022/11/23(水) 17:19:16.06ID:w1dmgQVP0
>>907
でもまさに状態遷移の状態の定義なんてenumの出番だと思うんだけど
ここでこいつ役に立たなかったらほか何に使えるのってぐらい
ちなみにc++でこの辺悩んだことないなぁと思ったら#defineで書いてたわ
0911デフォルトの名無しさん (ワッチョイ a201-X9TU)
垢版 |
2022/11/23(水) 17:26:51.44ID:LfUozzif0
enum A {A1, A2, A3};があるとして
enum B: A {B1, B2}; としたい理由は何なの?
単に記述量を減らしたいだけ?

AとBは違うデータドメインだから違うenumにするわけなので
enum B: {A1, A2, A3, B1, B2};として新しく定義するか
元のenum Aを拡張するものだと思うけど
0912デフォルトの名無しさん (ワッチョイ ff07-1oEr)
垢版 |
2022/11/23(水) 17:57:30.88ID:zunuLtNb0
>>910
なぜそこでenumの出番だと思ったのか
明らかに違うしどこで使うかはたった今説明しただろw
お前の設計はおかしいと何度も言われてるのに頑なに耳をふさいでるからできないんだぞ
0913デフォルトの名無しさん (ワッチョイ ff07-1oEr)
垢版 |
2022/11/23(水) 18:00:35.30ID:zunuLtNb0
つか状態遷移で通じると思うところからやめろ
状態遷移の実装なんて何種類もあるわ
最終的に何がしたいのか言葉で説明できないやつは自分のやりたいことをプログラミング言語に直すことすらできんぞ
一般的なステートマシンでいいのか?
0916デフォルトの名無しさん (ワッチョイ ff07-1oEr)
垢版 |
2022/11/23(水) 18:32:51.60ID:zunuLtNb0
>>915
お前の言う状態遷移が何を指してるか言わないならお前の脳内かチラシの裏で処理しとけ
ステートマシンなら普通にインスタンスのパターンマッチングが使えるからそれがわからなきゃ無理してプログラミングの話に加わろうとするなよw
0921デフォルトの名無しさん (ワッチョイ a201-X9TU)
垢版 |
2022/11/23(水) 18:55:47.21ID:LfUozzif0
>>914
取りうる値すべて網羅するのがenumの存在意義
オプションがついたものが同じデータドメインなら
Aを拡張してenum A {A1, A2, A3, B1, B2, C1, … }とすべきでBやCは不要

異なるデータドメインとして扱いたいなら
enum A: {A1, A2, A3}; enum B: {A1, A2, A3, B1, B2}; enum C: {A1, A2, A3, C1, C2, C3, C4};とすべき
同じ名前のメンバーが存在しても異なる型で別のものだからそれぞれ定義するのは当たり前
0929デフォルトの名無しさん (ワッチョイ 7779-hSjh)
垢版 |
2022/11/23(水) 19:31:42.90ID:UGK9R6GJ0
現実のリサイクルにコストが3倍掛かるように
コード継承なんてフレームワーク利用者以外無意味だよ
自分で継承を考えながら書くことなんて時間の無駄でしかない
師匠とおだてられて弟子を育てて行くか、生涯わが道を探求していくかぐらい結果が違ってくる
0930デフォルトの名無しさん (ワッチョイ e201-IwB9)
垢版 |
2022/11/23(水) 19:31:45.39ID:g5bfG+kA0
>>921
> Aを拡張してenum A {A1, A2, A3, B1, B2, C1, … }とすべきでBやCは不要
Cしか変えないのに標準やBも再テストが必要になるよね

> 異なるデータドメインとして扱いたいなら
> enum A: {A1, A2, A3}; enum B: {A1, A2, A3, B1, B2}; enum C: {A1, A2, A3, C1, C2, C3, C4};とすべき
まあ君はそうすればいいんじゃね?
0932デフォルトの名無しさん (ワッチョイ 622f-ES6F)
垢版 |
2022/11/23(水) 19:52:20.51ID:6lN/+0f80
>>921
それenum Bで102種類登録しろって話だよな
まあそれが正しいのは分かるが

enum Bは完全にenum Aを内包していて100個は同じ
その状態でenum Aを拡張してenum Bを作りたいってのは間違ってるのか?
それともそういう状況でenumを使うのが間違ってると?
0935デフォルトの名無しさん (ワッチョイ ff07-1oEr)
垢版 |
2022/11/23(水) 19:59:02.09ID:zunuLtNb0
>>934
enumを継承できるようにすると色々不具合が出るのは既に示した通り
だから継承したいやつがおかしいしできないのは当然

ここでenumを使うのも明らかに悪手でそれは本人も使いにくいと感じてるから薄々はわかってると思う

だけど薄々しかわからないのマジでアスペwww
使いにくい時点で気づこうぜw
0937デフォルトの名無しさん (ワッチョイ ff07-1oEr)
垢版 |
2022/11/23(水) 20:08:52.61ID:zunuLtNb0
>>936
お前の言いたいことなんか知らんが、もっといい方法があるのに文法に文句を言いながらenumに固執するのはアホだと思わんか?w
おいおいこんな簡単な理屈がわかるやつが俺しかいないってどうなってんのこのスレ?w
0940デフォルトの名無しさん (ワッチョイ ff07-1oEr)
垢版 |
2022/11/23(水) 20:23:29.96ID:zunuLtNb0
intは小さい数値しか使えないから設計したやつは頭おかしいって発狂してるやついたらアスペかなって思うだろ?

俺から見たお前らってそんな感じになってるぞ
long教えてもらったなら覚えろよw
0942デフォルトの名無しさん (アウアウウー Sa3b-1oEr)
垢版 |
2022/11/23(水) 20:27:17.57ID:KUj2Jy2fa
>>941
ズレてるのはお前の頭だよw
enumを状態遷移に使いたいという話で、継承できないから使えないといつまでも文句言ってるやつに教えてやってるだけだぞw
違う話したいなら気にせずしろよ
ヅラ直してから
0943デフォルトの名無しさん (ワッチョイ c3f0-stRS)
垢版 |
2022/11/23(水) 20:34:56.61ID:eUenOEMN0
ステートパターンはポリモーフィズムを実現する方法だけど
ステートマシンは特にポリモーフィズムを実現してなくてもステートマシンになってしまうらしい
むしろポリモーフィズムのメリットがないのに状態遷移させるメリットが全く分からない
0944デフォルトの名無しさん (アウアウウー Sa3b-1oEr)
垢版 |
2022/11/23(水) 20:37:28.39ID:KUj2Jy2fa
ステートマシンかどうか聞いても状態遷移知らないのかの一点張りで答えないんだよなあw
いやマジでお前が状態遷移知らないのかとw
せめてその入門書のタイトルくらい書こうやw
0958デフォルトの名無しさん (ワッチョイ ff07-1oEr)
垢版 |
2022/11/24(木) 00:18:19.16ID:R18LG1aZ0
>>954
何をってもう何度も書いただろw
enumを使うことでうまくいかないのが明白になったなら固執するのがアホ
オブジェクトやクラスはハッシュコード持ってるからenumでなくともswitchで処理できるし継承もできる
状態遷移状態遷移言ってるが教科書コピペするんじゃなく何をどうしたいのかを見据えてそれを実現しなきゃいけないぞw
0959デフォルトの名無しさん (ワッチョイ 622f-ES6F)
垢版 |
2022/11/24(木) 00:21:21.14ID:6EroDtbH0
>>935
「継承」できないしするのはおかしいのは分かったから
enumを「拡張」したいって思う
拡張したいって用途にenumを使う
どっちがおかしいって?
その理由が単にenumがそうなってないってなら、そうあるべきだって議論はありえると思うが

>>937
別に俺は固執する気はないので、そういうことはできないってならできないで良いんだが
もっといい方法って具体的には?
0960デフォルトの名無しさん (ワッチョイ ff07-1oEr)
垢版 |
2022/11/24(木) 00:24:41.88ID:R18LG1aZ0
例えばステートマシンのノードの一つをカーソルで参照するだけでカレントステートを表現できるしカーソルを動かせばそれはもう状態遷移だろ
ノードをオブジェクトにすれば種類によって違うプロパティやメソッドも持てる
ここにenumの入る余地などない
俺が何を言ってるかわからんとすればお前の勉強不足だから伏して教えを請え
0963デフォルトの名無しさん (ササクッテロリ Spdf-k7YZ)
垢版 |
2022/11/24(木) 11:04:40.36ID:Qxz+vdGfp
クラス内でしか意味がないものを他クラスで判断に使う事自体が問題じゃね?
0964デフォルトの名無しさん (アウアウウー Sa3b-1oEr)
垢版 |
2022/11/24(木) 12:05:41.62ID:I9DGq0SZa
ひょっとしてと思って「unity 状態」でググッたら質問者のやりたいことがわかったわw
キャラクタを委譲じゃなく継承させる糞コードでなんちゃってステートパターンしたいんだなw
継承したキャラクタは行動できるパターンが増えるから状態もそれによって増やしたいということだろ
キャラクタを継承させるという糞仕様から直すのが正解だがそれをしたくないならenumじゃなくクラス使えよ
その状態だけ継承させればキャラクタの継承要らないんじゃねというところに気づけばみんなが何を言ってたかわかるようになるかもしれんぞ
0965.NET MAUI HighSchool (ワッチョイ 5601-MxP6)
垢版 |
2022/11/24(木) 12:19:13.38ID:DPMQyp0E0
Unityってクラスないの?
0966デフォルトの名無しさん (ワッチョイ a201-X9TU)
垢版 |
2022/11/24(木) 12:54:31.34ID:P04N2b5w0
継承とか拡張とは違うけど
enum StandardColor: {Red, Green, Blue}
enum ExtendedColor: {Teal, Turquoise}
とあった時にStandardColorとExtendedColorはそれぞれ個別の用途でも使うし
両方混ぜた集合からどちらか一方だけ選択する用途でも使いたいというのは理解できる

この場合はC#では言語的にはまだサポートされてない機能だから
サードパーティのライブラリを使うか自作するか
0967デフォルトの名無しさん (ワッチョイ c3f0-stRS)
垢版 |
2022/11/24(木) 17:55:35.91ID:88NBfQl90
Unityでもポリモーフィズムを実現していればクラスのカプセル化が効くから
Stateで状態が切り替わる振る舞いは同じでもサブクラスで提供される機能を変えられる
ポリモーフィズムの実現が主題であってenumに依存するとかしないとかどうでもいい事な気がする
0971デフォルトの名無しさん (ワッチョイ cf5f-ES6F)
垢版 |
2022/11/24(木) 19:20:15.08ID:NYxgvrZS0
人生で数々のenumに触れてきて今まで継承したいと思うenumに遭遇したことがない

私は思う
不完全なenumはそれ自体がバグなのだと
0978デフォルトの名無しさん (ワッチョイ c3f0-stRS)
垢版 |
2022/11/24(木) 19:48:18.80ID:88NBfQl90
最初に質問した奴はステートマシンとステートパターンの区別もポリモーフィズムも知らない奴だったわけだが
何でも同じに見えるというならそうなのだろう 知った事ではないし興味すらもない
勝手に吠えてればいい
0981デフォルトの名無しさん (ササクッテロリ Spdf-k7YZ)
垢版 |
2022/11/24(木) 20:44:59.86ID:x2utmnLfp
サボらずに変換メソッド作る
0983デフォルトの名無しさん (ワッチョイ 5f01-t20s)
垢版 |
2022/11/25(金) 09:34:35.22ID:acUkwbrC0
おまいらどんだけenumでスレ消費してんだよ
0984.NET MAUI HighSchool (ワッチョイ 5601-MxP6)
垢版 |
2022/11/25(金) 12:13:43.21ID:RaC0ZQGe0
モバイルSuicaにもReactiveUIとか使われてて
結構Rxってもう標準になりつつあるな
これ産み出したC#すごい!
0985.NET MAUI HighSchool (ワッチョイ 5601-MxP6)
垢版 |
2022/11/25(金) 12:20:00.08ID:RaC0ZQGe0
>>4
新スレ建てようとしたけど改行が多すぎるとかで無理だった…
0988.NET MAUI HighSchool (ワッチョイ 5601-MxP6)
垢版 |
2022/11/25(金) 20:24:56.18ID:SQhAXb/D0
>>986
サンキュー
0990.NET MAUI HighSchool (ワッチョイ 9f01-8jrN)
垢版 |
2022/11/26(土) 08:34:50.54ID:Ja07f46G0
C#isGod
0996デフォルトの名無しさん (ササクッテロラ Sp5f-w5YM)
垢版 |
2022/12/09(金) 19:52:30.95ID:lbVfgM7Sp
埋め屋敷
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 82日 5時間 37分 8秒
10021002
垢版 |
Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。

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