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

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん (ワッチョイ 0f9a-KsIq)2017/11/29(水) 19:23:58.05ID:GNLsbK4F0
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください

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

■前スレ
ふらっと C#,C♯,C#(初心者用) Part133
http://mevius.5ch.net/test/read.cgi/tech/1510056685/
■関連スレ
C#, C♯, C#相談室 Part95
http://mevius.5ch.net/test/read.cgi/tech/1508180530/
C#, C♯, C#相談室 Part93
https://mevius.5ch.net/test/read.cgi/tech/1492818720/

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

■情報源
https://msdn.microsoft.com/ja-jp/library/gg145045.aspx
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/index
https://msdn.microsoft.com/en-us/library/gg145045.aspx
http://referencesource.microsoft.com/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured

0952デフォルトの名無しさん (ワッチョイ 9fd2-uiFW)2018/02/04(日) 14:41:58.66ID:zMXPgQ7i0
>>949
相変わらずひどい翻訳やな

0953デフォルトの名無しさん (ワッチョイ 179d-jn1r)2018/02/04(日) 14:50:13.12ID:HudK1GnQ0
var grps = tabPage1.Controls.OfType<GroupBox>();
var ggg = tabPage1.Controls.OfType<GroupBox>().ToList();

IDEでみるとgrpsは
{system.Linq.Enumerable.OfTypeIterater<GroupBox>}
gggは
count=10
と出る。

0954デフォルトの名無しさん (ワッチョイ 9fd2-uiFW)2018/02/04(日) 14:53:40.22ID:zMXPgQ7i0
わろた

0955デフォルトの名無しさん (ワッチョイ 179d-jn1r)2018/02/04(日) 14:53:56.98ID:HudK1GnQ0
>IEnumerableやyield returnの動作知らずにLINQ使うのって怖くないのかな

何故怖いの? 
IEnumerableとEnumerableの違いを端的に説明すると、どういうこと?

0956デフォルトの名無しさん (ブーイモ MMcf-+DFt)2018/02/04(日) 14:55:56.43ID:2sg7PnbOM
キーワードがわかってるなら聞かないで自分で勉強したらいいのに
勉強したり努力してわからないならここで聞けばいい

0957デフォルトの名無しさん (ワッチョイ 179d-jn1r)2018/02/04(日) 14:59:19.86ID:HudK1GnQ0
Enumerable.OfType <GroupBox > grps = tabPage1.Controls.OfType<GroupBox>();
これはできないよ。エラーになる。

List<GroupBox > ggg = tabPage1.Controls.OfType<GroupBox>().ToList();
これはOK

0958デフォルトの名無しさん (ワッチョイ 179d-jn1r)2018/02/04(日) 15:01:43.20ID:HudK1GnQ0
>Enumerable.OfType<TResult> メソッド

あっと見落としてた、型じゃないのか。メッソドか。

0959デフォルトの名無しさん (ブーイモ MMcf-+DFt)2018/02/04(日) 15:01:43.24ID:2sg7PnbOM
ダメな初心者=エラー内容を読まないし調べない

0960デフォルトの名無しさん (ワッチョイ 9f19-iu0y)2018/02/04(日) 15:05:12.21ID:+N3aAgKo0
>>936
ありがとうございます。
ターゲットフレームワークが4.7、動かそうとしているPCが4.5、プログラムの内容が4.5までで実現できるwinformsの場合でも起動すらできないですか?

0961デフォルトの名無しさん (ワッチョイ 179d-jn1r)2018/02/04(日) 15:12:42.24ID:HudK1GnQ0
>例えば.net 4.7で作られたプログラムを4.5しか入ってないPCで動かすとどうなりますか?
4.7が動作しないPCはない(筈だ)から、4.7をダウンロードしたらいいだけだよ。
4.7をシステムに追加すれば問題なしに完璧に動作するよ。

