[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 02/25 17:28 / Filesize : 263 KB / Number-of Response : 1021
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

ふらっと C#,C♯,C#(初心者用) Part131



1 名前:デフォルトの名無しさん [2017/09/08(金) 18:12:11.06 ID:Ej7G00WU.net]
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。

他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。

内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。

なお、テンプレが読めない回答者は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください

>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。

■前スレ
ふらっと C#,C♯,C#(初心者用) Part130
https://mevius.2ch.net/test/read.cgi/tech/1500327645/
■関連スレ
C#, C♯, C#相談室 Part94 [無断転載禁止]©2ch.net
echo.2ch.net/test/read.cgi/tech/1492843013/

■コードを貼る場合は↓を使いましょう。
ideone.com/
https://dotnetfiddle.net/

■情報源
https://msdn.microsoft.com/en-us/library/gg145045.aspx
referencesource.microsoft.com/

751 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 14:46:50.16 ID:65kSOn7U.net]
>>734
お前を外す

752 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 15:07:08.71 ID:Mu1M4tJS.net]
>>734
なんでそんなことしたいの?

753 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 15:17:21.66 ID:vUJCH9qc.net]
>>734
Type.GetProperty(hogehoge)
では

754 名前:デフォルトの名無しさん [2017/10/04(水) 15:32:21.88 ID:mhZMhlTM.net]
まずプロパティがあるかどうか訪ねないで、いきなりプロパティに繋げようとするからダメって事だよな?
いきなり知らない家にいって、ユマちんを出せって言っても通報されるみたいなもんだ。

755 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 15:39:22.84 ID:ZtUzMtUQ.net]
>>737
そもそも論としてそのプロパティ持ってないオブジェクトに
プロパティでアクセスできるコード書いてるのが問題なんだよ

そこじゃなくて違う所を見直そう

756 名前:デフォルトの名無しさん [2017/10/04(水) 15:40:19.16 ID:PsbRicdP.net]
public int aaa;
public int aaa{get; set;}

この2つって全く同じ動き?

757 名前:デフォルトの名無しさん [2017/10/04(水) 15:47:27.79 ID:PsbRicdP.net]
大したの組んだ時無いからわからないけど
get; set;で記述する利点ってなんですか?

758 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 15:48:28.56 ID:X/chSHNo.net]
>>734
object.GetType().GetProperty(propertyName) で確認

759 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 15:50:18.77 ID:vUJCH9qc.net]
>>739
dynamicでexcelとか使おうとしてるんじゃないの?
で、バージョン違いでプロパティが無いとか。



760 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 15:52:48.11 ID:vUJCH9qc.net]
>>740
set;getはファンクションなのでrefとかが使えない。他の動きは同じでは。

761 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 15:57:13.34 ID:vUJCH9qc.net]
>>741
get;setだとロジックが後で組み込める。
ても、単一アセンブリだと余り関係ないかも。

762 名前:デフォルトの名無しさん [2017/10/04(水) 15:59:30.46 ID:PsbRicdP.net]
>>744
>>745
あざす
Codelensも出るしファンクション?メソッド?のほう使ってこうと思います

763 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 16:04:29.61 ID:vUJCH9qc.net]
>>746
外部公開するのはget;setでプライベートなのは変数で良いと思うけど好きにすればw

764 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 16:05:33.70 ID:inVVPc+t.net]
>>722
わかりました

オブジェクト指向で詰まってしまったので聞きたいです
各コントロールのインスタンスを保持する変数って、親Formで基本は持っておくべきでしょうか?
タブ型ウェブブラウザーを作っているんですが、TabControl・TabPage・WebBrowserは各自TabPageの変数はTabControlの下、WebBrowserの変数はTabPageが持っています
これだと前回終了時のタブを次回起動時にリストアしようとするとすごい設計が悪くなります
どちらが良いのでしょうか?教えてください、ほんとはObserableCollectionを活用したいのですが、どう書けばいいのかわからず仕舞いです

765 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 16:15:55.36 ID:BauJPwx0.net]
>>748
Application.Current.Propertiesにでもぶちこんでおけば?

766 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 16:25:32.68 ID:eKN2AIaa.net]
>>748
大域的な設計はトップダウンで考えよう
例えば、現在表示しているページのURLを管理するクラスがあって、
フォームはその内容を画面に反映させる&ページ遷移時に新しいURLを管理クラスに伝えると考えればいい
管理クラスはUIの細かいことを気にせずに状態の管理と保存・復帰だけを考えればいいし、
フォームは管理クラスの状態と同期するだけでいい

767 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 17:53:53.15 ID:inVVPc+t.net]
>>750
ありがとうございます。話を自分なりに理解するとタブ現在表示しているUrlを別クラスPageページクラスが持ち
Pageクラスを内包したPageListクラスでファイルへの保存・復帰処理を行い、Formクラスでインスタンスを持ちTabControlに渡し、
各タブで何を表示するかのコントロールはTabControlで行おうと思うんですが、こういう感じですか?

768 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 17:57:11.27 ID:65kSOn7U.net]
タブコンはtabの文字にフォント最大でウンコって入力するとバグる

769 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 18:07:50.98 ID:ZH15U2S2.net]
>>751
全体の構造が憶測でしかわからないのに「これでいいですか」って聞かれても困ると思う
タブコントロールの各タブにPageListとかがぶら下がっていてそこを選択して表示するとかなんだろうけど
質問の仕方から見ても自分でもまとめられていないようだし、まず動くもの作ってから拡張していけば?



770 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 19:17:54.57 ID:65kSOn7U.net]
タブコンなんて使ってる時点でゴミ
とか言ってみる納品

771 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 20:10:16.69 ID:+JSlwxf3.net]
Rails, React, Electron, AngularJS などのフレームワークを参考にすれば?

772 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 20:35:25.42 ID:i6quWUAT.net]
プロパティってgetset関数毎回書くのアホらしいので省略しませんか?ってのかと思ってましたけど、レス読んでると他に意味があるんでしょうか?
浅い知識しかないので気になりました

773 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 20:44:18.31 ID:0TdBJUYX.net]
>>756
>>745に書いてあるようにメソッドのように扱える
必要ないのならpublicとかinternalとかの変数にして好きにしたらいいと思う

774 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 21:14:51.00 ID:ULvxLO80.net]
>>756
書くのが面倒って言うより、ゲッターとセッターは
オブジェクト指向におけるオブジェクトの属性って概念の素直な表現になってないのが
美しくないというか、直感的じゃないよね

775 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 21:53:15.88 ID:D0l3uaQA.net]
データクラスを除けば、最近は作ったプロパティの大半が読み取り専用だわ
セッターいらね

776 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 22:33:20.23 ID:X/chSHNo.net]
>>751
current urlのコレクションを管理するクラスを自前で作って、そのコレクションをシリアライズ/デシリアライズするイメージだよ
>>750はわかりやすく書いてくれてると思うぞ

current urlのコレクションはMVCのModel
Viewに依存すべきじゃない

777 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 22:37:19.76 ID:inVVPc+t.net]
イベント実装しようとしていますが難しいですね
全然勉強してこなかったことが身にしみてきます

