!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 かな
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【速報】政府、与党がNISA未成年解禁を検討 ★2 [蚤の市★]
- 中国外務省「正式な発言撤回なければ受け入れず」 高市首相は台湾有事「存立危機事態」言及せずも「言及しないことと撤回は別問題」★12 [ぐれ★]
- 【TV】ファン5万人がガチで投票! プロ野球総選挙、栄えある1位は [牛丼★]
- 「まだ朝7時に通勤してるんですか?」人気VTuberが語った“働き方への提言”に議論沸騰 [夜のけいちゃん★]
- 【*彡】巨人・坂本勇人 『流れ星に何を願うか』の質問に「結婚相手」と即答、結婚願望告白 女性ファンから歓声と悲鳴 [鉄チーズ烏★]
- 【おこめ】ベトナムから密輸のコメを「国産」と偽り販売容疑、ベトナム人ら2人追送検…300トン売って1億3000万円稼いだか 大阪 ★2 [ぐれ★]
- (ヽ´ん`)「嫌儲は『女の品評会』を批判してきた日本有数の一大左派コミュニティ。左派の活動家、Twitterの言論人も知るリベラルの砦」 [932029429]
- 高市早苗「いいから黙って全部アタシに投資しなさい!」国際金融会議で発言し周囲ドン引き [165981677]
- 【ネトウヨ死亡w】AIに「日中関係の今後を予測してみて」と聞いた結果、「日本必敗」と判明 [314039747]
- コンビニの卵蒸しパンって5年前は98円くらいだったよね
- 四季・水道水・民度・米、日本人からアイデンティティを奪ってやった。勝った!! [805596214]
- 【画像】童貞は絶対"5"を選ぶ修学旅行のバスに乗ってるJ K集合写真見つけちゃったwwwwwwwwwwwww [904880432]
