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

■ このスレッドは過去ログ倉庫に格納されています
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
2017/12/25(月) 12:56:04.14ID:OQg4hGpXa
>>175
データ量が多くなるとおせーんだよなxml,json
んで運用入ってから素人でも編集できるいいツールはないの?
って普通に無いからな(笑)
本気で作るものほどcsvやxls
2017/12/25(月) 14:38:00.28ID:MGc+vt78d
>>173
ねーよ
2017/12/25(月) 18:37:57.59ID:/b5JEuJS0
結局は小さいデータなら下手なDBとか使うより、
csvの方が丈夫さとか確認のしやすさで良いって言うw
183デフォルトの名無しさん (ワッチョイ b303-G8t+)
垢版 |
2017/12/25(月) 18:59:27.21ID:8wInAEQh0
だから上手なDBとか使えばcsvの方より良いんだろ
2017/12/25(月) 19:08:03.17ID:OOxEDqwma
DBはトランザクションあるから規模に関係無く必要だと思ったら使っとけ

設定ファイル的な話としたら
xmlとjsonって微妙だよねと
185デフォルトの名無しさん (ワッチョイ b303-G8t+)
垢版 |
2017/12/25(月) 19:15:27.15ID:8wInAEQh0
設定ファイル的な話だとしたらjsonって微妙だけどxmlはクソ
xmlはどんな用途向けにもクソ
2017/12/25(月) 19:44:00.45ID:OOxEDqwma
>>185
言うほど変わらんような気がするけど
何が嫌なんだ?
2017/12/25(月) 19:48:52.98ID:Mbt+5Db+6
※個人の感想です
188デフォルトの名無しさん (アウアウカー Sac7-Vzer)
垢版 |
2017/12/25(月) 20:07:35.17ID:y0MybC9Za
>>179
ぶっちゃけこれだろ
189デフォルトの名無しさん (ワッチョイ b303-G8t+)
垢版 |
2017/12/25(月) 20:13:26.84ID:8wInAEQh0
>>186
嫌なのではなくクソだと言っとるのだが?
2017/12/25(月) 20:18:39.56ID:OOxEDqwma
>>189
じゃあ大好物じゃん
2017/12/25(月) 20:18:59.89ID:PGo3p3P9a
アホちゃいまんねんパーでんねんって言われてもどう違うのか本人にしか分からんよw
192デフォルトの名無しさん (ワッチョイ b303-G8t+)
垢版 |
2017/12/25(月) 20:24:10.15ID:8wInAEQh0
>>190
何が気にいらんのか知らんけど変な絡み方するのやめてもらえんかな?
2017/12/25(月) 20:27:44.84ID:Mbt+5Db+6
クソって言いたいだけだろって言いたいんだろう
2017/12/25(月) 20:27:48.56ID:hykLc5AjM
むしろお前が無駄に絡んでる気がするが...
俺も>>179でFAだと思う
2017/12/25(月) 20:31:09.26ID:Mbt+5Db+6
好きなの使えって結論を昨日出しただろ
おわり
196デフォルトの名無しさん (ワッチョイ b303-G8t+)
垢版 |
2017/12/25(月) 20:35:26.95ID:8wInAEQh0
>>194
同じって事はないよ
どの形式でも必要十分な機械可読性を得られるなら
選択の決め手になるのは速度などではなく人間可読性
ヒューマンリーダビリティ
xmlはこれが壊滅的にクソ
2017/12/25(月) 20:54:00.52ID:axpIwit20
可読性しか判断基準がないとか話にならん
2017/12/25(月) 20:55:38.22ID:HvFCkquc0
バックエンドだと設定ファイルは.csがベスト
貧弱なインテリセンスで間違えやすい設定なんか書きたくないっすわ
テストまで考えるとビルドなしで変更可能である意味がほとんどないしな
199デフォルトの名無しさん (ワッチョイ b303-G8t+)
垢版 |
2017/12/25(月) 21:26:28.09ID:8wInAEQh0
今日は特別に俺からのクリスマスプレゼントの言葉を贈ってやろう