778 名前:デフォルトの名無しさん mailto:sage [2017/10/04(水) 23:32:25.16 ID:inVVPc+t.net]
自分でイベントを書くときに思ったのですが、
イベントを発生させるときは、そのイベントがnullではないことを確認するのはなぜでしょうか?

779 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 00:08:10.31 ID:kvz6wfH4.net]
例外になるから

nullチェックを避けるために何もしないラムダ式を登録しておく方法もあるけど、
なんか馬鹿くさいのは確かだね

VBみたに専用ステートメン用意した方がよかったかも。
でもこのVB方式はカスタムイベントで問題が出るそうだけど



780 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 00:20:49.58 ID:w76cxVZ0.net]
今は ?. があるからどうでもいい
ソースでイベントでnullチェックしてたら古いソースなんだなと思う

そうnullチェックは昔話

781 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 06:52:22.86 ID:AIDxl0vl.net]
>>762
イベントを使わない場合に落ちるから。
オレオレイベント実装で必ず使うのなら不要。

782 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 07:15:53.39 ID:gKycoOZO.net]
業務システムなんですが、今どきeachでもないfor文の多重ループ書く人って流石にマズいですか

それとも普通でしょうか

他人の四重ループを見て世間ではどうなのだろうと思いまして

783 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 07:25:17.32 ID:lN/7t8RB.net]
>>766
ixyzとかあると簡単に4重ループできるぞ
どうやって回避するんだ?
i=オブジェクト数、x方向、y方向、z方向
ってなってたら俺はこのままのがいいと思うが?

多重ループの数でPGの実力見ようとしてるお前がキチガイ過ぎてどうにもw

784 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 08:26:31.17 ID:etvKz/hQ.net]
行列計算とかなら普通
ビジネスアプリでやるとちょっと実力疑われるね

785 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 08:51:15.85 ID:nBCW+G24.net]
名前の隠蔽とオーバーライドの違い・意義について教えていただきたいです

名前の隠蔽: 同じ名前のメソッドを派生先で作ると基本クラスの同名メソッドは見えなくなる

オーバーライド: 派生先でオーバーライドメソッドを定義することによりインスタンス化したオブジェクトの基本クラスの内容を書き換えること

ということで間違いないですか?
オーバーライドメソッドのこの「インスタンス化した後に内容を変更する」というのが多態性であるとネットであったのですが名前の隠蔽で様々なメソッドを定義して使うのは多態性に当たらないのですか?どうしてもこの違いだけわかりません
どなたかお願いします(><)

786 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 08:52:36.97 ID:lN/7t8RB.net]
状況によるよ
多重ループ避ける程度でいちいち意味不明なメソッド作られても困る

787 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 08:53:18.07 ID:lN/7t8RB.net]
>>769
スレ違い

788 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 10:03:33.52 ID:ImlnvRbs.net]
>>766
numpyつかえよw pythonだけど。

789 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 11:22:55.40 ID:URIOD7FQ.net]
>>766
本当に四重ロープが必要な処理で
最適化した結果ならしょうがない
個人的には業務システムでそう言う状況に出会ったことはないが



790 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 11:30:16.11 ID:Bb6+6uGp.net]
>>769
多態って何だ?みたいな哲学論(笑)は後回しにして機能的な違いだけに注目した方がいいよ。

www.atmarkit.co.jp/ait/articles/0209/11/news001.html
↑の記事にある通り、隠蔽の場合はインスタンスとそのインスタンスの入っている変数の型が一致している
場合のみ隠蔽したメンバーが呼ばれるのがオーバーライドとの違い

上の記事、オーバーライドより隠蔽を使うのが普通って言ってるような印象を受けるけど
実際は逆だからそこは勘違いしない方がいいよ

隠蔽はベースクラスの設計がおかしい場合の回避策みたいな感じでしか使われないと思う。
だからとりあえずはオーバーライドだけ覚えれば問題ない

791 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 11:33:23.98 ID:URIOD7FQ.net]
>>769
https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/knowing-when-to-use-override-and-new-keywords

shadowing(method hiding)もoverrideも多態性を実現する仕組みの一つ

792 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 11:33:40.95 ID:tEO8Lw4y.net]
何らかの集計作業だろうが、そういうのはDB使えば簡単だよな

793 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 13:06:50.48 ID:SnoJeaOY.net]
(入力して)と表示
oppaiと入力
入力したのはoppaiです。と出したいんだが

794 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 13:08:51.98 ID:Bb6+6uGp.net]
というポエム?

795 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 13:58:53.63 ID:la6tU9bd.net]
>>777
https://ideone.com/9aSQgU

796 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 15:06:06.29 ID:iGkRBCV3.net]
>>774
ありがとうございます!

797 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 23:14:11.64 ID:Xseher3k.net]
Console.WriteLine(“”);
string = Console.ReadLine();
の意味がわからんな。Console.ReadLineをstringに代入する所とか

798 名前:デフォルトの名無しさん mailto:sage [2017/10/05(木) 23:51:04.92 ID:HMECZ5+m.net]
>>781
それだけ見せられても誰もわからない
エスパースレじゃないんで

799 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 00:39:00.40 ID:HTxWyqCb.net]
>>781
Console.ReadLine()で処理した結果の文字列を
stringという名前の変数に代入してる
name = Foo.GetName()と同じ



800 名前:デフォルトの名無しさん [2017/10/06(金) 00:44:39.70 ID:BZdgO6jG.net]
さすがにそれは説明せんでもいいやろw

801 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 01:04:12.92 ID:HTxWyqCb.net]
>>784
そうかな? わかってたら「Console.ReadLineをstringに代入する所」なんて書き方しないと思うんだが

802 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 06:57:53.28 ID:R65vFnX0.net]
>>781
1行目:画面に1行空行を書き込む
2行目:ユーザーの入力を受け取り、Enterが押される(=改行)と、その1行を変数stringに格納

803 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 06:59:00.06 ID:/+rBbbka.net]
Form1のlowLayoutPanelに他のクラスからボタンを追加したい
という場合には
ttps://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1434882684
この内容を理解すれば良いのでしょうか?

804 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 07:21:39.66 ID:/+rBbbka.net]
ごめんなさい。とりあえず別の方法でお茶濁して解決しました
まだ↑のは理解が及びません

805 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 07:24:15.11 ID:/+rBbbka.net]
解決したと思ってたの勘違いでした…すみません
>>787お願いします

806 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 08:38:15.32 ID:R+OFu5Ep.net]
>>789
Form1のインスタンスを他のクラスから参照てきる様にしとけはよいのさ

807 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 09:44:09.73 ID:386xmGqT.net]
>>762
なるほどです、イベントの中がNullの場合発生させないということなのですね
あと自分でイベントを定義するときInvokeメソッドを呼ぶのはなぜでしょうか?

808 名前:デフォルトの名無しさん [2017/10/06(金) 10:14:27.91 ID:UT/zOTND.net]
拝む為さ。

809 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 10:41:08.98 ID:R+OFu5Ep.net]
>>791
>>792 も言ってるようにお祈りおまじないの部類。invoke無くても同じ。
UIスレッドで実行するためのcontrol.invokeとは別もん。



810 名前:788 mailto:sage [2017/10/06(金) 11:33:07.23 ID:/+rBbbka.net]
>>790
ありがとうございます