0962デフォルトの名無しさん (ワッチョイ bf7f-qlLX)2018/02/04(日) 15:17:08.79ID:CmrmETVT0
>>960
クライアントがターゲットフレームワーク未満の場合は、起動時にエラーダイアログが出て終了する。
その内容だったら、ターゲットフレームワークを4.5に変更すれば良いのでは。
厳密には、4.5はサポート切れてるから、4.5.2に設定した方が良いと思うけど。

0963デフォルトの名無しさん (ワッチョイ 979a-it6M)2018/02/04(日) 15:18:11.54ID:UjaEvCGn0
ワッチョイ 179d にもう触んな

0964デフォルトの名無しさん (ワッチョイ ff81-CU+w)2018/02/04(日) 15:43:41.74ID:ldOBh/kr0
魚類に釣り絵に噛みつくなと説いてもムダムダ

0965デフォルトの名無しさん (ワッチョイ 9f19-iu0y)2018/02/04(日) 15:55:30.93ID:+N3aAgKo0
>>961,962
よく分かりました。ありがとうございます

なんとなくpublicならプロパティ
privateならフィールドにするように
しているんだが

public なフィールドやprivateなプロパティって使うことある?

0967デフォルトの名無しさん (ワッチョイ 9fb3-mP5N)2018/02/04(日) 16:06:43.52ID:88eIJAAv0
>>951
> IEnumerableやyield returnの動作知らず
そいつらは実装者には必要だけどLINQ使う側には必要ないだろ

0968デフォルトの名無しさん (ワッチョイ f7e3-uppE)2018/02/04(日) 16:11:21.66ID:nSH8cPbn0
そもそもこんな疑問でちゃう時点で機能としての出来が良くないんだから
使わない俺の大勝利

0969デフォルトの名無しさん (ワッチョイ ff81-CU+w)2018/02/04(日) 16:12:24.36ID:ldOBh/kr0
頭の出来がよくないの人のせいにするとは

0970デフォルトの名無しさん (ワッチョイ f7f7-NsDz)2018/02/04(日) 16:12:44.65ID:vxeWu10H0
>>930
スコープがアプリケーションだと書き込みができない様で、書き込みのできる方法はありますでしょうか?

アプリケーションでいじった値をアプリケーションのあるフォルダなどに保存する方法が知りたいです
visualstudioで生成したDebugフォルダをコピーするだけで同じ設定のものがコピー出来る様になりたいです

0971デフォルトの名無しさん (ワッチョイ bf9e-QBDq)2018/02/04(日) 16:19:07.58ID:YE7Mv6Fc0
>>824
そんなレベルの疑問を自力で解決出来ないのに独自言語なんて作れるのか?

0972デフォルトの名無しさん (スッップ Sdbf-uiFW)2018/02/04(日) 16:22:45.65ID:s5exZTb6d
>>968
使ってることに気づいてないアホがこれ

0973デフォルトの名無しさん (アウアウエー Sadf-Og17)2018/02/04(日) 16:27:27.66ID:iJJ2KKb9a
>>970
>>930を真に受けちゃダメ

MSはバイナリをProgram Files以下のディレクトリにインストールして使うのが
標準的な使い方だと考えているので、アプリケーション設定も当然バイナリと同じフォルダに
保存する方法は用意されてない。(言うまでもないけど、Program Files以下のディレクトリに
ファイルを書き込むには特別な権限が必要)

バイナリをUSBメモリに入れて持ち歩くような使い方を想定しているようなアプリなら
当然バイナリと同じディレクトリに設定ファイルを保存するのもありだけど、
そういう場合は自分でそういうコードを書くしかない

0974デフォルトの名無しさん (スッップ Sdbf-uiFW)2018/02/04(日) 16:32:40.51ID:0pkor+t3d
>>973
嘘まみれ

0975デフォルトの名無しさん (ワッチョイ 9f06-wbgk)2018/02/04(日) 16:43:23.86ID:RXHjrV0B0
>>970
つ ふっかつのじゅもん

