1 名前:デフォルトの名無しさん mailto:sage [2016/07/31(日) 12:02:50.03 ID:845Zva4M.net] 「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。 他のスレッドでは書き込めないような低レベルな質問、 質問者自身なんだか意味がよく分からない質問、 ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。 内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。 なお、テンプレが読めない回答者は邪魔なので後述のC#相談室に移動して下さい。 C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください >>980 を踏んだ人は新スレを建てて下さい。 >>980 が無理な場合、話し合って新スレを建てる人を決めて下さい。 ■前スレ ふらっと C#,C♯,C#(初心者用) Part122 echo.2ch.net/test/read.cgi/tech/1468078489/ ■関連スレ C#, C♯, C#相談室 Part91 echo.2ch.net/test/read.cgi/tech/1467142749/ ■コードを貼る場合は↓を使いましょう。 ideone.com/ https://dotnetfiddle.net/ ■情報源 https://msdn.microsoft.com/en-us/library/gg145045.aspx referencesource.microsoft.com/
75 名前:デフォルトの名無しさん mailto:sage [2016/08/02(火) 19:53:16.80 ID:1biageaY.net] >C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください よろしくお願いします
76 名前:デフォルトの名無しさん mailto:sage [2016/08/02(火) 19:53:58.84 ID:PbRjMUHM.net] 盛り上がってきた? ID:LBy6cWLg ID:LBy6cWLg は煽り屋だから絶対にレスは怠らないんだよな 反論しようかなぁ…
77 名前:デフォルトの名無しさん mailto:sage [2016/08/02(火) 19:59:46.23 ID:LBy6cWLg.net] >>70 とりあえず、自分で調べて覚えていくといいよ。 ttps://msdn.microsoft.com/ja-jp/library/system.io.stream.flush(v=vs.110).aspx ttps://msdn.microsoft.com/ja-jp/library/system.io.stream.close(v=vs.110).aspx 例えばこれ。 機械翻訳で日本語が変だから、英語モードにして、マウスを英文に当てながら日本語訳と照らしあわせて読むと便利。
78 名前:デフォルトの名無しさん mailto:sage [2016/08/02(火) 20:00:54.63 ID:PbRjMUHM.net] なんで俺が質問したことになってんのかなぁ…
79 名前:デフォルトの名無しさん mailto:sage [2016/08/02(火) 20:01:50.48 ID:PbRjMUHM.net] 自治厨って何が楽しいんだろう? 話が弾めばそれでよくね?
80 名前:デフォルトの名無しさん mailto:sage [2016/08/02(火) 20:03:01.77 ID:l2W1ufxp.net] いつもの連投君だからみんなスルーしてね
81 名前:デフォルトの名無しさん mailto:sage [2016/08/02(火) 20:03:44.52 ID:LBy6cWLg.net] あぼ〜んしました。
82 名前:デフォルトの名無しさん mailto:sage [2016/08/02(火) 20:09:29.37 ID:PbRjMUHM.net] どんな話題でも受け付けるのにflushの話もだめってちょっとおかしくね? flushとC#の関係で話弾ませばいいでしょ
83 名前:デフォルトの名無しさん [2016/08/02(火) 20:15:54.16 ID:PbRjMUHM.net] >>80 いっとくけど煽った事実を取り消すために質問に答えてもお前がまともな人間ではないことは確かだぞw こういう話題もいいんじゃね?的な提案に対してよくそれだけ舐めた口がきけるな
84 名前:デフォルトの名無しさん mailto:sage [2016/08/02(火) 20:23:15.88 ID:PbRjMUHM.net] はい次w
85 名前:デフォルトの名無しさん mailto:sage [2016/08/02(火) 20:37:36.46 ID:PbRjMUHM.net] >>79 違います、スレ進行は平和にいきましょう
86 名前:デフォルトの名無しさん mailto:sage [2016/08/02(火) 20:46:08.44 ID:HL5T2dK4.net] >>81 その通りだから馬鹿は無視してレスすりゃいいんだよ。 だいたい言うまでもないが「○○の話題は禁止」なんてレスが一番非生産的でスレ違い。
87 名前:デフォルトの名無しさん [2016/08/02(火) 21:23:22.41 ID:zxqOD1qT.net] なんだいつものか とっとと死ねよ
88 名前:デフォルトの名無しさん mailto:sage [2016/08/02(火) 21:24:28.86 ID:cFVAdB/l.net] 他人に文句を言うんじゃくて答えてあげればいいだろ 答えられないなら、質問の内容がこのスレにあっているか判断できてないんだから誘導した他の人に文句言うなよ 一般的な話なら他のスレでやったほうが詳しい人やわかりやすい説明できる人が多いだろ Flushの動作は実装に強く依存するから下手に具体的なこと書くと不正確だったり、当てはまらなかったりするんだよなあ C#レベルだと、「そういう決まりだから」が答え
89 名前:デフォルトの名無しさん mailto:sage [2016/08/02(火) 21:44:17.44 ID:PbRjMUHM.net] 誘導してる奴こそ質問もしないし答えもしないし存在価値ないだろ… Flushについては俺はどうでもいいけどさ、Bufferとの違いが分からないくらいかな
90 名前:デフォルトの名無しさん mailto:sage [2016/08/02(火) 21:52:45.92 ID:HL5T2dK4.net] 抽象的な答えはキャッシュを実体に反映させるのがflushって感じかな。 だから前も書いたけどそもそも何故どういう場面でキャッシュが必用になるか理解してないと 動作の意味を実感するのは難しいのかもしれない。
91 名前:デフォルトの名無しさん mailto:sage [2016/08/02(火) 21:56:38.82 ID:PbRjMUHM.net] OS理解してないと言葉だけ見て色々考えても仕方ないんじゃない?
92 名前:デフォルトの名無しさん mailto:sage [2016/08/02(火) 23:30:14.10 ID:9ycx7XAc.net] つ ふらっと C#,C♯,C#(議論用) [無断転載禁止]©2ch.net echo.2ch.net/test/read.cgi/tech/1469538912/
93 名前:デフォルトの名無しさん mailto:sage [2016/08/03(水) 02:38:27.77 ID:FoKdYgy2.net] >>88 回答もせ
94 名前:ず暴言を吐き、質問しにくい環境を作り出すお前はそれ以下だぞ Flushとかキャッシュの考え方はOSというよりももっと一般的なものだな ソフト側で実装することもあるし、ディスクのミドルウェアとかでも使われうる技術 OSとかミドルウェアとかはさすがにスレチだから、そういうのも含めて誘導だろ [] [ここ壊れてます]
95 名前:デフォルトの名無しさん mailto:sage [2016/08/03(水) 06:32:38.78 ID:hBXg68Dk.net] >>91 過疎スレへの誘導…嫌がらせ行為に他ならない こんな奴が批判されずにずっと粘着し続けてるんだな
96 名前:デフォルトの名無しさん mailto:sage [2016/08/03(水) 07:22:04.65 ID:PM+UcDni.net] インスタンス化したクラス以外からオブジェクトを利用するにはどうすればいいのですか? 雰囲気としてはこんな感じのことがしたいのですが・・・・・ https://dotnetfiddle.net/Widget/nEDDet
97 名前:デフォルトの名無しさん mailto:sage [2016/08/03(水) 08:39:40.08 ID:Ls2YKypB.net] void Ccc(Aaa a) { Console.WriteLine(a.i); } 普通はこうする
98 名前:デフォルトの名無しさん mailto:sage [2016/08/03(水) 08:40:02.50 ID:ZXeq6keH.net] >>94 public void Ccc(Aaa aaa) { } と、定義する
99 名前:デフォルトの名無しさん mailto:sage [2016/08/03(水) 11:17:14.95 ID:uW5WiLiF.net] 一応こっちでもいいよ。 public class Aaa{ public int I{get;set;} } public class Bbb{ public Aaa A{get; private set;} public Bbb(Aaa a) { A = a; } public void Ccc(){ System.Console.WriteLine(A.I); } } class Hello { public static void Main(){ // Here your code ! var aaa = new Aaa(); var bbb = new Bbb(aaa); aaa.I = 1; bbb.Ccc(); System.Console.ReadKey(); } }
100 名前:デフォルトの名無しさん [2016/08/03(水) 13:41:35.76 ID:m0rhFcyF.net] Attaching an entity of type failed because another entity of the same type already has the same primary key value. 主キーが二つあるってエラーなのかなこれ AがBクラスのリストを持っている構造でエラーが起きています
101 名前:デフォルトの名無しさん mailto:sage [2016/08/03(水) 13:48:06.96 ID:v7zxzFcD.net] >>98 ソースが無いと、何をやろうとしてエラーになってるか分からないっす
102 名前:デフォルトの名無しさん mailto:sage [2016/08/03(水) 13:50:12.58 ID:fyF/wT3P.net] value 値が重複
103 名前:デフォルトの名無しさん mailto:sage [2016/08/03(水) 14:16:18.58 ID:8916Nt3B.net] キーのハッシュ値か何かが重複してるんじゃね
104 名前:デフォルトの名無しさん [2016/08/03(水) 14:21:55.96 ID:m0rhFcyF.net] やろうとしているのは、>>20 です。 コードとかあったり、またレスで参考になるのが多いので、三つの関係を二つの関係にして考え直したら詰まっているので聞きに来ました。 俺が持つ写真リスト、友人リストってのをなくして、 単純に写真と友人の関係で考えようとしています。 写真リスト:持っている写真 友人リスト:写真に写っている人達 写真1にはX, Y, Zが写っている 写真2にはX, Wが写っている 写真3にはX, Zが写っている 写真を写真DBに登録→映っている人を友人DBに登録って形にしようとしているところです。 写真DBに写真を登録する時には、紐付け対象の友人DBが存在しないので写真のみ登録して、 友人DBに友人を登録する時には、写真DBのIDを外部キーにしてどの写真の情報なのかも登録しようとしています。 そしたら、登録はできるのですが…友人を登録する時に関係のない写真に新規追加などがされて数が異常に増える問題が起きてしまいます。 mslaboratory.blog.eonet.jp/default/2012/05/entity-framewor-2c13.html を参考にして、写真一枚一枚のDBを抜き出して、UnchangedやAttachとか試みているけど効果がないorエラー頻発… ideone.com/e.js/CrtNh1 コードは必要そうなところを抜き出して書き直したやつが上
105 名前:デフォルトの名無しさん mailto:sage [2016/08/03(水) 14:30:49.38 ID:m0rhFcyF.net] ちなみに参考にしたのは>>40 これを綺麗に書き直したかったけど俺にはできなかった…
106 名前:デフォルトの名無しさん mailto:sage [2016/08/03(水) 14:35:24.88 ID:8916Nt3B.net] 写真に写っている人(1-X, 1-Y など)をレコードにして そいつが 写真ID と 友人ID をインデックスに持てば後は簡単な気がする テーブルは3つ(写真、友人、リンク情報)
107 名前:デフォルトの名無しさん mailto:sage [2016/08/03(水) 14:49:42.49 ID:m0rhFcyF.net] >>104 三つ目のテーブルの話だよね それも考えたんだけど中間テーブルとかの話で勝手に作られるってあるみたいだから それを利用しようとして見たら本当にテーブルできてる ただ異常に値が増えるから困ってるってとこですわぁ…
108 名前:デフォルトの名無しさん mailto:sage [2016/08/03(水) 15:01:58.98 ID:uW5WiLiF.net] 完全にDBの構造の話だな。。。 テーブルは「写真、友人、写真に友人が載っているリスト、写真に友人が載っているリスト詳細」で、定義は以下。 写真{ PK ID、 ファイル名 } 友人{ PK ID、 名前 } 写真に友人が載っているリスト{ PK ID、 FK 写真に友人が載っているリスト詳細のID、 } 写真に友人が載っているリスト詳細{ PK ID、 PK( FK 友人.ID、 FK 写真.ID ) } DBの正規化的には「写真に友人が載っているリスト」は有った方がいいが、 理解できないうちは作らなくてもいい。
109 名前:デフォルトの名無しさん mailto:sage [2016/08/03(水) 15:03:02.84 ID:uW5WiLiF.net] >>105 先にテーブルを自分で作って、それをマッピングすればいいんじゃないの?
110 名前:デフォルトの名無しさん mailto:sage [2016/08/03(水) 15:06:36.06 ID:pX27JEVl.net] >>103 >>40 だけど、中間テーブルのことは難しく考えなくてもいいんじゃない? せっかく勝手にORマッピングしてくれてるのだし。 書き直して動かないなら、やはりソースを見たいな。
111 名前:デフォルトの名無しさん [2016/08/03(水) 15:06:56.64 ID:m0rhFcyF.net] >>106-107 答えてくれてありがとう。 個人的な課題の話で、構造を書き換えるのが無理なんだわ… >>106 のはおそらくクラス設計からやり直せって話なんだろうけども、 今は課題に対してこのクラス設計でって話になっているから変えられない… >>107 も同様で、コードファーストなのでデータファーストに切り替えれないんよ
112 名前:デフォルトの名無しさん mailto:sage [2016/08/03(水) 15:10:48.32 ID:fyF/wT3P.net] >>109 中間テーブルが作られるのは確かだけど、 それをコードから操作するためにはコード内に対応するエンティティが必要 ↓ 中間テーブルはフレームワークが勝手に作るのでコードからはエンティティの定義ができない ↓ 中間テーブルが欲しいなら、それにあたるエンティティを自分で作っておく(勝手に作らせない)のが正解 …となるように思うんだけど… 勝手に作られる中間テーブルって、 コードでList(IColelction)として保持しているデータをDBに保存するために フレームワークがフレームワーク自身のためにこっそり作っただけで、 ユーザーに使ってもらうために作ったものじゃないと思うんだよね…
113 名前:デフォルトの名無しさん [2016/08/03(水) 15:16:54.63 ID:m0rhFcyF.net] >>108 以前はありがとう ドヤアアアアアアアアアしたく
114 名前:てこっそりやってたけどできんかった コードは>>102 がほぼ全て データは他のところから取ってきているから書けんけどデータの取得方法だけが違うだけで内容としては変わってないと思う >>110 操作とかデータを取得することはできないってことなのかな 中間テーブルが作られるだけで意味ないとイメージすればよろしいのだろうか ただ、中間テーブル云々の前に 友人に写真リストを追加してDB保存すると、写真に新規追加される問題があるから この問題は解決しないといけないという現状。たぶんこの問題をクリアしないと結局次に進めない 中間テーブルって話ではないんじゃないかなってなってて、上の方のサイトを見てAttachとかやっていたところ [] [ここ壊れてます]
115 名前:デフォルトの名無しさん mailto:sage [2016/08/03(水) 15:20:34.60 ID:RQkvsjZ7.net] 別手法で解決策を提示するのは相変わらず変わらんのだなwwwww
116 名前:デフォルトの名無しさん mailto:sage [2016/08/03(水) 15:23:21.26 ID:PbSq5cfW.net] エラー自体ははっきりしてるので、、 ちょっと試しに単純なデータでも出るかやってみてよ
117 名前:デフォルトの名無しさん mailto:sage [2016/08/03(水) 15:23:49.27 ID:uW5WiLiF.net] >>109 成る程、、、理解したw 変更できないってのはもどかしいけど、がんがれ。 ADO.NETの話だから専用スレがあったらソッチの方がいいかも知れんよ。 (スレ誘導ウザイ厨に補足されそうで嫌だけど)
118 名前:デフォルトの名無しさん mailto:sage [2016/08/03(水) 15:25:59.10 ID:m0rhFcyF.net] >>113 データを写真以外でも良いから簡単な例でってことかな ちょっと組み換えてやってみるよ >>114 これってC#の話でなくその話なんか 最近C#始めたばかりでどれがどれでなんてわからんのよね
119 名前:デフォルトの名無しさん mailto:sage [2016/08/03(水) 15:26:09.37 ID:uW5WiLiF.net] ID変えてまで変なこと言ってる。。。 あぼ〜んしますね。
120 名前:デフォルトの名無しさん mailto:sage [2016/08/03(水) 15:28:12.51 ID:uW5WiLiF.net] 1対1 1対N N対1 N対N って感じで広げていく方が原因を追いやすい希ガス。
121 名前:デフォルトの名無しさん [2016/08/03(水) 15:58:47.02 ID:m0rhFcyF.net] 試しに超簡単な例でやってみたら問題なく動いた ただ、四層構造で今DBにデータ格納してるのだけどそれが原因なのかなって思ってきた… using( var db = new DbCntext ) { } 別のとこに存在する上記のコードで変更すると、関連するデータがすべて変わる雰囲気がある
122 名前:デフォルトの名無しさん mailto:sage [2016/08/03(水) 16:24:27.25 ID:pX27JEVl.net] >>111 ちらっと見てみたけど、tmpImage取ってきてすぐAttachしてるのって何か意味あるのかな? (俺が無知なだけならスマンの) Images tmpImage = ( from d in db.ImagesInfo where d.Id == image.Id select d ).First(); db.ImagesInfo.Attach( tmpImage );
123 名前:デフォルトの名無しさん mailto:sage [2016/08/03(水) 16:42:27.07 ID:m0rhFcyF.net] >>119 そこ考えているとこでどういう意味があるのだろうかは効果があってから考えようとしていた アタッチは接続的な意味があると思ってて取ってきたものに接続することで変更を許さなくするものだと勝手に思い込んでる 参考はこれ mslaboratory.blog.eonet.jp/default/2012/05/entity-framewor-2c13.html
124 名前:デフォルトの名無しさん mailto:sage [2016/08/03(水) 16:43:39.18 ID:m0rhFcyF.net] 本当はimageを入れれば良いんじゃないかと思ってるのだけど入れると >>98 のエラーが出てくる どの値が被っているのかが全然わからない…
125 名前:デフォルトの名無しさん mailto:sage [2016/08/03(水) 16:46:50.62 ID:bderv+bK.net] INNER JOINで条件ゆるくて同じPKが複数出てきてるんだろうけど EFの方をよくわからんからなあ、ちょっと勉強しないとな・・・
126 名前:デフォルトの名無しさん mailto:sage [2016/08/03(水) 16:56:52.39 ID:m0rhFcyF.net] >>122 もしかしてなんだけど 写真リストが持つ友人リスト 友人リストが持つ写真リスト 写真リストが持つ友人リスト…ってループするから 1つ目の友人リストと、2つ目の友人リストが被って〜…とかありえるのかな 今回のやつで中間テーブルを使用せずに>>110 が言うようにするならどうすれば良いんだろう 写真リストは写真情報 友人リストは写真情報 同じ写真情報テーブルを持てば良いのかな それとも四つのクラスだろうか>>106 のような
127 名前:デフォルトの名無しさん mailto:sage [2016/08/03(水) 16:58:53.32 ID:E+3fwoaI.net] >>121 Attachが必要なのって、今のcontext以外で作ったインスタンスと、今のcontextに紐付ける場合。 なので、今のcontextから取り出したインスタンスをそのままAttachしても意味無いと思う。
128 名前:デフォルトの名無しさん mailto:sage [2016/08/03(水) 17:01:47.79 ID:m0rhFcyF.net] >>124 別のusing(var db = new .....)の中でのインスタンスと紐付ける場合に必要って認識で良いのかな
129 名前:デフォルトの名無しさん mailto:sage [2016/08/03(水) 17:22:57.85 ID:fyF/wT3P.net] >>123 自分は >>104 に賛成 写真-友人のリンクを保存するテーブルが一つ追加されればいいはず そして、写真、友人それぞれのエンティティに相手のListはいらない リンクを表すエンティティを作って、お互いの関係についてはすべてそこで処理
130 名前:デフォルトの名無しさん mailto:sage [2016/08/03(水) 17:27:13.60 ID:m0rhFcyF.net] >>126 それで今考え直してるところ。その三つ目のテーブルでおそらく 撮影情報テーブル 写真番号 被写体 1 X 1 Y 1 Z 2 X 3 Y 3 Z こんなテーブル作るって意味よね。 この場合このテーブルには写真と友人のリストを持たせる そして写真と友人の相互のリストを消し去る ってのは問題なくできそうなんだけど関係性を繋げるキーってなにか設定いるかな 写真番号と被写体はそれぞれのテーブルの外部キーになるとは思うのだけども
131 名前:デフォルトの名無しさん mailto:sage [2016/08/03(水) 17:36:00.46 ID:fyF/wT3P.net] こうじゃない? PcitureクラスとFriendクラスを結びつけるとして、 class Relation { public int PictureID { get; set; } public int FriendID { get; set; } } class PictureFriendContext : DbContext { public DbSet<Picture> Pictures { get; set; } public DbSet<Friend> Friends { get; set; } public DbSet<Relation> Relations { get; set; } }
132 名前:デフォルトの名無しさん [2016/08/03(水) 17:41:19.97 ID:m0rhFcyF.net] >>128 おおわざわざありがとう ideone.com/DiTuFt 一応俺も書いてみたけど少し違うね…ここはリストで持つ必要や、写真・友人との関連性は必要ないのかな リストだとまた変な感じになるのか… そのPictureIdとかは重複を許すってので合ってるよね
133 名前:デフォルトの名無しさん mailto:sage [2016/08/03(水) 18:48:41.57 ID:atH4tWg3.net] 猫が写ってる!
134 名前:デフォルトの名無しさん mailto:sage [2016/08/03(水) 18:56:54.40 ID:pX27JEVl.net] >>125 >>120 のサンプルも、usingの範囲外で作ったインスタンスAttachしてる。
135 名前:デフォルトの名無しさん mailto:sage [2016/08/03(水) 19:53:26.70 ID:fyF/wT3P.net] >>129 Relation クラスにIDを持たせるの忘れてた…ごめんなさい PictureID、FriendIDはもちろん重複可 サンプルができたので貼っときます ideone.com/5XmKW7 (PictureFriendSampleをnewしたらテスト実行)
136 名前:132 mailto:sage [2016/08/03(水) 20:12:26.73 ID:fyF/wT3P.net] ごめん!!! 最後のクエリが間違ってたのと写真と友人の関連づけ確率が高すぎたのを修正… ideone.com/P50YaZ
137 名前:デフォルトの名無しさん mailto:sage [2016/08/03(水) 22:43:54.41 ID:m0rhFcyF.net] >>133 おお 長々とありがとう こちらもなんか変な問題にぶちあたってたとこで困ったらここに来るようになった 一番始めにデータには紐付けてはしてないのね あとで紐付ける感じなのですな まだ全然わからないコードが多いからまずはべんきょうしてくるわ!!!!!
138 名前:デフォルトの名無しさん mailto:sage [2016/08/03(水) 22:56:47.90 ID:PIsq5bYs.net] asp.net coreの質問てあり?
139 名前:デフォルトの名無しさん mailto:sage [2016/08/03(水) 23:02:35.24 ID:oiDTcOGH.net] >>135 こっちじゃダメなの? 【質問】ASP.NETスレ Part7【雑談】 tamae.2ch.net/test/read.cgi/php/1343282128/
140 名前:デフォルトの名無しさん mailto:sage [2016/08/03(水) 23:33:30.41 ID:wKahhl4a.net] リレーション用のテーブルもエンティティとして自分で管理するのも方法ではあるだろうけど それでは何のためにエンティティでリレーションたどったり自動で中間テーブル作る機能があるのかと エンティティ2個でやる例 ideone.com/JlsB9b とりあえずAttachとか忘れて全部コンテキスト配下でやれ
141 名前:デフォルトの名無しさん mailto:sage [2016/08/03(水) 23:58:03.96 ID:v7zxzFcD.net] >>135 実はこんなスレも…… .Net Core / Net ASP Core echo.2ch.net/test/read.cgi/tech/14672
142 名前:25941/ [] [ここ壊れてます]
143 名前:デフォルトの名無しさん mailto:sage [2016/08/04(木) 01:26:47.69 ID:KJGV+bda.net] >>137 四層構造って言ってるしそれはそれで無理なんじゃね? 四層だから必要なときにdbアクセスでアタッチとか必要になってる気がした 当人と違うしコード読んでないからわかんねぇけどさ
144 名前:デフォルトの名無しさん mailto:sage [2016/08/04(木) 04:32:59.95 ID:oWVthcOw.net] 4層構造とかちょっと理解できん 実テーブル4個ってなら、エンティティの定義と生成されたテーブル定義出してくれって感じ なんか隠れた条件や要件でもあるならしらんが 写真と友人以外にエンティティとして「必要」なものなんてないだろ
145 名前:デフォルトの名無しさん mailto:sage [2016/08/04(木) 08:11:20.34 ID:YuweHQdn.net] 家族(猫)と同僚が追加されました! New!
146 名前:デフォルトの名無しさん [2016/08/04(木) 08:23:38.45 ID:vS9OUDxy.net] 相談室もウンコみたいな話題で盛り上がっててなんだかな
147 名前:デフォルトの名無しさん [2016/08/04(木) 08:43:43.95 ID:0pX6MUjd.net] 昨日の晩から向こうも初心者スレになったので、ヨロシク
148 名前:デフォルトの名無しさん mailto:sage [2016/08/04(木) 13:41:29.45 ID:eUvKuwTN.net] C#で void* から byte[] に変換(キャスト)するにはどう書けばよいですか?
149 名前:デフォルトの名無しさん mailto:sage [2016/08/04(木) 14:30:22.24 ID:Iq5WAESB.net] キャストは無理 コピーならvoid*をIntPtrにキャストしてMarshal.Copyで
150 名前:デフォルトの名無しさん mailto:sage [2016/08/04(木) 15:03:25.68 ID:ZLPe6sdc.net] windowsフォームでメインフォームのlistboxに サブフォームで入力した内容(氏名、生年月日、住所)を 登録したいのですがどう書けばよいですか?
151 名前:デフォルトの名無しさん mailto:sage [2016/08/04(木) 15:09:33.57 ID:dpx64fng.net] >>146 メインフォームにlistboxに書き込むメソッドをinternalかpublicで作ってサブフォームから呼び出すか listboxをinternalかpublicにしてサブフォームから書き込むメソッドを作る
152 名前:デフォルトの名無しさん mailto:sage [2016/08/05(金) 09:40:07.46 ID:u3WIRdgf.net] ずっとwinformばっかやってきたけど、作ったwinformをwpfに変えるのって大変?
153 名前:デフォルトの名無しさん mailto:sage [2016/08/05(金) 09:44:24.42 ID:YTOm0VxE.net] ベタ移植なら字句翻訳レベルだけどそれだとあまりWPFの意味はない WPFらしく作るならビュー周りは全部作り直し っていうか乗り換えるならオワコンWPFなんかより思い切ってWeb行け
154 名前:デフォルトの名無しさん mailto:sage [2016/08/05(金) 10:04:36.90 ID:u3WIRdgf.net] wpfってオワコンなの? web行けの意味がわからないんだけど… windowsアプリもwebアプリも両方作ってるけど、やっぱ別だよ?
155 名前:デフォルトの名無しさん mailto:sage [2016/08/05(金) 10:11:21.22 ID:HSLNFCI0.net] >>146 サブフォームに public Action<int,string> Entry; みたいなものを作って、サブフォーム作成時にコールバックを用意するのが筋かな
156 名前:デフォルトの名無しさん mailto:sage [2016/08/05(金) 10:13:13.02 ID:Lilhp+0b.net] C#でタブレットPC向け(Win8以降)のアプリを作成するとしたら、WPFは必須? 標準の機能にはマルチタッチ用の機能が無いので、扱うとしたらWPFはいるのかな?
157 名前:デフォルトの名無しさん mailto:sage [2016/08/05(金) 10:17:06.58 ID:5YPK7Aag.net] C#でホームページを作りたい場合コードはhtmlとc#が半々を占めるの? それともC#がhtmlの代わりになるから8割程度C#とか?
158 名前:デフォルトの名無しさん mailto:sage [2016/08/05(金) 11:25:20.20 ID:ybsuHohg.net] >>153 最終的には100%HTML+CSS+JS C#はHTML等を生成するだけ
159 名前:デフォルトの名無しさん mailto:sage [2016/08/05(金) 16:28:54.03 ID:Vnpr4HzA.net] C#からC++で書かれたDLLへのアクセスについて質問です。以下のようなコードなのですが、C#からアクセスした場合、hoge.hoge2 がセットされません。どこが悪いのでしょうか? [C++側(DLL)] typedef struct { wchar_t hoge1[256]; wchar_t hoge2[256]; } HOGE; bool __stdcall func(HOGE* hoge) { wcscpy_s(hoge->hoge1, 256, L"HOGE1"); wcscpy_s(hoge->hoge2, 256, L"HOGE2"); return true; } [C#側] [StructLayout(LayoutKind.Sequential)] public struct HOGE { [MarshalAs(UnmanagedType.ByValArray, SizeConst = 256)] public Char[] hoge1; [MarshalAs(UnmanagedType.ByValArray, SizeConst = 256)] public Char[] hoge2; } [DllImport("hoge.dll", EntryPoint = "func")] public static extern bool func(int index, ref HOGE hoge); hoge = new HOGE(); hoge.hoge1 = new Char[256]; hoge.hoge2 = new Char[256]; bool res = func(0, ref hoge); hoge.hoge1 は "HOGE1"がセットされている。hoge.hoge2 は なにもセットされていない???
160 名前:デフォルトの名無しさん mailto:sage [2016/08/05(金) 16:59:06.04 ID:qtF7W1LG.net] C++の定義とC#の定義とで仮引数が違うみたいだけど? あとあんまり関係ないと思うけど返値がC++のboolならこっちbyteで宣言した方がいい
161 名前:デフォルトの名無しさん mailto:sage [2016/08/05(金) 17:04:53.51 ID:Vnpr4HzA.net] [C#側] public static extern bool func(ref HOGE hoge); でした。
162 名前:デフォルトの名無しさん mailto:sage [2016/08/05(金) 17:57:02.20 ID:YTOm0VxE.net] マーシャリング通さずにfixed char hoge1[256];の方が確実じゃね
163 名前:デフォルトの名無しさん mailto:sage [2016/08/05(金) 19:00:49.52 ID:rSxfnuGG.net] StructLayoutにCharSet=CharSet.Unicodeつけてみるとか
164 名前:デフォルトの名無しさん mailto:sage [2016/08/05(金) 22:42:12.33 ID:1u9wjoQf.net] C#のvirtualを関数に使うのはなんとなくわかるんだけど 変数にvirtual使うとどうなんの?これも上書きみたいなことするの?
165 名前:デフォルトの名無しさん mailto:sage [2016/08/05(金) 22:47:59.88 ID:AgavxPh8.net] >>160 変数にvirtual付けるとコンパイルエラーになります
166 名前:デフォルトの名無しさん mailto:sage [2016/08/05(金) 22:48:47.99 ID:1dJ45Htu.net] >160 関数=(インスタンス)メソッドのこと? virtualに指定出来るのは、メソッドとプロパティだけだよ。 これでピンと来ない場合は想定しているコードを書いてくれれば答えやすいです。
167 名前:デフォルトの名無しさん mailto:sage [2016/08/06(土) 00:03:38.81 ID:FDM+aBaV.net] >>162 >>161 ああわかった プロパティだからvirtualつけることができてたのね サンクス納得した
168 名前:sage [2016/08/06(土) 10:46:11.32 ID:/IrCQqX+.net] 任意の文字列から 「-」、「.」と数値(0〜9)だけを残し余分な文字を取り除きたいのですが スマートな実装方法はありますか?
169 名前:デフォルトの名無しさん mailto:sage [2016/08/06(土) 10:52:45.27 ID:RrWaYmp5.net] >>164 スマートな方法というか正規表現使うか 該当するか1文字ずつチェック(文字のままでもバイト配列に変えても)するしかないような気がする
170 名前:デフォルトの名無しさん mailto:sage [2016/08/06(土) 11:11:59.63 ID:Aiu/11jE.net] >>164 string chars = "-.0123456789"; string result = new string(str.Where(chars.Contains).ToArray());
171 名前:デフォルトの名無しさん mailto:sage [2016/08/06(土) 11:13:17.24 ID:yXATHeUJ.net] Console.WriteLine(Regex.Replace("0aiueo123hoge456", "[^0-9]", ""));
172 名前:デフォルトの名無しさん mailto:sage [2016/08/06(土) 11:14:23.23 ID:yXATHeUJ.net] 「-」もあったんだな。 Console.WriteLine(Regex.Replace("0aiueo-123hoge456", "[^0-9\\-]", ""));
173 名前:デフォルトの名無しさん mailto:sage [2016/08/06(土) 11:15:42.95 ID:yXATHeUJ.net] うがー。「.」もあったんだな。。。「\\.」を追加してくれ。連投すまん。
174 名前:デフォルトの名無しさん mailto:sage [2016/08/06(土) 11:25:23.44 ID:dbq4lnef.net] >>164 var filter = new char[] { '-', '.', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' }; var target = source.Where(filter.Contains).Aggregate("", (x, y) => x + y);
175 名前:デフォルトの名無しさん mailto:sage [2016/08/06(土) 11:26:25.15 ID:WvVJrckt.net] >>169 あるある、どんまい