https://ideone.com/76njZo

public FlowLayoutPanel flowLayoutBase = new FlowLayoutPanel();
とForm1外に持ち出して、ボタン生成用のクラスをFrom1の継承クラスにしてもボタン現れず
で、こういうことじゃないだろう…ということで色々やってみて

外部クラスからインスタンス参照というのを参考に
https://ideone.com/TFCiQp
こんな形のメソッドに纏めて、そこを外部クラスから参照しようとするも、どう参照するのか…
恐らく何か的はずれなことしてると思いますが、何が駄目なんでしょうか?

よろしくお願いします

811 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 11:38:08.44 ID:Pjx+vQ2Q.net]
>>791
?.演算子を使いたいから
デリゲートを呼ぶときは普通はInvokeは省略してaction()のように書くけど、
nullのとき何もしたくない場合にClick?.()みたいな書き方はできないから、仕方なくInvokeを明示的に書いてる

812 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 11:46:30.70 ID:kruj0zmW.net]
windows form 上にIPカメラ(AXIS製)の動画を表示したいです。
どうすればよいでしょうか?

OpenCVとか使うのが一般的なのでしょうか?
環境的に、社外ソフトをインストールし辛いので、確証を得てから試したいと思っています。

dllを配置するだけのmjpegprocessorとかは違うのかな?

調べる手がかりでも教えてもらえればありがたいです。

813 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 11:55:14.52 ID:Z91Qg1J2.net]
>>794
Flpset()がなんでForm1_Load()の中に?
目眩がしてきた。。。

814 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 12:22:26.38 ID:/+rBbbka.net]
単純なテストで使い方を学ぶ段階なので、FlowrayoutpanelをForm_Load()の中で作るのが自然だと思ったからですが…なにか変ですか?
Form1にあるFlowrayoutpanelに外部クラスからボタン設置する方法を色々試してるので…
Flpset呼ばないとパネル無い状態ですし…
Flowrayoutpanelに外部クラス(ButtonRayout)から使うためにFlpsetを作った感じです(色々的外れかもしれませんが)
まだ色々よく分かっていないので、頓珍漢なことになってるとは思いますがすみません

815 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 12:50:09.21 ID:aLvKLfqn.net]
>>798
Flpsetをパブリックメソッドにすれは良いだけでしょ。

816 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 13:01:49.27 ID:/+rBbbka.net]
>>798
public void Flpset()←だとpublicがこの項目に対して有効ではありませんと出てしまいます

817 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 13:06:55.40 ID:aLvKLfqn.net]
>>800
Form1_Loadから出さないと

818 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 13:22:30.01 ID:/+rBbbka.net]
>>801
ありがとうございます
Form1_Lordがタダのイベント(メソッド)だったというの、頭からすっかり飛んでました
今は時間無いので別クラスからControl配置は試せませんが、あとで色々やってみます
とりあえず、外に持ち出してpublicは適応できて、前と変わらぬ作動は出来ました

819 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 13:32:06.32 ID:Sc8ZiJsi.net]
>>802
ま、頑張って(^o^;



820 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 14:28:37.52 ID:UQfFYJO/.net]
ロケールが日本語環境のところで
指定された国コード(ISO)を指定された言語で表示させるには
どうしたらいいでしょうか。

string CountryName = GetCountryName("CN", "ko-kr");

という風に呼んだとき、中国という文字を韓国語で得たいのです。

public string GetCountryName(string CountryCode, string language)
{
  // この中
}

CNのRegionInfoを取得するところまでは出来たんですが、
DisplayName だと日本語で、NativeName だと中国語で、それぞれ取れるのですが
韓国語に変換させたいのです。

Windowsのロケール自体を韓国に変更すれば、DisplayNameで韓国語が取れましたが
それはやりたくないです。

821 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 14:57:21.64 ID:BnWE0qO1.net]
やったことないけど
Application.CurrentCultureか
Thread.CurrentThread.CurrentCultureを変えるのは?

822 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 15:35:24.88 ID:vlZuL3bi.net]
MSDNにはCurrentUICultureの方だって書いてあるね。
システムが持ってるリソースから拾ってくるんだろうからまあそうでしょう

823 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 15:48:05.44 ID:Knp3qtDQ.net]
実際にやるとできないけどね

824 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 16:12:02.05 ID:+xC3oUH1.net]
当たり前だけど韓国語とかの表示させる言語の言語パック入ってなかったらどうにもならない

825 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 17:25:14.70 ID:UQfFYJO/.net]
> CNのRegionInfoを取得するところまでは出来たんですが、
のところを補足します。

var CountryCode = "CN";
var CountryName = System.Globalization.CultureInfo.GetCultures(System.Globalization.CultureTypes.SpecificCultures)
  .Where(a => a.TwoLetterISOLanguageName.Equals(CountryCode, StringComparison.CurrentCultureIgnoreCase))
  .First().DisplayName;
return CountryName;

で、実行ロケールでの(日本語での)「中国」は取れました。
んで、どこへ "ko-kr" を挟み込めば良いのかが分かりません。

> Application.CurrentCultureか
> Thread.CurrentThread.CurrentCultureを変えるのは?

そーいう力技しかないのかなぁ・・・

826 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 17:29:35.35 ID:8z2SuXdm.net]
>>804
何で自分で表示するという選択肢がないんだ?

827 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 17:44:13.26 ID:vlZuL3bi.net]
>>809
その「力技」もやってみたけど確かに出来ないね
普通に自分でテーブル用意した方が早い気がする

828 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 18:04:12.31 ID:T+Euxqip.net]
MSにバグってんだよカス
って送ってみるとか?

829 名前:デフォルトの名無しさん [2017/10/06(金) 18:51:07.05 ID:uoobo3tb.net]
仕様がない



830 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 19:21:44.67 ID:0wz1FkX0.net]
>>794
入れ子にしたメソッドがエラーにならないのを初めて知ったw
使い道が思いつかないけどw

831 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 19:45:45.19 ID:UQfFYJO/.net]
>>810-811
元号もそうだけど、この手のはなるべくFrameworkに任せてしまいたいのです。
国が増えるたびにメンテなんてやりたくない・・・
(Frameworkが更新されるはずだから、それに依存したい)

832 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 19:47:26.00 ID:XI0GFWBX.net]
>>814
エラーになるでしょ

833 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 19:57:15.36 ID:0wz1FkX0.net]
>>816
VS2017でビルドまで通った

834 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 19:57:22.86 ID:VLsCvj8e.net]
>>816
ローカル関数知らないの?

835 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 19:59:49.34 ID:vlZuL3bi.net]
>>815
ない袖は振れないし仕方ないかと。
まあ普通に考えて想定された使い方と違うんだろうね

日付や数値のフォーマットはデフォでいろんな地域のが入ってるみたいだから
ついでに国名ぐらいサービスしてくれてもいいような気がしないでもないけど

836 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 20:00:42.81 ID:xndJWDdr.net]
その言語のOSならその言語で表示されるからそれでいいんじゃないの

837 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 20:06:57.34 ID:XI0GFWBX.net]
>>818
ごめん、知らんわ。
いつの間にpascal見たいな事ができる様に成ったんだ。
勉強不足でスマヌ。
Func、Actionで間に合ってた。死んでお詫びします。

