!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■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 高市首相の答弁書に「台湾有事答えない」と明記 存立危機発言当時 ★9 [蚤の市★]
- 「今の女性はルッキズム」は本当なのか? 若い世代が結婚相手に求める"本当の条件" [少考さん★]
- 京都のホテル大幅値下げ 訪日中国人客、年1000万人目前で急ブレーキ ★2 [蚤の市★]
- 【サッカー】J1リーグの2025年平均観客動員数が4.4%増の21,246人 最多入場者数の2019年を超えて過去最高値 ★2 [尺アジ★]
- 【沖縄】宮古島で陸自防災訓練に抗議した団体、「恫喝された」と駐屯地トップ厳正捜査求め署名運動 「市民弾圧と戦争への道を…」 [少考さん★]
- 中国・ロシア両軍の爆撃機が東京方面へ向かう「異例のルート」を共同飛行…核も搭載可能、連携して威嚇か ★4 [ぐれ★]
- 【実況】博衣こよりのえちえちドラクエ1&2リメイク🧪
- 今井絵理子「君が代の公式手話版を国が一つに統一してよ。愛国心溢れる高市総理なら出来るでしょ」 [594040874]
- 正義のミカタ「中国は日本人の反高市勢力を裏で操ってる。あいつらはスパイ」 [931948549]
- 【実況】博衣こよりのえちえちドラクエ1&2リメイク🧪★2
- 【高市悲報】防衛大学生、横須賀から徹夜で靖国まで行進😤参拝者達は拍手で迎える【日帝しぐさ】 [359965264]
- スマホのデータをクラウド保存するのはもう古い。時代はスマホ裏に「貼るSSD」に保存するのがトレンドに [738130642]