お前らはもう少し自分の無知無能と真剣に向きあった方が良い
2017/12/25(月) 21:42:53.76ID:NbKIcSglM
>>180
多くなるならJSON Linesの方が効率いいよ
ログとかで普通に使われるファイル形式
CSVはスキーマが変わると面倒なんだよな
2017/12/25(月) 22:21:29.72ID:NVmmOTaCa
今時csvはなんちゅう本中華
レガシーへ(から)の接続ならしょうがないが
2017/12/25(月) 22:37:36.04ID:6sU1sWLU0
次スレからスレタイに雑談を付加してくれ
2017/12/25(月) 22:48:43.23ID:VEnbH/i+a
>>202
いいアイディアだな
ただこのスレはこのまま残して
初心者雑談用として新しくスレが欲しいな
2017/12/25(月) 22:50:13.06ID:6sU1sWLU0
そんなことしても質問スレで雑談が始まるのは目に見えてるやん...
2017/12/25(月) 22:54:47.74ID:UoNk991a0
議論スレがあるじゃん
脱線しそうなら自発的に移動して

ふらっと C#,C♯,C#(議論用) [無断転載禁止]©2ch.net
https://mevius.5ch.net/test/read.cgi/tech/1469538912/
2017/12/25(月) 22:56:14.63ID:6sU1sWLU0
無理でしょ
どこまでが質問の答えなのか雑談なのか区切りが曖昧だし
2017/12/25(月) 23:14:27.18ID:B733ZmRI0
ID真っ赤の奴が出てきたら議論スレに誘導
2017/12/26(火) 02:32:13.70ID:pUXlD1DI0
>>199
ごめんなさい。

今日の朝、靴下にその言葉入ってたら読んでたよサンタさん!
2017/12/26(火) 06:50:53.13ID:tKLgMVXTM
>>207
>>199みたいに自覚ない奴がいる限り誘導しても無駄でしょ
まあXMLに親でも殺されたんだろうな w
2017/12/26(火) 08:12:53.60ID:cT/2Pkr20
ボクのおとうさんは、XMLというやつに殺されました


俺はWPFだなw
2017/12/26(火) 09:02:34.41ID:4/m6WkoIM
初心者なので教えてください。
xml ならDataSet.ReadXml()でお手軽に扱えてたんですが、jsonはどう読み込んで使うのですか?
ちょっとググったら、jQueryとか、webっぽいのが目についたのですが、ローカルexeでも使えるんでしょうか?
212デフォルトの名無しさん (ブーイモ MM1f-vkjg)
垢版 |
2017/12/26(火) 09:11:46.70ID:x+COpgJUM
>>211
NuGetでJson.NETを拾ってくる
2017/12/26(火) 09:16:47.35ID:zc8zApfr0
UWPならWindows.Data.Jsonが使えるのでダウンロードしなくてもよい
2017/12/26(火) 11:03:19.55ID:TKx0k9Mu0
XMLは無能ほど嫌うよな、わかりやすくていいわw
2017/12/26(火) 12:28:40.93ID:OUkXE0b1a
XML最高って言う奴がいるけどDTDとかちゃんと理解して使ってるのか疑問
俺はさっぱりわからなないので放置してる

XMLは賢い人が集まって俺って賢いだろを連発してクソ企画になったって本で読んだ
2017/12/26(火) 12:32:57.48ID:OUkXE0b1a
XMLは同じようなものが大量に並んでてゲシュタルト崩壊?してタグがタグに見えなくなる
2017/12/26(火) 12:45:02.83ID:VJsVtqG+0
jsonの問題はコメントだな、一応使える場合もあるけど本式はコメント使えない
ググると作者が原理主義者でどうにもならんようだ
2017/12/26(火) 12:50:09.20ID:oDLVQMSx6
もう飽きたよこの話題
次の質問マダー?
2017/12/26(火) 18:42:54.83ID:k2JgsGmBd
>>218
じゃあ折角だし
ListviewItemCollectionやCollection<T>をソートするいい方法ってなんかある?
別インスタンスにするのはNG
並び替えたやつをループしてRemoveとAddを繰り返しやる方法以外思いつかなかった
2017/12/26(火) 19:16:47.40ID:cWcYrW8d0
いいってのは何がいいんだ?
メモリ効率か?
ソート速度か?
コーディングの手軽さか?
2017/12/26(火) 19:19:35.90ID:biBlc3d/0
>>219
並び替えたやつをループとは?
どうやって並べ替えた?
2017/12/26(火) 19:20:20.73ID:tRG2bysKa
普通に関数作ればよくね?
2017/12/26(火) 20:21:15.18ID:V+MeXN2+0
そもそもICollection<T>に要素の並び順なんてものはない
IEnumerable<T>として列挙されるときの順番ならOrderBy
その順番を使い回したいならToArray
2017/12/26(火) 20:24:15.51ID:0luiAFcJ0
>>219
分かりづらかったんで質問を変える
private readonly Collection<string> hoge
のhogeを文字列順にするとき
foreach(var s in hoge.orderby()){
hoge.Remove(s);
hoge.Add(s);
}