838 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 22:13:51.00 ID:1hhvTT+g.net]
>>821
C# 7 (Visual studio 2017) からだから追っかけやってる奴じゃなきゃ知らないのも当然

839 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 23:08:48.64 ID:386xmGqT.net]
>>750
すいません、考えたのですが設計できません
データを管理するクラスを作り、UIが持っているUrlプロパティをFormが同期させるのはわかっていますが、タブの並び替えを実装しているので頭が混乱してしまいます
トップダウン設計で今までTabControl以下で持っていたTabPage変数と、TabPage以下で持っていたWebBrowser変数をFormに持ってきたのですがわけがわからなくなってしまいました
何をどこで持つべきなのかわからなくなってしまいパニックな状況です、設計ってかなり難しく感じています



840 名前:デフォルトの名無しさん mailto:sage [2017/10/06(金) 23:10:09.47 ID:386xmGqT.net]
>>793
>>795
わかりました、今はおまじないとして覚えておくことにします

841 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 09:37:42.55 ID:fKlRQVav.net]
C#ってモダン言語に含まれますか?

842 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 10:12:23.35 ID:hs9R8q6v.net]
むしろfutureやで

843 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 10:24:35.11 ID:34mGSqzO.net]
C#はレガシーになりつつあるけど
拡張してなんとなく新しく見せてる

ここから新しく見せるのは無理かな

844 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 10:42:43.38 ID:b4KK/o19.net]
JavaとKotlinの関係のように新しい言語に乗り換えるべきだろうね
最近の歪な言語仕様拡張には辟易するよ

845 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 11:04:55.95 ID:RmE+cs6m.net]
プログラムに関係ない雑談は他でやれよ

846 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 11:46:02.70 ID:ky0kCJyY.net]
>>828
c#の移行先プリーズ

847 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 11:53:21.00 ID:ajW7fEjK.net]
LINQってSQLとは関係ないの?

848 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 12:06:27.83 ID:ky0kCJyY.net]
>>831
EntityFrameworkとLINQ to Entitiesでググってこい
LINQは単に、いろんなデータソース(DB、配列、リスト、xml)に対する処理を同じようにかける枠組み

849 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 12:37:22.67 ID:/LXY59wR.net]
>>831
LINQのクエリ式はSQLを参考にしてるとは思うけど



850 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 12:52:58.01 ID:ky0kCJyY.net]
>>833
まあ基本はメソッド式だけどね

851 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 15:36:39.34 ID:+T+mCODn.net]
>>830
F#

852 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 16:10:33.77 ID:uSVuDn94.net]
>F#
言語としては優秀なのかも知れないが
どうにも慣れない

853 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 20:05:34.57 ID:MYJ1b1uW.net]
君たち.netconf行ってないの?

854 名前:デフォルトの名無しさん mailto:sage [2017/10/07(土) 20:18:52.89 ID:XgJIfiWa.net]
>>837
所用で…今YouTubeにあがってる動画見てる

855 名前:デフォルトの名無しさん mailto:sage [2017/10/08(日) 19:11:25.29 ID:fHcFBAaS.net]
今現在使っているタブ型WebBrowserでTreeView使ってJaneみたいなブックマーク機能を取り入れたいんですが、
フォルダとファイルのツリー構造を実現するクラスが思い浮かびません、どのようなクラスを作ればよいでしょうか?

856 名前:デフォルトの名無しさん mailto:sage [2017/10/08(日) 19:19:10.91 ID:MyZuixT4.net]
>>839
www.atmarkit.co.jp/fdotnet/dotnettips/260createtreeview/createtreeview.html

857 名前:デフォルトの名無しさん mailto:sage [2017/10/08(日) 20:27:10.69 ID:D0Vtmcpk.net]
コントロールじゃなくてクラスじゃないの?

858 名前:デフォルトの名無しさん mailto:sage [2017/10/08(日) 21:34:34.51 ID:p32irLzq.net]
乱数のとこわけワケワカメ。NextとかNextDoubleとか

859 名前:デフォルトの名無しさん mailto:sage [2017/10/08(日) 21:36:14.51 ID:fHcFBAaS.net]
>>840
ありがとうございます、ブックマーク機能が一番骨折れそうですね



860 名前:デフォルトの名無しさん [2017/10/08(日) 22:34:55.91 ID:jXMyRhU9.net]
c#erの皆さんがこれだけは覚えていて損はないって言語なんですか?CとC++以外で

861 名前:デフォルトの名無しさん mailto:sage [2017/10/08(日) 22:41:13.30 ID:93IJP3PA.net]
使えて損しないのはJavaScript
学んで損しないのはLisp

862 名前:デフォルトの名無しさん mailto:sage [2017/10/08(日) 22:48:37.70 ID:D0Vtmcpk.net]
>>844
javascriptはクソだけど使う機会が多いので覚えたほうがいいと思う
しかも文法じゃなくてどういう風に使ってるかも含めて覚えたい

あとはpython <

863 名前:br> 文字列など扱うとき便利 []
[ここ壊れてます]

864 名前:デフォルトの名無しさん mailto:sage [2017/10/08(日) 22:53:18.48 ID:/QhTkQlJ.net]
>クソだけど使う機会が多いので覚えたほうがいい
本当それなw

865 名前:デフォルトの名無しさん mailto:sage [2017/10/08(日) 22:54:30.83 ID:/QhTkQlJ.net]
後はSQLを言語に含めて良いならSQL

個人的にはPowerShellもオススメしたい

866 名前:デフォルトの名無しさん mailto:sage [2017/10/08(日) 22:55:30.47 ID:26uLkZyR.net]
>>848
ようやくサーバー系OSでデフォルトになったからな

867 名前:デフォルトの名無しさん mailto:sage [2017/10/08(日) 22:56:59.48 ID:FNqA9s92.net]
つphp

掲示板ってどうやって作るんですかぁ?
って聞いてくる可愛い女の子に教えられる

868 名前:デフォルトの名無しさん [2017/10/08(日) 23:00:57.61 ID:jXMyRhU9.net]
皆さんありがとうございます
やっぱりweb系は覚えておいて損はないんですね
javascriptやphpはどうにも好きになれないんですが頑張ってみようかな。。

869 名前:デフォルトの名無しさん mailto:sage [2017/10/08(日) 23:09:33.04 ID:7EdoyHuq.net]
>>851
個人的には>>846が近いけど
何をやるにせよ新しいバージョンに対応した教材を



870 名前:839 mailto:sage [2017/10/08(日) 23:38:20.96 ID:fHcFBAaS.net]
TreeNodeで階層は分けれたのですがフォルダとURLの区別が付きません
お気に入りでURLとフォルダの区別をつけるようにするにはどうすればいいでしょうか?

871 名前:デフォルトの名無しさん mailto:sage [2017/10/08(日) 23:43:44.07 ID:LvJy3Cq4.net]
>>853
Tagプロパティに何かしらのオブジェクトでも突っ込んどけ

872 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 07:40:56.77 ID:Zzx1e3hO.net]
>>845
おれもLisp/JavaScriptに同意
JavaScript名前が某クソ言語に似ているが面白い言語だと思う。
海外のGeekたちがその毒気に当たって色々なライブラリーが開発されて今に至る。

