!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:ZZcTomnN02デフォルトの名無しさん (ワッチョイ b35f-5Uxj)
2019/03/20(水) 19:00:25.69ID:ZZcTomnN03デフォルトの名無しさん (ワッチョイ b35f-5Uxj)
2019/03/20(水) 19:08:02.73ID:ZZcTomnN0 ■過去スレ
C#, C♯, C#相談室 Part90
http://echo.2ch.net/test/read.cgi/tech/1455160063/
C#, C♯, C#相談室 Part91
http://echo.2ch.net/test/read.cgi/tech/1467142749/
C#, C♯, C#相談室 Part91 (実質Part92)
http://echo.2ch.net/test/read.cgi/tech/1467211515/
C#, C♯, C#相談室 Part92 (実質Part93)
http://echo.2ch.net/test/read.cgi/tech/1485589613/
C#, C♯, C#相談室 Part93 (実質Part94)
http://mevius.5ch.net/test/read.cgi/tech/1492818720/
>>1
ここは、実質Part95だったorz
C#, C♯, C#相談室 Part90
http://echo.2ch.net/test/read.cgi/tech/1455160063/
C#, C♯, C#相談室 Part91
http://echo.2ch.net/test/read.cgi/tech/1467142749/
C#, C♯, C#相談室 Part91 (実質Part92)
http://echo.2ch.net/test/read.cgi/tech/1467211515/
C#, C♯, C#相談室 Part92 (実質Part93)
http://echo.2ch.net/test/read.cgi/tech/1485589613/
C#, C♯, C#相談室 Part93 (実質Part94)
http://mevius.5ch.net/test/read.cgi/tech/1492818720/
>>1
ここは、実質Part95だったorz
4デフォルトの名無しさん (ワッチョイ b317-B/CD)
2019/03/20(水) 21:27:00.84ID:jN76oFxX0 >>1乙
5デフォルトの名無しさん (ワッチョイ b317-B/CD)
2019/03/20(水) 21:30:27.06ID:jN76oFxX06デフォルトの名無しさん (ワッチョイ 237d-KxX0)
2019/04/25(木) 12:02:26.84ID:4R4XZvlv0 C#でセレニウムにチャレンジしています。
Chromeを起動すると「Chromeは自動テスト ソフトウェアによって制御されています」と
メッセージが表示されてうざいです。
これを非表示にする方法はないでしょうか?
Chromeを起動すると「Chromeは自動テスト ソフトウェアによって制御されています」と
メッセージが表示されてうざいです。
これを非表示にする方法はないでしょうか?
7デフォルトの名無しさん (ワッチョイ ad17-KxX0)
2019/04/25(木) 19:25:05.43ID:AhYgPDY90 マルチ乙
8デフォルトの名無しさん (ワッチョイ e27d-ahOC)
2019/05/02(木) 16:30:08.45ID:h4DYiPpB0 「練馬350 る 8 08」
〜〜〜〜〜〜〜〜
DQN運転手につき注意!
DQN運転手につき注意!
DQN運転手につき注意!
DQN運転手につき注意!
〜〜〜〜〜〜〜〜
DQN運転手につき注意!
DQN運転手につき注意!
DQN運転手につき注意!
DQN運転手につき注意!
9デフォルトの名無しさん (アウウィフ FFe9-8H9x)
2020/04/06(月) 10:14:35.66ID:TxMJ3ToxF 質問です
C# の struct で
引数無しのデフォルトコンストラクタを上書きできないのはなぜでしょう?
回避方法はありますか?
public struct Hoge {
public int a;
public int b;
public Hoge() { this.a = 123; this.b = 456; }
}
みたいなのがやりたいです
C# の struct で
引数無しのデフォルトコンストラクタを上書きできないのはなぜでしょう?
回避方法はありますか?
public struct Hoge {
public int a;
public int b;
public Hoge() { this.a = 123; this.b = 456; }
}
みたいなのがやりたいです
10デフォルトの名無しさん (ワッチョイ 233e-8H9x)
2020/04/06(月) 10:39:04.32ID:dJUJ6mUM0 public struct Hoge
{
public int a = 123;
public int b = 456;
}
でだめ?
{
public int a = 123;
public int b = 456;
}
でだめ?
11デフォルトの名無しさん (アウウィフ FFe9-8H9x)
2020/04/06(月) 10:39:59.95ID:TxMJ3ToxF コンパイルエラーになります
12デフォルトの名無しさん (ワッチョイ 233e-8H9x)
2020/04/06(月) 10:45:59.32ID:dJUJ6mUM0 残念です。あきらめてclassにしませう。
13デフォルトの名無しさん (ワッチョイ 0d0c-bVUD)
2020/04/06(月) 10:58:20.70ID:sF8ihuq40 暗黙的な既定のコンストラクタが挿入されないようにとのC#コンパイラの最適化の都合
特に回避策はない
標準ライブラリで
struct Vector3 {
...
public static Vector3 Up = new Vector3(0, 1, 0);
}
みたいなのはある
特に回避策はない
標準ライブラリで
struct Vector3 {
...
public static Vector3 Up = new Vector3(0, 1, 0);
}
みたいなのはある
14デフォルトの名無しさん (アウウィフ FFe9-8H9x)
2020/04/06(月) 12:06:20.02ID:TxMJ3ToxF レスくれたひととワッチョイ似てるけど別人です念のため
15デフォルトの名無しさん (アウウィフ FFe9-8H9x)
2020/04/06(月) 12:11:49.60ID:TxMJ3ToxF >>13
あまり有難みが無いですが・・・とりあえずレスくれたみなさんありがとう
class にしたくない理由は struct のネストをしたいのと
そのとき struct を Marshal.StructureToPtr して使いたいのですが
ネストの内側に class が含まれてると not blittable とか出て困ってるんです
あまり有難みが無いですが・・・とりあえずレスくれたみなさんありがとう
class にしたくない理由は struct のネストをしたいのと
そのとき struct を Marshal.StructureToPtr して使いたいのですが
ネストの内側に class が含まれてると not blittable とか出て困ってるんです
16デフォルトの名無しさん (ワッチョイ 252d-QC6I)
2020/04/06(月) 12:21:26.65ID:ujGPJmEH017デフォルトの名無しさん (ワッチョイ 252d-QC6I)
2020/04/06(月) 12:21:49.56ID:ujGPJmEH0 ごめん投稿先間違った。
18デフォルトの名無しさん (オッペケ Sr01-Po0K)
2020/04/06(月) 15:27:18.81ID:84GlTNOir 外側がクラスでも良いならラップするクラス作れば良いだけだけど
1915 (アウウィフ 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:qi529V0c0■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★4 [ぐれ★]
- 【音楽】Perfume・あ~ちゃんの結婚相手「一般男性」は吉田カバンの社長・吉田幸裕氏(41) 高身長で山本耕史似 [Ailuropoda melanoleuca★]
- 中国の局長は「両手をポケット」で対峙 宣伝戦で国民に示す ★3 [蚤の市★]
- 【大分】佐賀関で大規模火災、170棟以上が延焼中 70代男性1人と連絡取れず [ぐれ★]
- 【サッカー】U-17日本代表、激闘PK戦制す 北朝鮮撃破で6大会ぶり8強入り U17W杯 [久太郎★]
- 「クマはなるべく山に返す努力を」「クマと戦争は間違っている」動物保護活動家の主張 棲み分けと学習放獣でクマ被害なくなるのか?★7 [ぐれ★]
- とらせん IPあり
- 巨専】
- こいせん 全レス転載禁止
- 侍ジャパンシリーズ2025「日本vs韓国」その12
- 【DAZN】ワールドカップ欧州予選総合 ★5
- 【ATP】テニス総合実況スレ2025 Part 211【WTA】
- 【悲報】大分市佐賀関の火事、20軒→170軒に延焼🔥 [481941988]
- アンケート調査で「高市発言は問題なし」 93.5%wwwwwwwwwwwwwwwwwwwwwwwww [279254606]
- 肴は炙った〰イカでいい〰って歌あるじゃん?
- 自閉症が「んなっしょい」と連呼するお🏡
- 日本人の海外旅行したきのマナーよくなったのはいつから
- へそグリグリ