0976デフォルトの名無しさん (アウアウウー Sa5b-+DFt)2018/02/04(日) 17:11:47.67ID:lnA8IzXNa
.netの前はアプリなどがシステムフォルダににDLLを入れていた
それでアンインストールなどを繰り返すとどれがどれに依存しているかわからなくなった
これをDLLヘルという

これを教訓にしてアプリではdll依存を極力避け
アプリの配布はビルドしたものを適当な場所にxcopyしただけで可能なように設計された

0977デフォルトの名無しさん (ワッチョイ 17e6-CU+w)2018/02/04(日) 18:11:17.96ID:IdDneOZ60
ApplicationSettingsみたいなゴミを使うの止めればいいんじゃないの
何でこだわってるの?
ApplicationSettingにこだわらなければ10分で済む話だよね?
なんで半日も一日も掛けてるの?
不死身で時間が無限にあるの?
無職で時間が余ってるの?
休日ぼっちで暇なの?
ねえなんで?

0978デフォルトの名無しさん (ワッチョイ f7f7-NsDz)2018/02/04(日) 18:13:05.97ID:vxeWu10H0
無職です申し訳ありません

0979デフォルトの名無しさん (アウアウエー Sadf-Og17)2018/02/04(日) 18:13:56.88ID:b12ucEdla
そもそもアプリケーション設定の解説なんていくらでもweb上に存在するのに
どうしてまずそれらを読まずに最初からできもしないことをできるはずだと思い込んでるのか、
そこが不思議。

0980デフォルトの名無しさん (ワッチョイ f7f7-NsDz)2018/02/04(日) 18:17:04.23ID:vxeWu10H0
アプリケーション設定には特にこだわりはありません
保存さえ出来れば構いません
出直してきます
申し訳ないです

0981デフォルトの名無しさん (ワッチョイ f7e3-uppE)2018/02/04(日) 18:17:36.06ID:nSH8cPbn0
オススメはCSVファイルの保存で

0982デフォルトの名無しさん (ワッチョイ 9fd2-uiFW)2018/02/04(日) 18:31:08.74ID:zMXPgQ7i0
>>981
キチガイ

0983愛恥人2018/02/04(日) 18:49:17.79
>>935
バインド出来ないじゃん(>_<)

0984デフォルトの名無しさん (ワッチョイ f7e3-uppE)2018/02/04(日) 18:50:28.24ID:nSH8cPbn0
>>982
エクセルで編集できて便利じゃん

0985デフォルトの名無しさん (ワッチョイ ff9a-HmOu)2018/02/04(日) 18:50:55.56ID:YkvE7FF30
>>980
自分で貼ったリンクに保存場所書いてあるし
プロジェクト名がHogeのとき
C:\Users\{User名}\AppData\Local\Hoge\...\1.0.0.0\user.config
でProperties.Settings.Defaultって書いてあるんだからググったら
パスの取得の仕方は
https://dobon.net/vb/dotnet/programing/mysettings.html
に書いてある
このパスを必要な場所にコピーしたらいいだけ
俺の場合はこれの使い方を把握できなかったんで自分でパーサー書いた方が早かったなw

0986デフォルトの名無しさん (ワッチョイ f7f7-NsDz)2018/02/04(日) 19:03:57.70ID:vxeWu10H0
>>985
プログラムを別のマシンに移しても設定が保存されるようにしたいのです
でも保存場所を変えることは出来ないんですよね?

0987デフォルトの名無しさん (ワッチョイ 9f06-wbgk)2018/02/04(日) 19:34:44.52ID:RXHjrV0B0
>>986
最近の流行りだと、設定を捨ててjson.netってやつで管理する
上記のそれはクラスオブジェクトをテキストにする(シリアライズと言う)ソフトなので
コレを普通のテキストファイルとして読み書きするだけです

0988デフォルトの名無しさん (ワッチョイ f7e3-uppE)2018/02/04(日) 19:45:17.78ID:nSH8cPbn0
>>987
何の会社かよくわからないし
MSのCSV読み込みにしといた方が良くない?