873 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 07:54:19.25 ID:tvCeOLo3.net]
需要は多いのにモジュールもろくに整備されないって変な言語だよな
Web系連中のいい加減さが現れた言語だ

874 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 08:01:34.71 ID:pi4w3jwR.net]
最近は状況が変わって来てるよ
とにかく古い環境で古い知識を勉強するとロクなことにならん

875 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 08:01:44.05 ID:Zzx1e3hO.net]
npm left-pad事件なんてわけわからんの起きるしなw

876 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 08:19:00.65 ID:Zzx1e3hO.net]
>>851
Webアプリの本質的な所を理解するのにはc言語でcgiやるもの面白いぞ。

877 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 08:59:21.14 ID:UEIAYP2F.net]
>>859
cgiレベルならCでもperlでもたいして違わない気がする
文字列操作が多い分Cでやってたら本質的でないところで面倒なだけだし

878 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 09:04:59.65 ID:Zzx1e3hO.net]
>>860
c言語だとWebライブラリもないし全て自前で勉強にはなるだろ。
c言語でWebアプリなんか作っても難行苦行でしかないから作らんけどね。
サイボウズはc言語で作られてるらしいね。

879 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 09:11:47.98 ID:CsWYGxTc.net]
べつに、perlでやってもライブラリ使わなきゃWebの勉強としては変わらんだろ。



880 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 10:13:02.85 ID:Y2JfmrWo.net]
C言語でやるメリットってあるのかな
サイボウズってそんなにCPU使うようなサービスだっけ

881 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 10:31:59.67 ID:Zzx1e3hO.net]
>>863
サイボウズは20年も前に開発されたものだからな。
当時はc言語のcgiなんて普通にあった。2chもそうだったし。

882 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 10:34:00.35 ID:VHpEwq8w.net]
「初心者の質問スレ」で「C#に関係ない話題はやめてください」
>>844みたいなのはマ板でやれよ。板の意図とも違う

883 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 10:43:38.01 ID:t8KOjWoA.net]
>>861
なんでいきなりWebライブラリの話が出てくるんだよ w
cgi って言ってるんだからhttpヘッダー+生のhtmlでやるって話だろ

884 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 10:49:23.90 ID:EXlp17KP.net]
>>866
スレ違い
それに生は危険

885 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 11:10:56.57 ID:9hl0U6ca.net]
プログラムの勉強にC#で簡単なアプリ作ってみたのだけど、配布する前に難読化した方がよいと聞いてConfuseEx試してみたらマルウェア判定されて即消されちゃうのだけど、どうしたら難読化したアプリを配布出来るのか教えて下さい
もしかして難読化する方が少数派なのでしょうか?

886 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 11:15:39.19 ID:Vj0lVF94.net]
>>868
難読化はITリテラシーの低い経営者を狙った詐欺
C#じゃ難読化しても技術保護にはならないし
そもそもリバースエンジニアリングされるほど高尚な物じゃないだろう?
本当に保護したい技術はサービスとして提供して物は一切公開しない

887 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 11:16:09.72 ID:VHpEwq8w.net]
>>868
何故難読化するのか理由がちゃんとあるのか?
隠さなければならないコードがない限り普通は難読化しない

888 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 11:24:51.27 ID:EXlp17KP.net]
難読化ってリフレクションには影響無いのか?
例外のスタックトレースまで難読化されるんだろ。

889 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 11:29:25.08 ID:6DW9ok56.net]
C#で難読化とか吹き込んだ奴に聞けよ
まともなコンサルなら耐タンパー性が必要ならまずC/C++で開発しろと言う



890 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 11:43:25.86 ID:Zzx1e3hO.net]
難読化ツールなんて誰も使ってないのが良く分かったw

891 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 11:46:23.37 ID:xMCJlje6.net]
偉そうにしょうもない解答する奴は馬鹿だから無視していいよw

892 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 11:48:44.68 ID:T0povuKJ.net]
難読化って言葉通り読み辛くしてるだけだからな
初心者じゃなければ解析できるんだからあまり意味がない

893 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 11:51:02.13 ID:2VEzXzCr.net]
難読化を重視するならUWPに移行すればいいのに

894 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 11:52:12.53 ID:A2XN0/QV.net]
フロー難読化もあるから初級者上級者関係ない
解析は根気があるかどうかが問題だよ

895 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 11:54:51.63 ID:M//uOX8+.net]
難読化の目的理解してないやつ大杉だろw

896 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 12:00:45.54 ID:9hl0U6ca.net]
やはり普通やらないような事なのですね
なんとなくですが理解しました!
アプリ内に書いてある文字列で別のアプリで暗号化したものを復号化してみるアプリだったのですが、文字列が丸見えらしく知り合いに聞いてみたら難読化してみたら?との事でした
要は文字列だけ隠したいのですが何かしら方法はあるものなのでしょうか?

897 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 12:02:01.69 ID:3IBabimx.net]
>>879
ググれ

898 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 12:04:20.36 ID:VHpEwq8w.net]
>>879
本来の意図が分からないが元のアプリ内の文字列を最初から暗号化したら済む
解析もできないようにしたいのだったら難読化だろうが何だろうが無理
手間がどれだけかかるかだけの違いしかない

899 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 12:08:39.18 ID:3IBabimx.net]
パスワード c# プログラム内
でググったら
ハッシュがどうのこうのってのは出てきた
使えるかな?



900 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 12:12:31.64 ID:pMEz2IHg.net]
俺が書いたコードは難読化しなくても誰にも理解出来ないよ。

901 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 12:35:35.80 ID:M//uOX8+.net]
>>879
それは難読化じゃなく暗号化
君もだけどその知り合いもしばいときな

902 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 12:45:14.62 ID:c41RoAYB.net]
ツールを使ってjsのコードを難読化し、ユーザーはツールを使ってそれを可読化する
人間って面白いね

903 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 12:45:28.90 ID:Bjp73H7L.net]
知り合いはともかく自分で自分をしばくのか

904 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 12:51:39.85 ID:Zzx1e3hO.net]
>>879
そもそも、復号キーをコードの中に埋め込んでいるのが間違いだろうけどね。
復号キーを暗号化しても復号アルゴリズムがコードの中にあったら無意味だよ。

905 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 12:54:13.72 ID:T0povuKJ.net]
>>887
そういう場合は秘密鍵をサーバーに、プログラムには公開鍵だけを持たせるやり方が簡単
ネットを介さない環境で使用するアプリとかなら仕様がわからんんがキーコンテナを使え

906 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 12:54:50.95 ID:T0povuKJ.net]
すまんレス番間違った >>879

907 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 13:21:52.47 ID:9hl0U6ca.net]
みなさまありがとう
アプリAで暗号化、アプリBで復号化、他者はBしか持っていないという状況を想定して、アプリB内の復号化に使う文字列をなるべく隠したくて質問させて頂きましたが難しそうですね

いろいろ素人なりに調べてみたけれどやはり秘密鍵をどうにかサーバーに置いておくのが良さそうに感じました
ただ適当なサー

908 名前:oーに適当に秘密鍵をアップしてもあまり意味なさそうなのでその辺りもよく考えないとダメそうですね…

