!extend:checked:vvvvv:1000:512
■Visual Studio 2017 Community(無償の統合開発環境)等はこちら
http://www.visualstudio.com/downloads/
■コードを貼る場合はこちら
http://ideone.com/
■前スレ
C#, C♯, C#相談室 Part93
http://mevius.5ch.net/test/read.cgi/tech/1492818720/
■次スレは>>970が建てる事。
建てられない場合は他を指定する事。
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
C#, C♯, C#相談室 Part94
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 935f-5Uxj)
2019/03/20(水) 18:57:36.47ID:ZZcTomnN01915 (アウウィフ FFe9-8H9x)
2020/04/06(月) 15:36:35.10ID:TxMJ3ToxF すみません間違いました
not blittable が出るのは
struct s2 の中に class c1 があるとして
GCHandle h = GCHandle.Alloc(s2, GCHandleType.Pinned);
IntPtr ptr = hndl.AddrOfPinnedObject();
// ptr を利用
h.Free();
ちなみに
struct s2 の中に struct s1 があるとして
同じことをしたときは問題無いです
not blittable が出るのは
struct s2 の中に class c1 があるとして
GCHandle h = GCHandle.Alloc(s2, GCHandleType.Pinned);
IntPtr ptr = hndl.AddrOfPinnedObject();
// ptr を利用
h.Free();
ちなみに
struct s2 の中に struct s1 があるとして
同じことをしたときは問題無いです
20デフォルトの名無しさん (アウウィフ FFe9-8H9x)
2020/04/06(月) 15:40:47.44ID:TxMJ3ToxF21デフォルトの名無しさん (ワッチョイ 0d0c-bVUD)
2020/04/06(月) 16:24:25.71ID:sF8ihuq40 そのclassの内容によるとしか…
無制限にマーシャリングできるわけでもないし
classのメンバがblittableならそのままstructにすりゃいいだけだけど
参考になるか知らんがstringを含む場合
[StructLayout(LayoutKind.Sequential)]
struct Foo {
public int id;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
public string name;
}
class Program {
static void Main(string[] args) {
var sizeInBytes = Marshal.SizeOf<Foo>();
Console.WriteLine($"SizeOf={sizeInBytes}");
var coTaskMem = Marshal.AllocCoTaskMem(sizeInBytes);
var foo = Marshal.PtrToStructure<Foo>(coTaskMem);
foo.name = "John";
Console.WriteLine(foo.name);
Marshal.DestroyStructure<Foo>(coTaskMem);
Marshal.FreeCoTaskMem(coTaskMem);
}
}
無制限にマーシャリングできるわけでもないし
classのメンバがblittableならそのままstructにすりゃいいだけだけど
参考になるか知らんがstringを含む場合
[StructLayout(LayoutKind.Sequential)]
struct Foo {
public int id;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32)]
public string name;
}
class Program {
static void Main(string[] args) {
var sizeInBytes = Marshal.SizeOf<Foo>();
Console.WriteLine($"SizeOf={sizeInBytes}");
var coTaskMem = Marshal.AllocCoTaskMem(sizeInBytes);
var foo = Marshal.PtrToStructure<Foo>(coTaskMem);
foo.name = "John";
Console.WriteLine(foo.name);
Marshal.DestroyStructure<Foo>(coTaskMem);
Marshal.FreeCoTaskMem(coTaskMem);
}
}
22デフォルトの名無しさん (アウウィフ FFe9-8H9x)
2020/04/06(月) 16:44:22.28ID:TxMJ3ToxF >>21
そもそも内側は struct で充分なんですが
初期値を入れたいのでそのためには class でないといけないとしたら
class にするとエラーになるのでやっぱり困るっていう話です
struct でデフォルト値入れられないと割り切れば済む話です
そもそも内側は struct で充分なんですが
初期値を入れたいのでそのためには class でないといけないとしたら
class にするとエラーになるのでやっぱり困るっていう話です
struct でデフォルト値入れられないと割り切れば済む話です
23デフォルトの名無しさん (ワッチョイ cb84-S3x4)
2020/04/06(月) 18:03:23.76ID:7X8pPa4E0 2度手間っていうか面倒くさいけどStructureToPtrでバイトストリームに一括で変換するのが
目的ならば、外に見せる部分はclassで作っておいて中にstructを定義する
structの要素にはプロパティでget/setする初期値はclassのコンストラクタで設定
classにバイトストリームを取り出す(StructureToPtrに絡むロジック)メソッドかプロパティを
定義するみたいなのじゃダメなのかな
class point {
public point () {
x = 0;
y = 0;
}
private _point _Struct;
public int x {
get { return _Struct.x; }
set { _Struct.x = value; }
}
public int y {
get { return _Struct.y; }
set { _Struct.y = value; }
}
public byte[] bytestream {
get { return structToPtrFunc(_Struct); }//メソッドは別途作成
}
[StructLayout(LayoutKind.Sequential)]
private struct _point {
int x;
int y;
}
}
目的ならば、外に見せる部分はclassで作っておいて中にstructを定義する
structの要素にはプロパティでget/setする初期値はclassのコンストラクタで設定
classにバイトストリームを取り出す(StructureToPtrに絡むロジック)メソッドかプロパティを
定義するみたいなのじゃダメなのかな
class point {
public point () {
x = 0;
y = 0;
}
private _point _Struct;
public int x {
get { return _Struct.x; }
set { _Struct.x = value; }
}
public int y {
get { return _Struct.y; }
set { _Struct.y = value; }
}
public byte[] bytestream {
get { return structToPtrFunc(_Struct); }//メソッドは別途作成
}
[StructLayout(LayoutKind.Sequential)]
private struct _point {
int x;
int y;
}
}
24デフォルトの名無しさん (エムゾネ FF43-8H9x)
2020/04/07(火) 10:26:44.15ID:KScFPzRrF むしろ StructureToPtr を使いたくないっていう話です
やりたいのはこっちです
GCHandle h = GCHandle.Alloc(s, GCHandleType.Pinned);
IntPtr ptr = h.AddrOfPinnedObject();
// ptr 操作
h.Free();
途中のレスで一回変な事を書いてしまったので混乱させてごめんなさい
やりたいのはこっちです
GCHandle h = GCHandle.Alloc(s, GCHandleType.Pinned);
IntPtr ptr = h.AddrOfPinnedObject();
// ptr 操作
h.Free();
途中のレスで一回変な事を書いてしまったので混乱させてごめんなさい
25デフォルトの名無しさん (エムゾネ FF43-8H9x)
2020/04/07(火) 10:30:31.32ID:KScFPzRrF 意図は「無駄なコピーを極力避けたい」です
26デフォルトの名無しさん (ワッチョイ 6db2-vpK5)
2020/04/07(火) 10:59:30.33ID:FIqFPKAc0 なら参照型にすればメモリ領域は節約できるでしょ。
27デフォルトの名無しさん (ワッチョイ 0d0c-bVUD)
2020/04/07(火) 13:31:26.68ID:10XGXpve0 意図がそれならそもそもなんで親に値型使ってんのってところまで後退しちゃうぞ
値型にGCHandleのピン付けってそこだけ見ると意味不明だし
省略している「ptr操作」の内容次第では初っ端からアプローチを間違えてる可能性がある
値型にGCHandleのピン付けってそこだけ見ると意味不明だし
省略している「ptr操作」の内容次第では初っ端からアプローチを間違えてる可能性がある
28デフォルトの名無しさん (ワッチョイ 2b7c-Wy2p)
2020/04/07(火) 13:56:15.48ID:xToLYP7L0 Cの構造体って構造体の中に別の構造体入れてもコピーが発生する訳じゃない
(子の構造体をいちいち作る訳じゃないから)
C#をCと同じと思わない方が良い
(子の構造体をいちいち作る訳じゃないから)
C#をCと同じと思わない方が良い
29デフォルトの名無しさん (ワッチョイ 0d61-8D+7)
2020/04/07(火) 18:25:34.04ID:hoGla/3+0 >>28
C#の場合、classは、Heapに実態を確保して変数は参照型で、
structは、スタックなどに実態を確保して、変数は値型だと
聞きました。
C++は、strucとclassは、protected/public などのaccess control以外に
違いが無いこととは対照的です。
というわけで、C#の場合でも、structに関しては別のstructの中に入れた場合
は、C++と同じような動作なのではないかと思われます。
C#の場合、classは、Heapに実態を確保して変数は参照型で、
structは、スタックなどに実態を確保して、変数は値型だと
聞きました。
C++は、strucとclassは、protected/public などのaccess control以外に
違いが無いこととは対照的です。
というわけで、C#の場合でも、structに関しては別のstructの中に入れた場合
は、C++と同じような動作なのではないかと思われます。
30デフォルトの名無しさん (ワッチョイ 9b2f-AHN4)
2020/04/07(火) 19:08:13.99ID:yHbrhPie0 そもそも、「無駄なコピー」ってのがどんな想定なのかわからん
31デフォルトの名無しさん (オッペケ Sr8d-Cmpq)
2020/05/27(水) 18:07:50.45ID:LUVXPnpcr 質問いいですか?
C#のアセンブリの読み込みってどういう手順で行われてるんですか?
同じバージョンの.net core から.net coreを呼び出してるのにTypeIntializationExceptionが発生します
たぶん正しいアセンブリが読み込めてないのだと思うのですが、アセンブリの読み込みタイミングやバージョンを指定することは可能なのでしょうか
C#のアセンブリの読み込みってどういう手順で行われてるんですか?
同じバージョンの.net core から.net coreを呼び出してるのにTypeIntializationExceptionが発生します
たぶん正しいアセンブリが読み込めてないのだと思うのですが、アセンブリの読み込みタイミングやバージョンを指定することは可能なのでしょうか
32デフォルトの名無しさん (オッペケ Sr8d-Cmpq)
2020/05/27(水) 18:29:21.50ID:LUVXPnpcr 上のお話見てると突き詰めれば値型と参照型の定義の問題になってきそう
C#の構造体は中に値型以外を詰め込むとその部分はCレベルで言うポインタのポインタを保持する形になってコピー時の挙動以外はclassと大差ないものになっちゃうよね
ポインタのポインタの値型だと言えばそうなのかもしれないけど
C#の構造体は中に値型以外を詰め込むとその部分はCレベルで言うポインタのポインタを保持する形になってコピー時の挙動以外はclassと大差ないものになっちゃうよね
ポインタのポインタの値型だと言えばそうなのかもしれないけど
33デフォルトの名無しさん (ワッチョイ 2b2c-NZk0)
2020/05/27(水) 21:06:51.81ID:wHIUQvvs034デフォルトの名無しさん (ワッチョイ 5350-Cmpq)
2020/05/27(水) 23:51:33.69ID:LGEhqROa0 参照してるdllにエントリポイントがないと言われるだけでそれ以上検索してもなにも出てこないです
こう聞いた方がいいのかもしれないです
.net frameworkの時は自前でシステムのアセンブリ参照できましたが
.net coreにも似たような仕組みはあるのでしょうか
こういうアセンブリ関係の問題は.net frameworkの時は自前で参照加えたらできたんですけど
.net coreになってフレームワーク二つしか選択肢がなくなって細かい参照が出来なくなってますがそれはどこがどういう風に解決してるのでしょうか?
特定のライブラリが使いたいというよりそこら辺の内部仕様が知りたいです
こう聞いた方がいいのかもしれないです
.net frameworkの時は自前でシステムのアセンブリ参照できましたが
.net coreにも似たような仕組みはあるのでしょうか
こういうアセンブリ関係の問題は.net frameworkの時は自前で参照加えたらできたんですけど
.net coreになってフレームワーク二つしか選択肢がなくなって細かい参照が出来なくなってますがそれはどこがどういう風に解決してるのでしょうか?
特定のライブラリが使いたいというよりそこら辺の内部仕様が知りたいです
35デフォルトの名無しさん (ワッチョイ 5350-Cmpq)
2020/05/27(水) 23:59:10.55ID:LGEhqROa0 あ、アセンブリが読み込めてないと思った一番の理由はdllでなくプロジェクトにcsで組み込んだらちゃんと動いたからです
そういう意味で言語レベルでのミスはないです
そういう意味で言語レベルでのミスはないです
36デフォルトの名無しさん (アウアウエー Sa23-1zQY)
2020/05/28(木) 11:28:38.46ID:vYrFHFhya csc -reference:(.NetCoreのpath) hoge.cs でいけるよ
37デフォルトの名無しさん (ワッチョイ 99da-e++8)
2020/08/09(日) 14:22:49.34ID:wMn4aE4e0 WindowsFormで写真データ取り込みを作ってるんですが、
DriveInfo.GetDrives()してもWindows10に接続して認証したあとの
iPhoneのドライブが読み取れず・・・
どうにか拾えないもんでしょうか?
DriveInfo.GetDrives()してもWindows10に接続して認証したあとの
iPhoneのドライブが読み取れず・・・
どうにか拾えないもんでしょうか?
38デフォルトの名無しさん (ワッチョイ b197-naiu)
2020/08/09(日) 18:07:11.93ID:xLYoDobK0 あれは普通のディスクとしてマウントされてるわけじゃなくてメディア転送プロトコルってやつだから、
それじゃアクセス出来ないと思う。
それじゃアクセス出来ないと思う。
39デフォルトの名無しさん (ワッチョイ 69cf-LfAJ)
2020/08/09(日) 18:44:35.04ID:8DR9OUqp0 検索キーワード MTP、WPD かな
41デフォルトの名無しさん (ワッチョイ e52f-++7W)
2020/08/12(水) 23:54:10.55ID:i8qk9stm0 カレントディレクトリに
\data¥
というディレクトリを作成したいのですが、
どうすればいいのでしょう?
\data¥
というディレクトリを作成したいのですが、
どうすればいいのでしょう?
42デフォルトの名無しさん (ワッチョイ 9d78-p5K4)
2020/08/13(木) 09:33:35.31ID:qi529V0c043デフォルトの名無しさん (ワッチョイ e52f-++7W)
2020/08/14(金) 00:43:36.55ID:ZEhSJMBs044デフォルトの名無しさん (ワッチョイ e52f-++7W)
2020/08/16(日) 15:05:57.24ID:fvXawAJc0 機器構成の設定を記載したconfigファイルをアプリ上で作成して、
アプリ実行時にconfigの内容を変数に読み込むことを行おうと思ってます。
configファイルって普通どんなふうに書くんだろうと思って、
あるアプリのconfigファイルを覗いてみたところ下のような感じになっていました。
[Config]
StartUpLeft=-2147483648
StartUpTop=-2147483648
StartUpWidth=640
StartUpHeight=480
SaveWindowPosSize=1
SaveWindowRectLeft=597
SaveWindowRectRight=3645
SaveWindowRectTop=1256
SaveWindowRectBottom=3436
SaveWindowMaximize=0
このテキストファイルを
string line = sr.ReadLine();
// 読み込んだ一行をカンマ毎に分けて配列に格納する
string[] values = line.Split('=');
とすると偶数のvaluesに値が入ってるからこれを使用するみたいな感じでOK?
〇〇できちっと書けやぁ!みたいな形式があったら教えて下さい。
アプリ実行時にconfigの内容を変数に読み込むことを行おうと思ってます。
configファイルって普通どんなふうに書くんだろうと思って、
あるアプリのconfigファイルを覗いてみたところ下のような感じになっていました。
[Config]
StartUpLeft=-2147483648
StartUpTop=-2147483648
StartUpWidth=640
StartUpHeight=480
SaveWindowPosSize=1
SaveWindowRectLeft=597
SaveWindowRectRight=3645
SaveWindowRectTop=1256
SaveWindowRectBottom=3436
SaveWindowMaximize=0
このテキストファイルを
string line = sr.ReadLine();
// 読み込んだ一行をカンマ毎に分けて配列に格納する
string[] values = line.Split('=');
とすると偶数のvaluesに値が入ってるからこれを使用するみたいな感じでOK?
〇〇できちっと書けやぁ!みたいな形式があったら教えて下さい。
45デフォルトの名無しさん (ワッチョイ e5da-szjd)
2020/08/16(日) 15:14:56.52ID:Apm8kmni0 profile でggr
46デフォルトの名無しさん (ワッチョイ e52f-++7W)
2020/08/16(日) 15:30:58.63ID:fvXawAJc0 >>45
ググってみましたが難しい・・・。
アプリ内で変数を10個ぐらいもっていて
int hoge1=100
int hoge2=12
等
これをテキストファイルに保存し、必要なときに
int hoge1=100
int hoge2=12
にアプリ内で戻したいのですが、簡単に実現出来る方法があればいいなと思ったのですが・・・。
ググってみましたが難しい・・・。
アプリ内で変数を10個ぐらいもっていて
int hoge1=100
int hoge2=12
等
これをテキストファイルに保存し、必要なときに
int hoge1=100
int hoge2=12
にアプリ内で戻したいのですが、簡単に実現出来る方法があればいいなと思ったのですが・・・。
47デフォルトの名無しさん (アウウィフ FFa5-jwrZ)
2020/08/16(日) 15:39:24.55ID:43uVw8aVF msgpack
48デフォルトの名無しさん (アウウィフ FFa5-jwrZ)
2020/08/16(日) 15:39:24.66ID:43uVw8aVF msgpack
49デフォルトの名無しさん (ワッチョイ 4201-eTOa)
2020/08/16(日) 15:59:09.65ID:7n2hwSPz0 >>44
その形式は ini ファイルなので C# ini ファイルでググれば事例がいっぱい出てくるよ
基本はWin32APIのGetPrivateProfileString( )とかを使う
もし設定ファイルの形式をこれから決められるならjsonおすすめ
DataContractJsonSerializerクラスを使えば読み書きも簡単だし
その形式は ini ファイルなので C# ini ファイルでググれば事例がいっぱい出てくるよ
基本はWin32APIのGetPrivateProfileString( )とかを使う
もし設定ファイルの形式をこれから決められるならjsonおすすめ
DataContractJsonSerializerクラスを使えば読み書きも簡単だし
50デフォルトの名無しさん (スップ Sdc2-k0xq)
2020/08/16(日) 17:07:59.63ID:06o4EVzRd json xml csv ini
好きなのを選べ
好きなのを選べ
51デフォルトの名無しさん (アウウィフ FFa5-jwrZ)
2020/08/16(日) 18:15:38.13ID:43uVw8aVF SQLiteも良いぞ
52デフォルトの名無しさん (ワッチョイ c22f-178q)
2020/08/16(日) 19:19:49.11ID:WOuIdI6T0 まずアプリケーション構成ファイルを検討するべきだと思うんだが
53デフォルトの名無しさん (ワッチョイ e52f-++7W)
2020/08/16(日) 22:09:22.28ID:fvXawAJc0 なんかどんどん難しくなってきました。
最近だxmlで書くのがデフォルトなんでしょうか・・・。
iniで書くのも結構荷が重い、気合い入れて勉強するべきか・・・。
最近だxmlで書くのがデフォルトなんでしょうか・・・。
iniで書くのも結構荷が重い、気合い入れて勉強するべきか・・・。
54デフォルトの名無しさん (ワッチョイ 426a-p5K4)
2020/08/16(日) 22:11:13.68ID:k/QA8A3q0 >>53
>52 でggr
>52 でggr
55デフォルトの名無しさん (ワッチョイ 2e7b-HgDC)
2020/08/16(日) 23:19:02.50ID:nvuv1Tdc0 >>53
https://dobon.net/vb/dotnet/programing/storeappsettings.html
https://dobon.net/vb/dotnet/programing/appconfigfile.html
設定ファイルなんか自由に作れるんだから最初に自分で書いたやつでいいのに
https://dobon.net/vb/dotnet/programing/storeappsettings.html
https://dobon.net/vb/dotnet/programing/appconfigfile.html
設定ファイルなんか自由に作れるんだから最初に自分で書いたやつでいいのに
56デフォルトの名無しさん (ワッチョイ 7197-9ujE)
2020/08/16(日) 23:58:11.71ID:RfOjKn2y0 いまだとjson以外で書くことないな。
どんなプラットフォームでもjsonはサポートしてるし、どんなものでも入れられることがわかってるしね。
どんなプラットフォームでもjsonはサポートしてるし、どんなものでも入れられることがわかってるしね。
57デフォルトの名無しさん (ワッチョイ c2ad-uJ/S)
2020/08/17(月) 00:06:36.72ID:a2Z8AZRc0 ものによるやろ。xmlで書くこともあるし、もちろんjsonも。yamlだって最近は多いでしょ?
58デフォルトの名無しさん (ワッチョイ 7197-9ujE)
2020/08/17(月) 00:14:03.00ID:FrBqpQ/k0 xmlはめんどくさすぎるから、DTDでちゃんと定義したいとかじゃなかったら使いたくないな。もちろんケースバイケースなのはそうだけど。
改行区切り、タブ区切りとかもまだまだ場合によっては使うしね。
改行区切り、タブ区切りとかもまだまだ場合によっては使うしね。
59デフォルトの名無しさん (ワッチョイ e5da-QFj7)
2020/08/17(月) 01:29:02.95ID:U9ZmQUIp0 カンマ区切りと固定長のまざった独自糞フォーマットでのIO書いたことはあるけど、自由に出来る時はjsonかxml
大体はjsonだけど、きちんと定義したデータ使いたいときにRelaxNGで定義してXMLで書いたことはある。
大体はjsonだけど、きちんと定義したデータ使いたいときにRelaxNGで定義してXMLで書いたことはある。
60デフォルトの名無しさん (ワッチョイ dd5f-c+0i)
2020/08/17(月) 10:22:34.64ID:L1BKvkJB0 些細な枝葉で悩む時間あったら
本体のプログラムで悩め
本体のプログラムで悩め
61デフォルトの名無しさん (ワッチョイ 7161-p5K4)
2020/08/17(月) 14:45:20.65ID:qSl9GgHf0 プログラマーはつい余計な事まで調べてしまう生き物なのです
62デフォルトの名無しさん (ワッチョイ 2e7b-HgDC)
2020/08/17(月) 17:51:52.39ID:LJQO1qfq0 調べるのはいいが掲示板で最初から聞くのは違うな
そしてどうでもいいことにこだわり始めるのはだいたい行き詰っているとき
そしてどうでもいいことにこだわり始めるのはだいたい行き詰っているとき
63デフォルトの名無しさん (ワッチョイ e12d-QlkZ)
2020/08/17(月) 18:41:16.65ID:fmYMlnoO0 選択肢が沢山あったら調べないと選べないわな
64デフォルトの名無しさん (ブーイモ MMc3-Lo6F)
2020/08/19(水) 19:05:35.00ID:cHzrh2OwM global::クラス名で
2つがバッティングしてます
外部からのdll2つなんで
namespaceつける等の変更できない
どう解決できる?
2つがバッティングしてます
外部からのdll2つなんで
namespaceつける等の変更できない
どう解決できる?
65デフォルトの名無しさん (ブーイモ MMc3-Lo6F)
2020/08/19(水) 19:07:04.67ID:cHzrh2OwM global::ファイル名.クラス名
とかできない?
とかできない?
66デフォルトの名無しさん (ワッチョイ 7f01-3yFl)
2020/08/19(水) 19:54:53.70ID:maQwl2d2067デフォルトの名無しさん (ブーイモ MMc3-Lo6F)
2020/08/19(水) 20:17:03.21ID:cHzrh2OwM ありがとー
68デフォルトの名無しさん (ワッチョイ 1f5f-YpYZ)
2020/08/20(木) 00:21:28.68ID:r1uYCcYS0 ちょっとくだらない質問で申し訳ないんだけど
構造体の定義のソースってどうしてる?
クラス内に通信電文用の構造体をいっぱい作ったのだけど
ソースがでかくなっちゃうからpartial使ってわけた方がいいのか
あくまで一個のソース内にまとめるか・・・
構造体の定義のソースってどうしてる?
クラス内に通信電文用の構造体をいっぱい作ったのだけど
ソースがでかくなっちゃうからpartial使ってわけた方がいいのか
あくまで一個のソース内にまとめるか・・・
69デフォルトの名無しさん (ワッチョイ 7f19-RBSG)
2020/08/20(木) 00:37:16.53ID:zII9NukZ0 どれくらいでかいのかわからんけどあんま分けないかなー?
1万行超えるとかなら分けること考える
1万行超えるとかなら分けること考える
70デフォルトの名無しさん (ワッチョイ 7fad-zicy)
2020/08/20(木) 00:37:57.60ID:VY9dfKBD0 通信電文…
71デフォルトの名無しさん (エムゾネ FF9f-fHWV)
2020/08/20(木) 11:24:45.34ID:RX/3qqm6F 設計を見直す
72デフォルトの名無しさん (ワッチョイ 1f02-WzHs)
2020/08/20(木) 19:14:02.34ID:3p9OuWNz0 分割しようかと迷う規模なら分割もありだと思う。
ベース部分は独立させて、機能毎に実装ファイルの頭に使用する下位レベルの電文を定義する。
電文は全部まとめるか?分割するか?ケースバイケースだね。
ベース部分は独立させて、機能毎に実装ファイルの頭に使用する下位レベルの電文を定義する。
電文は全部まとめるか?分割するか?ケースバイケースだね。
73デフォルトの名無しさん (ワッチョイ ff2c-UMPN)
2020/08/21(金) 00:15:17.71ID:S3Udh9wa0 クラス内にネストさせるんじゃなくて
下位の名前空間作ってそこに構造体群を置けばいいよ
下位の名前空間作ってそこに構造体群を置けばいいよ
74デフォルトの名無しさん (ワッチョイ 7f6a-YpYZ)
2020/08/21(金) 00:57:13.38ID:Gtp12ERl0 >>68
クラス内に作らないで独立させれば良いのでは?
クラス内に作らないで独立させれば良いのでは?
75デフォルトの名無しさん (ワッチョイ 1f02-9mMV)
2020/08/21(金) 19:38:02.21ID:EuQicFr70 だいたい >>73 方式で、基本的には ファイル名 = クラス名 を目指すな。自分は。
76デフォルトの名無しさん (ワッチョイ ff8f-YpYZ)
2020/08/24(月) 21:06:09.96ID:RikpSc+F0 xamarin でTDDを勉強してるんだけど、
public event PropertyChangedEventHandler PropertyChanged;
この PropertyChanged 自体がnullになって例外で終わるのって
どういうパターンがあるんだろう・・・。
勉強したいことと全く別のところで長期足止め。わっけわからん状態。
public event PropertyChangedEventHandler PropertyChanged;
この PropertyChanged 自体がnullになって例外で終わるのって
どういうパターンがあるんだろう・・・。
勉強したいことと全く別のところで長期足止め。わっけわからん状態。
77デフォルトの名無しさん (ワッチョイ 1fda-I59K)
2020/08/24(月) 21:08:36.33ID:aT1DNS2r078デフォルトの名無しさん (ワッチョイ 7f6a-YpYZ)
2020/08/24(月) 21:32:50.65ID:LR7hSPm30 >>76
ハンドラが1こも登録されてないとnullなんじゃないかな
ハンドラが1こも登録されてないとnullなんじゃないかな
79デフォルトの名無しさん (ワッチョイ 9fad-SYpC)
2020/08/25(火) 00:40:04.02ID:xXAVzV+T080デフォルトの名無しさん (エムゾネ FF9f-fHWV)
2020/08/25(火) 10:33:43.97ID:Zt9gBA2MF ここで質問するより
直接ちょまどにツイートしろって意味かな?
返事来るかどうか知らんけど
直接ちょまどにツイートしろって意味かな?
返事来るかどうか知らんけど
81デフォルトの名無しさん (ワッチョイ ae8f-1etN)
2020/08/26(水) 15:08:57.61ID:7Xms6Gwm0 >>78
ありがとう。どうやら「どっかが+=してくれる」っていう前提なんだね、これ。
PropertyChanged?.invoke(this, e);
で呼び出したら動いた。現役じゃなくなって長いもんで(趣味のプログラム)、
このへんの書き方に苦労するなあ。
ありがとう。どうやら「どっかが+=してくれる」っていう前提なんだね、これ。
PropertyChanged?.invoke(this, e);
で呼び出したら動いた。現役じゃなくなって長いもんで(趣味のプログラム)、
このへんの書き方に苦労するなあ。
82デフォルトの名無しさん (ワッチョイ fe2d-ifKp)
2020/08/26(水) 21:05:30.88ID:6US3/cP40 >>81
null条件演算子が出来る前はeventに空のdelegateを代入しておくテクニックがあった
public event PropertyChangedEventHandler PropertyChanged; = delegate {};
null条件演算子が出来る前はeventに空のdelegateを代入しておくテクニックがあった
public event PropertyChangedEventHandler PropertyChanged; = delegate {};
83デフォルトの名無しさん (ワッチョイ ae8f-1etN)
2020/08/26(水) 21:12:34.97ID:7Xms6Gwm084デフォルトの名無しさん (ワッチョイ fe2d-ifKp)
2020/08/26(水) 21:15:17.42ID:6US3/cP40 >>83
途中のセミコロンはミスだよ
途中のセミコロンはミスだよ
85デフォルトの名無しさん (ワッチョイ 452f-JI6e)
2020/08/27(木) 23:21:35.12ID:dU9vSxaE0 フォームアプリで
フォームAで検査をして、検査終了後に
「データを記録しますか?」
「はい」「いいえ」
というウインドウを表示して、
「はい」ならデータ記録
「いいえ」ならデータ廃棄
としたいです。
フォームAで検査をして、検査終了後に
「データを記録しますか?」
「はい」「いいえ」
というウインドウを表示して、
「はい」ならデータ記録
「いいえ」ならデータ廃棄
としたいです。
86デフォルトの名無しさん (ワッチョイ 452f-JI6e)
2020/08/27(木) 23:23:39.98ID:dU9vSxaE0 データはフォームAにあるので、
1. フォームAからフォームBを開く
2. フォームBは「はい」「いいえ」を戻り値としてAに渡す
3. フォームAでデータ記録、データ廃棄の処理を行う
みたいな処理でいいのでしょうか?
それとももっとよいやり方がありますか?
1. フォームAからフォームBを開く
2. フォームBは「はい」「いいえ」を戻り値としてAに渡す
3. フォームAでデータ記録、データ廃棄の処理を行う
みたいな処理でいいのでしょうか?
それとももっとよいやり方がありますか?
87デフォルトの名無しさん (ワッチョイ 2963-tT7J)
2020/08/28(金) 00:01:20.33ID:IRRC70To088デフォルトの名無しさん (ワッチョイ 452f-JI6e)
2020/08/28(金) 00:27:25.73ID:ljA+yCxF0 ありがとうございます。
これですね。
なんかフォーム新たに作るとかこんなめんどくさいことしなきゃいけないのか?
と疑問に思ってたんですが、聞いてよかったです。
ありがとうございます。
明日実装してみます。
これですね。
なんかフォーム新たに作るとかこんなめんどくさいことしなきゃいけないのか?
と疑問に思ってたんですが、聞いてよかったです。
ありがとうございます。
明日実装してみます。
89デフォルトの名無しさん (ワッチョイ 026a-1etN)
2020/08/28(金) 00:45:40.60ID:QGPxocm50 MessageBoxを知らない子供達さ〜
90デフォルトの名無しさん (ワッチョイ 7f2f-Q6Op)
2020/09/02(水) 22:47:24.65ID:uEUYmCsp0 C#からpythonのプログラムをコマンドライン引数hoge付きで実行したのですが、
System.Diagnostics.Process.Start("python.exe", @"""L:\main.py hoge""")
とやっても実行できません。
なにかより方法ないでしょうか?
System.Diagnostics.Process.Start("python.exe", @"""L:\main.py hoge""")
とやっても実行できません。
なにかより方法ないでしょうか?
91デフォルトの名無しさん (ワッチョイ 8761-XrX+)
2020/09/02(水) 23:26:38.05ID:dpuRzFGP0 なぜスクリプトファイル名と引数をダブルクォートでひとくくりにしてる?
92デフォルトの名無しさん (ワッチョイ 7f2f-Q6Op)
2020/09/02(水) 23:30:40.61ID:uEUYmCsp093デフォルトの名無しさん (ワッチョイ 0701-XrX+)
2020/09/03(木) 00:53:19.68ID:mQe+iHXO0 System.Diagnostics.Process.Start("python.exe", @"L:\main.py hoge")
94デフォルトの名無しさん (ワッチョイ 7f2f-Q6Op)
2020/09/03(木) 21:24:36.01ID:9keo2Hbe095デフォルトの名無しさん (ブーイモ MMcf-a2Nv)
2020/09/03(木) 22:26:34.29ID:a8iQwzgfM Pythonスレにもちゃんと報告しような
96デフォルトの名無しさん (ワッチョイ 0701-3NJ+)
2020/09/04(金) 01:43:56.80ID:bkNZTAxK0 var sb = new StringBuilder();
var c = 'a';
while (true)
sb.Append(c);
これで一番下の行に破棄'_'を使用っていうVSによるヒントが出てくるんだけど、
こういう場合の破棄って使用する場合としない場合でどういう違いがあるの?
var c = 'a';
while (true)
sb.Append(c);
これで一番下の行に破棄'_'を使用っていうVSによるヒントが出てくるんだけど、
こういう場合の破棄って使用する場合としない場合でどういう違いがあるの?
97デフォルトの名無しさん (ワッチョイ 0701-XrX+)
2020/09/04(金) 03:29:44.58ID:TqZk/BuV0 >>96
破棄は、未割り当ての変数と同等です。つまり、値がありません。
破棄変数は 1 つのみであり、破棄変数には記憶域も割り当てられないため、破棄を使用するとメモリの割り当てを減らすことができます。
また、コードの意図がわかりやすくなるため、読みやすさと保守性が向上します。
破棄は、未割り当ての変数と同等です。つまり、値がありません。
破棄変数は 1 つのみであり、破棄変数には記憶域も割り当てられないため、破棄を使用するとメモリの割り当てを減らすことができます。
また、コードの意図がわかりやすくなるため、読みやすさと保守性が向上します。
98デフォルトの名無しさん (スプッッ Sdff-ZOCO)
2020/09/04(金) 18:32:36.17ID:rMUAG7hVd linqて出た頃はselectとか予約語になってたはずだけど、今は使わん方がいいの?
99デフォルトの名無しさん (ワッチョイ 5f79-Q6Op)
2020/09/04(金) 18:38:00.42ID:/sa+TO100 LINQやクエリ式を連想するからやめといた方がいい
100デフォルトの名無しさん (ワッチョイ 7f2c-FZ/+)
2020/09/04(金) 20:52:19.83ID:lU7Szfms0 あくまでコンテキストキーワードだから当初から識別子として使えたよ
group辺りは変数名として割と使う
group辺りは変数名として割と使う
101デフォルトの名無しさん (スフッ Sd7f-Q6Op)
2020/09/04(金) 21:11:01.67ID:MHAfw/ead groupって変数名としてほとんど何の情報も持たないし普通にバッドネーミングでは
GroupTheoryのGroupとかの専門用語でもない限り
GroupTheoryのGroupとかの専門用語でもない限り
102デフォルトの名無しさん (ワッチョイ c787-uZdr)
2020/09/04(金) 22:52:38.00ID:/hXTsLtS0 >>101
右辺から意味がはっきりしてる寿命が短いローカル変数ならいいんじゃない?それこそlinqのグループバイの戻り値とか。まぁそんなんだったらgとかにしちゃうけど
右辺から意味がはっきりしてる寿命が短いローカル変数ならいいんじゃない?それこそlinqのグループバイの戻り値とか。まぁそんなんだったらgとかにしちゃうけど
103デフォルトの名無しさん (スフッ Sd7f-Q6Op)
2020/09/04(金) 22:55:02.48ID:MHAfw/ead >>102
数行くらいの寿命ならまあたしかに
数行くらいの寿命ならまあたしかに
104デフォルトの名無しさん (ワッチョイ 11da-K//f)
2020/09/13(日) 12:05:22.97ID:/5CZgoyc0 LINQの話題になってるから聞きたいんですが、LINQって結構遅い?
ベンチマークとって襲いって主張してるブログとかはあるけど、実業務で遅さを実感する事ってどのくらいある?
ベンチマークとって襲いって主張してるブログとかはあるけど、実業務で遅さを実感する事ってどのくらいある?
105デフォルトの名無しさん (ワッチョイ 11da-SlgL)
2020/09/13(日) 12:15:27.66ID:pEIp8weP0 LINQ使わないで書くよりも遅いことは遅いんだけど、経験的にはあんまり問題にはならなかった
実際に使ってみてどうしてもLINQ使ってる辺りでネックになるようなら、
そこだけ書き直す感じでいいと思う
実際に使ってみてどうしてもLINQ使ってる辺りでネックになるようなら、
そこだけ書き直す感じでいいと思う
106デフォルトの名無しさん (ワッチョイ 3dad-Q/Xd)
2020/09/13(日) 12:21:40.35ID:tOkSvJ4p0 Linq使ったほうが楽に高速化できることもあるし、場合場合じゃないかな。
PLINQは良くコア数指定せずにぶん回して「遅い」って言ってる奴いるけど、コア数指定したら割と良い線行く。
PLINQは良くコア数指定せずにぶん回して「遅い」って言ってる奴いるけど、コア数指定したら割と良い線行く。
107デフォルトの名無しさん (ワッチョイ 6663-9dCp)
2020/09/13(日) 15:15:56.81ID:SPHVq8sr0 処理速度が求められるような部分だとネックになってると感じることもある
シミュレーションみたいなのね
そういうの以外では全く気にならない
どうせ処理速度より通信やファイル読み書きのほうが圧倒的に時間かかるから
シミュレーションみたいなのね
そういうの以外では全く気にならない
どうせ処理速度より通信やファイル読み書きのほうが圧倒的に時間かかるから
108デフォルトの名無しさん (アウアウカー Sa55-zN8f)
2020/09/13(日) 17:02:03.95ID:1OL+BwFGa linq to sqlだと気付かずにクエリがクライアント側で行われるなんてことが無くはない
109デフォルトの名無しさん (ワッチョイ ea79-m1Uj)
2020/09/13(日) 18:23:51.90ID:4Acyfihv0 ループのコストを気にするレベルの処理(数値計算とか)だとLINQは遅いが
大半の処理は0秒の範疇で終わるし遅さを実感できるタイミングは少ない
大半の処理は0秒の範疇で終わるし遅さを実感できるタイミングは少ない
110デフォルトの名無しさん (ワッチョイ 6aad-2PvT)
2020/09/13(日) 19:19:25.97ID:B0Qk5cLa0 >>108
なぜいまさら?
なぜいまさら?
111デフォルトの名無しさん (アウアウウー Sa21-onCg)
2020/09/14(月) 08:49:45.52ID:h4D3dIgFa LINQは普段使い出来る
112デフォルトの名無しさん (ワッチョイ 491a-dZ6E)
2020/09/15(火) 14:28:22.27ID:dHOvpMD80 むしろ普段使いこそLINQ
ガチで組むときだけ使わない
ガチで組むときだけ使わない
113デフォルトの名無しさん (ワッチョイ 11da-TU66)
2020/09/15(火) 15:19:30.20ID:zwHnTqIb0 #metoo
114デフォルトの名無しさん (ワッチョイ 1ee9-S6Ic)
2020/09/26(土) 09:10:33.60ID:z7P86v//0 ほぼC#経験しか無いのですが、最近iPhoneでアプリ作りにトライして貰いたいと言われました
経験的にC#とXamarinで作れたらと思うのですが、実用に耐えるものなのでしょうか?
王道のSwiftを覚えるべきでしょうか
オススメをお聞きしたいです
経験的にC#とXamarinで作れたらと思うのですが、実用に耐えるものなのでしょうか?
王道のSwiftを覚えるべきでしょうか
オススメをお聞きしたいです
115デフォルトの名無しさん (ブーイモ MM0e-tH1f)
2020/09/26(土) 09:20:31.76ID:eGNdIrqPM116デフォルトの名無しさん (ワッチョイ 1663-YB2V)
2020/09/26(土) 09:27:09.80ID:jvAfHmw30 産まれながらに豪運をお持ちであるか
最終的に開発するアプリがごく小規模でないのなら、Swiftを薦めるかなあ
ネイティブのクロスプラットフォームフレームワークって機嫌よく動いているうちはいいんだけど
いざトラブルが起きた時、フレームワークそのものの知識と目的のプラットフォームの知識、両方がないと問題を解決できないのね
最終的に開発するアプリがごく小規模でないのなら、Swiftを薦めるかなあ
ネイティブのクロスプラットフォームフレームワークって機嫌よく動いているうちはいいんだけど
いざトラブルが起きた時、フレームワークそのものの知識と目的のプラットフォームの知識、両方がないと問題を解決できないのね
117デフォルトの名無しさん (スププ Sd32-D1lY)
2020/09/26(土) 10:28:09.86ID:zTe0m+jEd iOSの事はあんまりわからんけど、Androidの場合でも、結局Androidの記事を読むことになるから、ネイティブの知識は必要になるよ。
だから逆にネイティブの知識で何とかなるXamarinは好きなんだけど。
ネイティブに対してLinqが書けたり、C#のライブラリが使えるメリットを感じられなければ、ネイティブの方が良いと思う。
俺はサーバ側もc#で済ますときに圧倒的に楽だし、Linqめっちゃ使うし、LiteDBとか使いたいからXamarinは割と選択肢にしてる。
気持ち悪いとか、信者がどうとかそういう話に持ってくのはやめてほしいわ。
だから逆にネイティブの知識で何とかなるXamarinは好きなんだけど。
ネイティブに対してLinqが書けたり、C#のライブラリが使えるメリットを感じられなければ、ネイティブの方が良いと思う。
俺はサーバ側もc#で済ますときに圧倒的に楽だし、Linqめっちゃ使うし、LiteDBとか使いたいからXamarinは割と選択肢にしてる。
気持ち悪いとか、信者がどうとかそういう話に持ってくのはやめてほしいわ。
118デフォルトの名無しさん (ワッチョイ 1ee9-S6Ic)
2020/09/26(土) 10:33:53.78ID:z7P86v//0 やはりネイティブで慣れた上が無難ですかね
情報量はネイティブのが多いのは確実でしょうし
アドバイスありがとうございます
情報量はネイティブのが多いのは確実でしょうし
アドバイスありがとうございます
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか… [BFU★]
- 中国国営メディア「沖縄は日本ではない」… ★6 [BFU★]
- 政府、株式の配当など金融所得を高齢者の医療保険料や窓口負担に反映する方針を固めた [バイト歴50年★]
- 中国国営メディア「沖縄は日本ではない」…★7 [BFU★]
- ナイツ塙が指摘のローソンコーヒーカップ、ロゴ「L」で誤解生みデザイン変更へ 在庫使い切る3か月後にリニューアル [muffin★]
- バービー、 台湾有事の発言の波紋で「たまったもんじゃない」「高市さんに真意は聞きたい」「国民に向けて説明してほしい」 [muffin★]
- 日本政府「高市総理の発言は問題ないと伝え、中国総領事のSNS投稿は問題があると中国に伝えました😊」 [931948549]
- 高市早苗、岸田政権(当時)に「台湾有事は日本の有事か」という質問をしていた [175344491]
- ケンタッキーの○○○バーガーという予告がアレを想起すると話題に [523957489]
- 【悲報】中国→日本行きの航空チケット、高市有事の影響で50万人分がキャンセルされる [834922174]
- んなっしょい🍬禁止🈲のお🏡
- 【悲報】早速高市首相のせいで全国の民泊でキャンセルラッシュwwwwwwwwwwww 経営者も嘆き「こんな事は初めてだ…」😲 [871926377]