0989デフォルトの名無しさん (スッップ Sdbf-uiFW)2018/02/04(日) 20:09:49.43ID:fm2Gs9xAd
>>984
Excelでの編集が必要なほどデータが大量ならDB使えよ

0990デフォルトの名無しさん (スッップ Sdbf-uiFW)2018/02/04(日) 20:10:29.46ID:fm2Gs9xAd
>>987
お前もなんか勘違いしてんぞ

0991デフォルトの名無しさん (ワッチョイ 9fd2-uiFW)2018/02/04(日) 20:11:34.16ID:zMXPgQ7i0
>>988
JSON.NET知らないのはさすがにモグリやろwww

0992デフォルトの名無しさん (アウアウエー Sadf-Og17)2018/02/04(日) 20:18:09.97ID:rXp7+rpAa
>>986
一番簡単なのは、永続化(保存)したい情報だけをまとめたクラスを作って
シリアル化/逆シリアル化する方法。

シリアル化/逆シリアル化のための機能は.NETの標準ライブラリにも用意されてるので
わざわざサードパーティーのを使うことない

しかし、意地悪なのかマジなのか知らんけど、
なんか人を惑わすようなこと書く人ばっかりで質問者も大変だなw

0993デフォルトの名無しさん (ワッチョイ 9fd2-uiFW)2018/02/04(日) 20:19:44.54ID:zMXPgQ7i0
>>992
普通にappsettings.json使えばいいのにね

0994デフォルトの名無しさん (ワッチョイ f7e3-uppE)2018/02/04(日) 21:44:52.13ID:nSH8cPbn0
>>991
えー、知らない
すぐ死ぬことがない根拠ある?

0995デフォルトの名無しさん (ワッチョイ 179d-jn1r)2018/02/04(日) 21:48:45.96ID:HudK1GnQ0
CSV:一般的でシンプルで扱いやすい。
INIファイル:以前の標準、いまでも使えるがCOMオブジェクトロードする必要がある。フォーマットは直観的で使いやすい。
Json:上記に比べると、オブジェクトをそのまま保存可能というメリットがある。フォーマットは上記よりわかり難いが特に問題はない。
XML:汎用性があるが、直観的なフォーマットではないのでわかり難い。普通はこんなものをたいそうに使う必要はない。

などがあって、基本はCSVが標準だろうと思う。しかしクラスをそのまま保存するような場合はjsonがおすすめだ。例えば
カラーコードやフォントを保存する場合にはCSVだと、いちいちテキストなどに変換する必要があるが、jsonのシリアライズを
使えば何にも考えずに保存できる。MSもJnonのIFを用意しているが、Json.netの方が優れているのでそちらの方を使った方がいい。

0996デフォルトの名無しさん (ワッチョイ f7e3-uppE)2018/02/04(日) 21:53:43.05ID:nSH8cPbn0
>>995
json.netは俺が信用できないし
エクセルで編集できないしやめたほうがいいよ

0997デフォルトの名無しさん (ワッチョイ 9fd2-uiFW)2018/02/04(日) 21:54:18.80ID:zMXPgQ7i0
>>994
Microsoft自身もJSON.NETを製品に使ってる(.NET Core CLIとか)

0998デフォルトの名無しさん (スプッッ Sd3f-uiFW)2018/02/04(日) 21:55:08.37ID:FsQDUxLEd
>>996
お前が信用してなくてもMicrosoftは信用してる

0999デフォルトの名無しさん (スップ Sd3f-uiFW)2018/02/04(日) 21:56:36.47ID:l4jEutiZd
>>996
はいキチガイ

1000デフォルトの名無しさん (ワッチョイ 9fd2-uiFW)2018/02/04(日) 21:57:51.63ID:zMXPgQ7i0
>>996
お前の信用なんか誰も求めてない

10011001Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 67日 2時間 33分 53秒

10021002Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php

レス数が1000を超えています。これ以上書き込みはできません。