ゆくゆく作りたいアプリのために始めてみましたが、ある程度解析しづらいらしいC++などで最初から考え直しても良いのかもしれません
アドバイスありがとうございました
[]
[ここ壊れてます]

909 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 13:49:55.29 ID:KtpP5XlM.net]
>>890
鍵を外部ファイルにすればいいだけだろ
なんでcでやるとかサーバー使うみたいなトンチンカンな方向に行ってしまうんだ



910 名前:デフォルトの名無しさん [2017/10/09(月) 14:00:57.24 ID:qEhozSMZ.net]
>>891
外部ファイルだと中身見れるから意味ないだろバカか

911 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 14:07:28.45 ID:KtpP5XlM.net]
>>892
ははは

912 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 14:13:38.87 ID:T0povuKJ.net]
外部ファイルが許されるのは入力パスワードに対してのハッシュくらいだろ
879の案件には合わない

913 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 14:18:01.80 ID:T0povuKJ.net]
更に外部ファイルの改竄チェックも必要になるな

914 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 14:21:39.53 ID:KtpP5XlM.net]
あ、ここ初心者スレだったか

915 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 14:22:02.94 ID:6DW9ok56.net]
Bで作った公開鍵をAに渡して暗号化させればいいだけの話でないのん
秘密鍵だけで無理にやろうとするから当たり前のように無理が出るのでは

916 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 14:23:03.18 ID:6DW9ok56.net]
まあ、厳密にはその場合でも、一時共有鍵は使うだろうけど

917 名前:デフォルトの名無しさん [2017/10/09(月) 14:40:20.42 ID:qEhozSMZ.net]
>>896
トンチンカンなバカレスするお前は初心者以下

918 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 14:52:27.91 ID:KtpP5XlM.net]
>>899
わからないならそう言えば?

919 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 14:58:22.98 ID:Ow6+xo9r.net]
>>900
関連スレに2度と来ないでくれ



920 名前:デフォルトの名無しさん [2017/10/09(月) 15:01:38.21 ID:qEhozSMZ.net]
>>900
じゃあ早く俺のレスに答えて

921 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 15:02:18.20 ID:T0povuKJ.net]
ID:KtpP5XlM はただの荒らしだろ
もう構うな

922 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 15:02:45.85 ID:M//uOX8+.net]
>>887
無意味ではないよ
文字列抜き出すのとアルゴリズムの解析とでは
必要な時間が全く違うからね
それこそ難読化の出番

923 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 15:05:23.09 ID:M//uOX8+.net]
>>890
Aに秘密鍵、Bに公開鍵で。
Aの秘密鍵を守る対策は別途必要

924 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 15:06:38.70 ID:LtbrVXIC.net]
埋め込みでリソース持つのと、外部ファイルで持つのってセキュリティそんなに変わらんでしょ?

925 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 15:07:25.29 ID:ZyuEIFSh.net]
そもそも暗号化手順+暗号キーを知られたくないならまだしも暗号キーをとにかく知られたくないというのが分からない
元の質問者は終了宣言しているし外野が条件変えながら議論しても無意味

926 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 15:09:31.57 ID:KtpP5XlM.net]
暗号化通信の基本もわかってないのにプログラマ名乗っちゃダメだろ君たち

927 名前:デフォルトの名無しさん [2017/10/09(月) 15:10:52.65 ID:qEhozSMZ.net]
>>908
逃げんな
早く答えろ

928 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 15:15:00.06 ID:of8Vs49y.net]
>>891
それなんの意味があるんだよ w

929 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 15:18:53.37 ID:KtpP5XlM.net]
公開鍵で暗号化プログラムA
秘密鍵で復号プログラムB
Bの利用者は鍵ペアを生成
外部ファイルとして秘密鍵をプログラムに渡す
公開鍵を通信相手に渡す
終わり



930 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 15:22:46.29 ID:KtpP5XlM.net]
コード書けりゃプログラマじゃないぞ
お前らはC#なんてやっとらんでITパスか基本情報でも取ってこい

931 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 15:29:43.51 ID:vwGL24JO.net]
そのまえに日本語が書けないと困るな

932 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 15:30:38.86 ID:LtbrVXIC.net]
そういや試験は来週ぐらいか

933 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 15:39:49.40 ID:of8Vs49y.net]
>>911
だからそれなんの意味があるんだよ w
>>906の意味わかってないのか?

934 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 15:54:47.16 ID:F9+aoLk/.net]
if(HashPasswordForStoringInConfigFile(パスワード, "sha1").ToLower() == ハッシュ文字列)
{/*編集可能処理*/}

って書いてあった

935 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 15:57:26.54 ID:ZyuEIFSh.net]
>>916
>>879のデータの暗号化とパスワードの認証は別の話
ハッシュで認証するから元のパスワード持っていなくていいよ、てのはわかるが

936 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 16:04:00.40 ID:LtbrVXIC.net]
認証したいなら個別に別ルートでパスワード発行

ユーザー全員に共通パスワード持たせたいならセキュリティ諦めてリソース持つぐらいで十分
できれば中間にAPI噛ませて何かあった時の被害をコントロールできるようにしておいたほうがいい

937 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 16:39:19.76 ID:F9+aoLk/.net]
>>917
単純にテキストだけの話なの?
バイナリファイル読み込め的な?

938 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 16:39:54.37 ID:Uib+y8KD.net]
以前List<T>オブジェクトをXmlシリアライズ・デシリアライズする拡張メソッドを作ったのですがユーザー定義クラスのときだけ動きません
public static void SaveXml<T>(this List<T> list, string path)
{
T[] xmldata = list.ToArray();

using (FileStream fs = new FileStream(path, FileMode.Create))
{
XmlSerializer xml = new XmlSerializer(typeof(T[]));

xml.Serialize(fs, xmldata);
}
}

こういった感じでList<MyData>型の変数myDataList.SaveXml("D:\hogehoge.xml")と呼ぶとxml.Serialize(fs, xmldata)のところで
System.InvalidOperationExceptionが投げられます。ただのList<string>型の場合投げられません。
どこがまちがっているでしょうか?

939 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 17:09:31.29 ID:mhNcAFC5.net]
とりあえずその投げられた例外をToString()して全部読んでみて



940 名前:デフォルトの名無しさん [2017/10/09(月) 17:14:46.63 ID:qEhozSMZ.net]
>>911
はあ?
秘密鍵丸見えじゃ無意味って理解出来ないの?

941 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 17:18:01.05 ID:RdvZrZJ8.net]
>>922
君は果てしなく馬鹿だね

942 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 17:19:21.84 ID:c41RoAYB.net]
自分だけはバカじゃないという前提

943 名前:デフォルトの名無しさん [2017/10/09(月) 17:23:16.60 ID:qEhozSMZ.net]
>>923
違う用途ならともかくこの件においては
データ改変できて無意味

944 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 17:24:22.08 ID:RdvZrZJ8.net]
>>925
そうかいじゃあやってみなよ

945 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 17:28:38.64 ID:r14Jr9yH.net]
>>920
型以外の条件を一切変更していないのに(ダメな人は他の条件も変えてたりするから困るw)
TがMyDataの場合だけ例外は発生するのであれば、
普通に考えてMyDataがXMLシリアル化可能な条件を満たしてないんでしょう。