でできたんだけど理由があってaddは使いたくなかった
add使わないで並び替えってできる?
2017/12/26(火) 20:27:07.94ID:zc8zApfr0
Comparison書いてSortすりゃいいのでは
この手の問題は並び順のルールの方に重点が置かれる、並び替え方なんてこの際どうでもいい
2017/12/26(火) 20:30:23.64ID:Nu277XVha
Collection<string>がICollectionの間違いならToListして代入するだけじゃないの?
2017/12/26(火) 20:46:11.62ID:0luiAFcJ0
>>225
Sortがあったら楽だったんだけどね

>>226
https://msdn.microsoft.com/ja-jp/library/ms132397(v=vs.110).aspx
読み取り専用だから代入できない
ICollectionは継承してるクラス
ToListした時点で別インスタンスだからそれに対してSortしても意味無い

>>223
気持ちは分かるんだけど使ってる先を修正できずこちら側で並び替えないといけない状況があってな
インデクサー定義されてるんだから並び替えできても良さそうなのに見つけられなかった
228デフォルトの名無しさん (ワッチョイ f3f7-fDUi)
垢版 |
2017/12/26(火) 20:58:13.89ID:YcrPMu9B0
point(1,1)

axis(1,1)
に正規表現で置換したいのですがどうすればいいでしょうか?
visualstudio2015です
229デフォルトの名無しさん (ワッチョイ f3f7-fDUi)
垢版 |
2017/12/26(火) 21:01:11.62ID:YcrPMu9B0
point\({.*}\)
axis(\1)
とやっても出来ないので悩んでいます
2017/12/26(火) 21:01:50.76ID:Nu277XVha
>>227
なるほどw
でもreadonlyにこだわる必要本当にあるの?
2017/12/26(火) 21:07:02.01ID:cWcYrW8d0
自分でソートロジックかいて要素入れ替えていけば良いだけ

おれならそうとうな量でない限り、ソート済みの別インスタンスと入れ替えるがな
2017/12/26(火) 21:10:38.37ID:biBlc3d/0
>>224
理論的に考えてインデクサを持たないICollectionをAdd無しに内部での並び順を変えるのは不可能だろ
2017/12/26(火) 21:10:38.80ID:cWcYrW8d0
もし元インスタンスにさわりたくないなら、元のコレクションとは別に
ソートした結果のインデックス位置をもつコレクションつくってそっちから引っ張るけど
2017/12/26(火) 21:11:48.58ID:biBlc3d/0
>>229
{}ではなく()では?
2017/12/26(火) 21:20:16.36ID:0luiAFcJ0
>>232
IListも継承してるクラスだからインデクサ持ってんじゃないかな

元インスタンスに触りたくないというよりは元インスタンスにも反映させたい
別クラスで作られたオブジェクトのインスタンスを渡してもらっていて、それをreaonlyにセットこっちのを並び替えたら同じ様に元のデータも並び替えられるって感じ

ここら辺の構成は弄れない
本当に勘弁してほしいわ
236デフォルトの名無しさん (ワッチョイ f3f7-fDUi)
垢版 |
2017/12/26(火) 21:21:35.79ID:YcrPMu9B0
>>234
(にしてもだめでした
http://d.hatena.ne.jp/cjohn/20090105/1231156636
このページの通りにやっているのですが出来ません
2017/12/26(火) 21:24:39.45ID:biBlc3d/0
>>235
ICollectionはIEnumerableしか継承してないんだがIListも継承してるとは?
2017/12/26(火) 21:33:32.33ID:0luiAFcJ0
>>237
今議題にしてるのがCollection<T>クラスだからそっちの継承をみてくれ
2017/12/26(火) 21:34:59.26ID:biBlc3d/0
>>236
マイクロソフトのドキュメントみて\1を$1にしたらできた
2017/12/26(火) 21:38:58.29ID:biBlc3d/0
>>238
すまんな
じゃあ先頭から参照書き換えていけばいいのでは?
241デフォルトの名無しさん (ワッチョイ f3f7-fDUi)
垢版 |
2017/12/26(火) 21:43:23.19ID:YcrPMu9B0
>>239
(にして$にしたらできました!有難う御座います!
2017/12/26(火) 21:57:00.69ID:0luiAFcJ0
なるほど、Add、Removeじゃなくてhoge[i]=s みたいな感じで順に設定し直せばいいのか
多分>>233も同じことを言ってたんだろうけど別の意味で捉えてた
次からそうするわ
2017/12/26(火) 22:15:00.14ID:Nu277XVha
車輪の再発明感全開だなw

public static class Extensions
{
  public static void CopyTo<T>(this IList<T> src, IList<T> dst)
  {
    int count = Math.Min(src.Count, dst.Count);
    for (int i = 0; i < count; i++)
      dst[i] = src[i];
  }

  public static void Sort<T, TKey>(this IList<T> x, Func<T, TKey> keySelector)
  {
    x.OrderBy(keySelector).ToList().CopyTo(x);
  }
}
2017/12/26(火) 22:17:42.69ID:DUnSIAzj0
>>235
いい機会だからリファクタしようぜ
2017/12/26(火) 22:34:38.39ID:OyWBWrx4p
>>243
親切杉ワロタ
2017/12/26(火) 22:59:22.02ID:OUkXE0b1a
srcやdistがnullの場合は?
2017/12/27(水) 06:40:33.49ID:8vUn4Dy4r
即死
2017/12/27(水) 08:15:03.92ID:F/ihue6L0
即死するべき
249デフォルトの名無しさん (ワッチョイ f3d5-EmoC)
垢版 |
2017/12/27(水) 17:55:28.81ID:LR8quwCc0
C#はメモリ不足でコンパイルできないことはありますか?
2017/12/27(水) 18:05:13.47ID:P6EO0z0h0
>>249
該当するコンパイラのスレで聞いてください
2017/12/27(水) 18:23:31.71ID:BZ3b6503d
>>249
絶対にないとはいえないけど、そもそもそんなマシンじゃ開発なんてできやしない。
2017/12/27(水) 20:06:48.22ID:hg84Qb1oM
>>249
その前にVSが重すぎてまともに動かないから大丈夫
2017/12/27(水) 20:47:39.32ID:Jr44gGH00
>>252
コンパイルとVisual Studioは別問題
2017/12/27(水) 20:53:22.02ID:CubzVxEy0
>>253
コンパイルに何の問題があると?
2017/12/27(水) 20:56:02.93ID:gu8VevGS0
Windowsアプリケーションにおいて、ソースファイルのフォルダ分けはどのようにされていますか?
256デフォルトの名無しさん (ワッチョイ f3eb-tmg3)
垢版 |
2017/12/27(水) 22:08:35.73ID:RcFlfCwd0
自前のクラスに、作成済みオブジェクトを探してオブジェクトを返すメソッドを作るにはどうすれば良いんですか?
Xamarin Androidにいうfindbyname()、UnityでいうGameObject.Find<T>()のようなものを自前のクラスにもつけたいんですが・・・・
2017/12/27(水) 22:19:15.35ID:ZvzZDw7/0
もっと詳しく
2017/12/27(水) 22:21:38.34ID:CubzVxEy0
もっと激しく
2017/12/27(水) 22:27:50.77ID:RcFlfCwd0
ときには情熱的に
2017/12/27(水) 23:50:53.96ID:INWFuiTDa
>>256
Dictionaryに名前でオブジェクト登録という方法があるけど
わざわざそんな無意味なことをする意味が分からない

UWPやWPFやwindows forrmsでは
xamarinのfindbynameみたいなものわざわざ使わないでもいいのに
2017/12/28(木) 03:01:35.82ID:OJX4Pfid0
>>254
コンパイルの質問なのにVisual Studioの問題にすり替えるのが不適切だと言ったまで
2017/12/28(木) 07:08:39.80ID:THqyhi+6M
データにメソッドをチェーンするのが関数型言語の特徴なのかなと解釈してるんですけど、c#は関数型言語も内包してると考えて良いのでしょうか?

で、F#は関数型専用言語という位置づけで
2017/12/28(木) 07:22:15.38ID:mHFTOa6Td
>>262
F#は関数型専用ではなく、マルチパラダイム
2017/12/28(木) 07:27:00.29ID:THqyhi+6M
>>263
そうなんですか
となるとc#にかなり接近してる気がするのですが、F#がなぜ作られたか不思議です
2017/12/28(木) 07:43:07.29ID:yMSttuCfa
>>262
まず大前提としてメソッドチェーンと関数型プログラミングは何にも関係ない
下手にオブジェクト指向とのマルチパラダイムから入るより、まずはML系とかHaskell, Schemeみたいなちゃんとした関数型言語を触って特徴を掴むのがいいと思う
2017/12/28(木) 08:13:25.30ID:ux20Gvlta
最終目的は何なん?
2017/12/28(木) 08:24:33.51ID:8DtRzb3L0
関数型言語やるとコードが綺麗になるから目的なんか関係なく一度は経験するべき
2017/12/28(木) 10:07:38.23ID:mHFTOa6Td
>>264
あくまでも専用ではないという指摘ね
2017/12/28(木) 10:27:05.35ID:UQgDKgtxr
>>255
ケースバイケース
一つの答は無い
270デフォルトの名無しさん (ワッチョイ 5fd5-7ecw)
垢版 |
2017/12/28(木) 11:30:41.15ID:MTDYAVo/0
>>249
>>251
パソコンのメモリは十分に余裕があると仮定してプログラム的な容量の限界が知りたいです。
C#は無限にコードが書きこめるということですか?
2017/12/28(木) 12:42:40.91ID:ISLNvVJt0
C#言語にはソースコードサイズの限界なんて定義されてない
むしろ定義されてる言語って存在するの?
2017/12/28(木) 12:42:57.97ID:kdbduM9Wd
>>270
無限にコードが書き込めるって、具体的にどういうことを想定してるの?
2017/12/28(木) 13:03:29.10ID:qTeBLGvd6
コンパイル可能なソースコードサイズがコンピュータのメモリ資源に依存するコンパイラがあるってことじゃね
274デフォルトの名無しさん (ワッチョイ 5fd5-7ecw)
垢版 |
2017/12/28(木) 13:29:50.10ID:MTDYAVo/0
>>271
VB6は数百万行で限界が来てコンパイルできなくなりました。
>>272
コードを千万行単位で書き込んでも大丈夫か知りたいです。
2017/12/28(木) 13:37:17.01ID:bfoeL7nqM
適宜プロジェクト分ければ楽勝だろ
VS自体のソースとかだと余裕で超えてるだろうし
2017/12/28(木) 14:18:54.84ID:2t6rj/eWH
銀行の基幹システムかよ
277デフォルトの名無しさん (ブーイモ MM27-QRIm)
垢版 |
2017/12/28(木) 14:28:23.21ID:4EMpIOJ0M
>>271
コンパイラーの上限値を明記してる処理系はあるけどc#の見つからんな。
何処かにあるはず。
278デフォルトの名無しさん (ブーイモ MM27-QRIm)
垢版 |
2017/12/28(木) 15:01:10.61ID:4EMpIOJ0M
コンパイラエラーCS1033の記述に
/debugオプションを指定した場合は16,707,556行。しない場合は268,435,454行って書いてある。
1つのソースコードファイルにそんな行数を想定してるんだw
2017/12/28(木) 15:02:08.30ID:Pbz8zTsrp
1ファイルの行数の制限はCで見たことあるけど
プロジェクトやモジュール単位での総行数の制限は見たことないな
本当にそんなのあるの?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況