例えばデフォルトコンストラクタがないとかそもそもpublicなクラスじゃないとか。

946 名前:デフォルトの名無しさん [2017/10/09(月) 17:28:45.97 ID:qEhozSMZ.net]
>>926
は?
間違ったやり方をやるわけないだろバカ

947 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 17:29:14.61 ID:RdvZrZJ8.net]
>>928
できないんだね

948 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 17:34:23.08 ID:Uib+y8KD.net]
>>921
できなかったのはコンストラクタ定義していたせいでした、すいません

949 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 17:42:16.72 ID:CACjh+QN.net]
馬鹿の壁みたいだ

初心者のためにかくと
公開鍵は暗号化する鍵で誰にみせてもいい
秘密鍵は暗号を解く鍵でみせてはいけない

B利用者は自分のための公開鍵と秘密鍵を作る
作った秘密鍵をプログラムBに渡す

公開鍵は誰にでも渡してプログラムAで鍵をかけてもらったものを送ってもらう

B利用者は送られたものをプログラムBで鍵を解く

送った内容は秘密鍵を持ってないと中身がみえないので安全



950 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 17:47:02.95 ID:0amLgkzQ.net]
命名スレで暴れてた馬鹿おじさん
こんなところにいたのか

951 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 17:48:41.75 ID:CACjh+QN.net]
秘密鍵を相手に渡すのは馬鹿の極み
公開鍵は誰に見られてもいいので
難読化とかそういう以前の問題

セキュリティがどうこう言う前に勉強すべき

プログラムBが公開鍵持ってても何の問題ない

952 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 17:49:44.10 ID:c41RoAYB.net]
お互いにバカバカいっててレベル低い系?

953 名前:デフォルトの名無しさん [2017/10/09(月) 17:50:42.44 ID:qEhozSMZ.net]
>>929
アスペか?日本語すら出来ないバカは死んでろ
生きてる価値も意味も皆無だから

954 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 17:51:09.22 ID:CACjh+QN.net]
馬鹿は馬鹿同士でお互いにバカにしあっていればいい
俺は横から初心者のために解説してるだけ

955 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 17:51:40.46 ID:KtpP5XlM.net]
>>935
鏡に語りかけてる
やばいやつだこいつ

956 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 17:51:44.57 ID:r14Jr9yH.net]
実にどうでもいい話だけど、元の質問者のケースは別人の間の通信ではないので、
公開非公開の区別の意味はないね。

この分野全然知らんけど、サーバーに復号化のための情報を置いたら安全って発想は
ちょっと理解できんなあ。

それってハッキングする側から見たら、単にサーバーの認証を突破するひと手間が
増えただけの話じゃないの?

957 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 17:52:50.89 ID:c41RoAYB.net]
争いは同レベル同士で起こるとはよく言ったものだ

958 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 17:54:11.26 ID:CACjh+QN.net]
>>938
多分適当にググれば10分ぐらいで何を言ってるかわかるよ

959 名前:デフォルトの名無しさん [2017/10/09(月) 17:55:23.10 ID:qEhozSMZ.net]
>>933
ユーザーに改変されたくないデータをやり取りする場合そのやり方だと無意味



960 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 17:56:26.56 ID:CACjh+QN.net]
うっわ無知な馬鹿に絡まれた
最悪・・・

無知でも考えれば何とか答えが出るのに…

961 名前:デフォルトの名無しさん [2017/10/09(月) 17:56:55.32 ID:qEhozSMZ.net]
>>937
バカはセキュリティ意識がないんだな

962 名前:デフォルトの名無しさん [2017/10/09(月) 17:58:13.55 ID:qEhozSMZ.net]
>>942
答えられないの?

963 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 17:58:55.36 ID:S4nF/O79.net]
>>938
最初から読めばファイル配布の稚拙なシステム作ろうとして注意されたのが分かる
多分本人は問題の本質に気付いていない
そしてこの問題はC#以前の話

964 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 17:59:02.92 ID:c41RoAYB.net]
人間の基本行動原理

自分だけはバカじゃないという前提
自分だけは誰よりも常に正しいという前提

965 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 18:04:39.80 ID:LtbrVXIC.net]
パブリックキーで暗号&復号化するのはパケットの話
サーバに収めるデータやDBは別

966 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 18:08:41.86 ID:T0povuKJ.net]
>>938
そうじゃなくてサーバーに復号化の情報を置くのではなくサーバーで復号化させるってこと
A-B間で直接やり取りできるなら別にサーバーじゃなくてもいい

どうでもいいけど質問者の案件の詳細がわからない限りこれ以上の言い争いは不毛だぞ

967 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 18:11:27.11 ID:CsWYGxTc.net]
サーバーで復号したものを安全にBに持ってくるにはまた暗号化が必要なんでは?

968 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 18:12:13.10 ID:CACjh+QN.net]
ようやく自分の誤りに気づき終息させようとするの術

その前に嵐扱いした人に謝ったほうがいいんじゃないかなw

969 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 18:14:40.29 ID:T0povuKJ.net]
>>949
一時的な暗号鍵を使う
その鍵は保存されないしユーザーにはわからない



970 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 18:17:25.45 ID:T0povuKJ.net]
>>950
俺に言ってるのかな?何も間違ったことは言ってないけど

971 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 18:18:49.58 ID:CACjh+QN.net]
>>952

>>911の手法は少なくとも正しい

972 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 18:19:37.05 ID:zWF+LHai.net]
情報小出しにして質問する→勝手な憶測で返す→条件無視の議論に発展
このコンボやめてくれ

973 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 18:20:42.30 ID:A2XN0/QV.net]
いつまで続けんの?

974 名前:デフォルトの名無しさん [2017/10/09(月) 18:20:54.51 ID:qEhozSMZ.net]
>>953
ユーザーが改変できるってさっきから指摘してるんたが?
逃げずにはやく答えてみろよ?

975 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 18:22:18.03 ID:c41RoAYB.net]
実にくだらない

976 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 18:24:21.88 ID:r14Jr9yH.net]
>>948
要するに、「デコーダー」側がハッカーと正規ユーザーを区別できなきゃ安全でも何でもないよね

977 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 18:24:23.29 ID:CACjh+QN.net]
>>956
まだ気づいてないのか?

よーく考えてみたら?
条件というか設定が間違ってる

それはBからAに送信するときの暗号化の話だから問題が逆
それにユーザーがコード改変して暗号化前に情報変えるのは無関係だろ

978 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 18:25:26.98 ID:c41RoAYB.net]
例えば>>959の文章でいうと

>まだ気づいてないのか?
>
>よーく考えてみたら?

の部分が不要

979 名前:デフォルトの名無しさん [2017/10/09(月) 18:32:17.71 ID:qEhozSMZ.net]
>>959
気付いてないのはお前の方だろバカ
ユーザーの元に秘密鍵があれば改変したデータを作って利用できるだろ



980 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 18:34:29.22 ID:c41RoAYB.net]
>>961
>気付いてないのはお前の方だろバカ
不要

981 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 18:34:41.77 ID:CsWYGxTc.net]
>>951
今度はその一時的な鍵をサーバーとBの間でどうやって安全に交換するかって問題に帰着すると思うが。

982 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 18:36:12.76 ID:T0povuKJ.net]
>>958
全然要されてない
要するなら利用者がハッカーだとしてもこのやり方なら安全ってこと

983 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 18:37:34.88 ID:CACjh+QN.net]
やっぱり馬鹿の壁だな
理解できない相手に正論を言っても無駄

984 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 18:37:45.93 ID:UEIAYP2F.net]
>>961
> 気付いてないのはお前の方だろバカ
お前だよ w

> ユーザーの元に秘密鍵があれば改変したデータを作って利用できるだろ
ちゃんと質問者のレス読めよ
>>890
> アプリAで暗号化、アプリBで復号化、他者はBしか持っていないという状況

985 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 18:38:21.65 ID:zWF+LHai.net]
今日の赤IDは全部NGで問題ない

986 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 18:38:55.70 ID:T0povuKJ.net]
>>963
公開鍵を使うに決まってるだろ・・・

987 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 18:39:34.24 ID:c41RoAYB.net]
>>965
>やっぱり馬鹿の壁だな
>理解できない相手に正論を言っても無駄

不要

988 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 18:40:11.30 ID:CACjh+QN.net]
公開鍵と秘密鍵についてよくわかってないのが多いな

httpsじゃダメだって言うんだろうな
怖い怖い

989 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 18:41:35.96 ID:oNj7uBjL.net]
>>938
同じ鍵で解読できる暗号が2種類あった場合、利用者に複合鍵を渡すと両方解読されてしまう
サーバーで複合すればユーザー情報に基づいてひとつだけ解読可能みたいなこともできる

あと、ローカルでの解読と違ってサーバーに不正アクセスするのは犯罪になるという障壁もある



990 名前:デフォルトの名無しさん [2017/10/09(月) 18:42:38.62 ID:qEhozSMZ.net]
>>966
はあ?
他者がBを持ってそのBに秘密鍵を置くなんてもってのほかだぞ?お前もバカか

991 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 18:43:23.56 ID:c41RoAYB.net]
>>972
>はあ?
>お前もバカか

不要

992 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 18:43:57.77 ID:r14Jr9yH.net]
>>964
安全じゃないでしょう。
質問者のケースの場合、暗号化されたデータをハッカーは利用可能。
要するに>>938

993 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 18:44:02.73 ID:CACjh+QN.net]
>>972
>>911を100回読めばいいよ

B側の秘密鍵は利用者ごとに作るんだよ…

994 名前:デフォルトの名無しさん [2017/10/09(月) 18:44:41.48 ID:qEhozSMZ.net]
>>970
お前のようなバカはブラウザに秘密鍵があるんだな
怖すぎ

995 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 18:45:48.40 ID:c41RoAYB.net]
>>976
>お前のようなバカは

不要

996 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 18:46:10.47 ID:CACjh+QN.net]
頭のおかしな人のふりをして逃げ切るの術がはじまったのかよ

997 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 18:46:34.09 ID:c41RoAYB.net]
>>975
>100回

不要

998 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 18:46:51.21 ID:c41RoAYB.net]
>>978
>頭のおかしな人のふりをして逃げ切るの術がはじまったのかよ

不要

999 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 18:47:42.62 ID:T0povuKJ.net]
>>974
全然違うって
> この分野全然知らんけど
知らないなら理解しよう



1000 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 18:48:15.79 ID:CsWYGxTc.net]
>>968
それじゃサーバー=Aと本質的に変わってなくて単に余計な経路を追加しただけ。

1001 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 18:51:07.76 ID:CACjh+QN.net]
仕組み

サーバとクライアントで別々の鍵ペア(秘密鍵、公開鍵)を作ってお互いに
公開鍵を渡す
ネットを通すときは相手からもらった公開鍵で暗号化
受け取った側は自分の秘密鍵で解読

秘密鍵はネットを通らないので間で傍受されても普通は暗号解読不能

1002 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 18:51:39.28 ID:T0povuKJ.net]
>>982
Aと他者が使うBが常時やり取りできるならサーバーである必要もないとは言ってるし
そもそも安全な暗号化する鍵の保存についての答えだが

1003 名前:デフォルトの名無しさん [2017/10/09(月) 18:53:53.42 ID:qEhozSMZ.net]
>>975
だから利用者側に秘密鍵があれば利用者が改変したデータを作れてしまうだろ
まだ理解出来ないの??

1004 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 18:55:21.55 ID:c41RoAYB.net]
>>985
>まだ理解出来ないの??

議論に不要な記述

1005 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 18:55:41.00 ID:CACjh+QN.net]
>>985
秘密鍵関係なく暗号化前のデータを変えれば意味ないでしょって言ってるんだけど

暗号化したらユーザーがデータを変えられないと思ってるなら間違い

1006 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 18:58:23.22 ID:CACjh+QN.net]
つかれた
秘密鍵は何度も言ってるけど暗号解除のための鍵

プログラムBが秘密カギを持ってるとするとプログラムAからのデータを受け取るときの
暗号解除のため
だからユーザーがデータを書き換えるとかそういうのは違う

1007 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 18:58:38.89 ID:r14Jr9yH.net]
うーん、繰り返しになるけど、質問者のケースは別人の間の通信じゃないので鍵をペアにする意味なんかないですよw

問題はどうやったら正規ユーザーだけが利用できる「復号化装置」を確保きるかって話。

「復号化装置」を外だししたら安全だって話は普通に正しくないでしょう。
そんなのハッキングする側から見たら「ほんのひと手間」増えるだけ。

1008 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 18:58:51.90 ID:Y4203ffV.net]
次スレ立ててくる

1009 名前:デフォルトの名無しさん [2017/10/09(月) 18:59:20.58 ID:qEhozSMZ.net]
>>987
秘密鍵が手元にあれば改変した偽のデータを作ってそれをアプリで使えてしまうだろ
まだわからないの?



1010 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 18:59:55.87 ID:c41RoAYB.net]
>>991
>まだわからないの?

議論に不要な記述

1011 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 19:00:37.82 ID:CACjh+QN.net]
>>989
>>890

1012 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 19:00:38.05 ID:T0povuKJ.net]
>>989
質問者はBは他者が持ってるって言ってるけど

1013 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 19:01:17.45 ID:CACjh+QN.net]
>>991
>>988

1014 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 19:01:39.15 ID:Y4203ffV.net]

ふらっと C#,C♯,C#(初心者用) Part132
mevius.2ch.net/test/read.cgi/tech/1507543256/

1015 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 19:01:59.72 ID:CACjh+QN.net]
>>996
おつ

1016 名前:デフォルトの名無しさん [2017/10/09(月) 19:02:26.16 ID:qEhozSMZ.net]
>>995
だからそれは間違ってるって言ってらだろバカ

1017 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 19:02:40.02 ID:T0povuKJ.net]
次スレ乙
うめ

1018 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 19:02:54.26 ID:X/uHF4ez.net]
>>996
有能、空気読みすぎ

1019 名前:1001 [Over 1000 Thread.net]
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 31日 0時間 50分 43秒



1020 名前:過去ログ ★ [[過去ログ]]
■ このスレッドは過去ログ倉庫に格納されています






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<263KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef