ふらっと C#,C♯,C#(初心者用) Part134
■ このスレッドは過去ログ倉庫に格納されています
「どんなにくだらない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 >>218 じゃあ折角だし ListviewItemCollectionやCollection<T>をソートするいい方法ってなんかある? 別インスタンスにするのはNG 並び替えたやつをループしてRemoveとAddを繰り返しやる方法以外思いつかなかった いいってのは何がいいんだ? メモリ効率か? ソート速度か? コーディングの手軽さか? >>219 並び替えたやつをループとは? どうやって並べ替えた? そもそもICollection<T>に要素の並び順なんてものはない IEnumerable<T>として列挙されるときの順番ならOrderBy その順番を使い回したいならToArray >>219 分かりづらかったんで質問を変える private readonly Collection<string> hoge のhogeを文字列順にするとき foreach(var s in hoge.orderby()){ hoge.Remove(s); hoge.Add(s); } でできたんだけど理由があってaddは使いたくなかった add使わないで並び替えってできる? Comparison書いてSortすりゃいいのでは この手の問題は並び順のルールの方に重点が置かれる、並び替え方なんてこの際どうでもいい Collection<string>がICollectionの間違いならToListして代入するだけじゃないの? >>225 Sortがあったら楽だったんだけどね >>226 https://msdn.microsoft.com/ja-jp/library/ms132397 (v=vs.110).aspx 読み取り専用だから代入できない ICollectionは継承してるクラス ToListした時点で別インスタンスだからそれに対してSortしても意味無い >>223 気持ちは分かるんだけど使ってる先を修正できずこちら側で並び替えないといけない状況があってな インデクサー定義されてるんだから並び替えできても良さそうなのに見つけられなかった point(1,1) を axis(1,1) に正規表現で置換したいのですがどうすればいいでしょうか? visualstudio2015です point\({.*}\) axis(\1) とやっても出来ないので悩んでいます >>227 なるほどw でもreadonlyにこだわる必要本当にあるの? 自分でソートロジックかいて要素入れ替えていけば良いだけ おれならそうとうな量でない限り、ソート済みの別インスタンスと入れ替えるがな >>224 理論的に考えてインデクサを持たないICollectionをAdd無しに内部での並び順を変えるのは不可能だろ もし元インスタンスにさわりたくないなら、元のコレクションとは別に ソートした結果のインデックス位置をもつコレクションつくってそっちから引っ張るけど >>232 IListも継承してるクラスだからインデクサ持ってんじゃないかな 元インスタンスに触りたくないというよりは元インスタンスにも反映させたい 別クラスで作られたオブジェクトのインスタンスを渡してもらっていて、それをreaonlyにセットこっちのを並び替えたら同じ様に元のデータも並び替えられるって感じ ここら辺の構成は弄れない 本当に勘弁してほしいわ >>235 ICollectionはIEnumerableしか継承してないんだがIListも継承してるとは? >>237 今議題にしてるのがCollection<T>クラスだからそっちの継承をみてくれ >>236 マイクロソフトのドキュメントみて\1を$1にしたらできた >>238 すまんな じゃあ先頭から参照書き換えていけばいいのでは? >>239 (にして$にしたらできました!有難う御座います! なるほど、Add、Removeじゃなくてhoge[i]=s みたいな感じで順に設定し直せばいいのか 多分>>233 も同じことを言ってたんだろうけど別の意味で捉えてた 次からそうするわ 車輪の再発明感全開だな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); } } C#はメモリ不足でコンパイルできないことはありますか? >>249 該当するコンパイラのスレで聞いてください >>249 絶対にないとはいえないけど、そもそもそんなマシンじゃ開発なんてできやしない。 >>249 その前にVSが重すぎてまともに動かないから大丈夫 >>252 コンパイルとVisual Studioは別問題 Windowsアプリケーションにおいて、ソースファイルのフォルダ分けはどのようにされていますか? 自前のクラスに、作成済みオブジェクトを探してオブジェクトを返すメソッドを作るにはどうすれば良いんですか? Xamarin Androidにいうfindbyname()、UnityでいうGameObject.Find<T>()のようなものを自前のクラスにもつけたいんですが・・・・ >>256 Dictionaryに名前でオブジェクト登録という方法があるけど わざわざそんな無意味なことをする意味が分からない UWPやWPFやwindows forrmsでは xamarinのfindbynameみたいなものわざわざ使わないでもいいのに >>254 コンパイルの質問なのにVisual Studioの問題にすり替えるのが不適切だと言ったまで データにメソッドをチェーンするのが関数型言語の特徴なのかなと解釈してるんですけど、c#は関数型言語も内包してると考えて良いのでしょうか? で、F#は関数型専用言語という位置づけで >>262 F#は関数型専用ではなく、マルチパラダイム >>263 そうなんですか となるとc#にかなり接近してる気がするのですが、F#がなぜ作られたか不思議です >>262 まず大前提としてメソッドチェーンと関数型プログラミングは何にも関係ない 下手にオブジェクト指向とのマルチパラダイムから入るより、まずはML系とかHaskell, Schemeみたいなちゃんとした関数型言語を触って特徴を掴むのがいいと思う 関数型言語やるとコードが綺麗になるから目的なんか関係なく一度は経験するべき >>249 >>251 パソコンのメモリは十分に余裕があると仮定してプログラム的な容量の限界が知りたいです。 C#は無限にコードが書きこめるということですか? C#言語にはソースコードサイズの限界なんて定義されてない むしろ定義されてる言語って存在するの? >>270 無限にコードが書き込めるって、具体的にどういうことを想定してるの? コンパイル可能なソースコードサイズがコンピュータのメモリ資源に依存するコンパイラがあるってことじゃね >>271 VB6は数百万行で限界が来てコンパイルできなくなりました。 >>272 コードを千万行単位で書き込んでも大丈夫か知りたいです。 適宜プロジェクト分ければ楽勝だろ VS自体のソースとかだと余裕で超えてるだろうし >>271 コンパイラーの上限値を明記してる処理系はあるけどc#の見つからんな。 何処かにあるはず。 コンパイラエラーCS1033の記述に /debugオプションを指定した場合は16,707,556行。しない場合は268,435,454行って書いてある。 1つのソースコードファイルにそんな行数を想定してるんだw 1ファイルの行数の制限はCで見たことあるけど プロジェクトやモジュール単位での総行数の制限は見たことないな 本当にそんなのあるの? >>274 そんなサイズのVB6なんて見たことないw 約1600万行のcsファイル開きたくないな どう考えてもGodClassですがな Visual Studioのエディタがハングするだろ >>267 lisp/scheme は関数型にはいりますか? >>274 > コードを千万行単位で書き込んでも大丈夫か知りたいです。 試せばいいだけ >>284 何をもって入らないにしたいのかわからないくらい入るじゃん >>288 lisp って太古の昔から存在しているじゃない、これに比肩するのは cobol とか fortran とか、位に そんな昔に関数型が存在できたのか? コンパイラなんて自分で書いたことも理論勉強したこともないけど、 扱える識別子の数の上限とかは当然あるんだろうなあ もっとも、恐らく全部がオンメモリで動いてるはずのインテリセンスの限界ですら 普通のプログラマはたぶん経験してないはずで、必要ならディスクも使えるはずの コンパイラの限界なんて実用上は無限と想定してよいんじゃないかしら 言語を二次コードとして 一次コードから生成する形のプログラムを組んだらそういう限界を超えやすいかもしれんな >>289 実装として問題ない性能が出たかは別として、関数型パラダイム自体は大昔からある ラムダ計算も提唱された時期はチューリングマシンとあまり変わりなかったはず 関数型なんて要は文より式を多用する書き方ってくらいの認識でいいよ 初期Lispだって十分関数型といえる >>256 >作成済みオブジェクトを探してオブジェクトを返す という点だけで反応するけど、シングルトンのオブジェクトを共有したいみたいな話なら MEFとかUnity(ゲームじゃない方)とかのDIコンテナ利用すればいいんじゃないかな。 javascriptで生成後の値をスクレイピングして取得するにはどのような方法がおすすめですか? >>295 普通にヘッドレスブラウザ & Seleniumでいいよ 今ならchromeやfirefoxがヘッドレス対応してる C#はSeleniumライブラリの出来がイマイチなのでpythonやその他の言語を使ったほうがいいだろうね >>296 ベースはC#で行きたい場合、スクレイピングはpythonで作って、dllにでもして呼び出すイメージでしょうか? C#でもSeleniumは動かせるよ おすすめはしないってだけ python使うならモジュールではなくサービスにしたほうがいいだろうね 普通にProcess.Startでいいよ スクレイピングなんかそれ自体クソ重いから連携はファイルベースで全く問題ない oracleに接続するのはodp.net安定ですか? ファイル、新しいプロジェクトを選びます Windowsフォームアプリケーション を選択したいのですが、見当たりません visual studio 2017インストールし、C#の勉強をしようとしています 背景が真っ黒で白地にしたいですが、表示(V)を左クリックしても背景を変更する設定が分かりません c#本を2010年に買って、8年かかってやっとインストールする気になり…当時はvisual studio2010をインストールしてね、でしたが… 2017をインストールしました スタートボタンからblend for visual studio 2017を起動してました vのvisual studio2017から起動したら、白背景、Windowsフォームアプリケーション(.net flamework)ボタンがありました .NET Frameworkは外したいけと、外せないようですね >>307 307さん、ありがとう 本のサンプルプログラム、1つ動かせました 早く.exe作りたいです 少しずつページを進めます! 楽しみにしているところ申し訳ないが、動かせたのなら既にお前は.exeを作っている プロジェクトが作れない こんなのがFAQなんだからMSはいろいろと見直したほうがいい 初心者でも落ち着いて考えれば十分解決可能な問題のような気もするんだけどね まったりとした雰囲気ありがとう、皆さん 自分は古く融通が利かないタイプです フォルダ作ってコンパイラとリンカ放り込み、パスを通してbat作ってコンパイル エラーが出たら、エラーリストをテキストエディタで読みタグジャンプ、エラー修正… 開発環境はFD1枚で持ち運び だから今の開発環境インストール50GBに驚愕、ソースバックアップどうするの??開発環境はノーパソごと持ち運びか?とか visual studio2000いくつかを過去にインストールした時はOSごと落ちてOS再インストールを味わって困惑してました 奮起してゆっくり覚えます >>315 batでコンパイルならMSBuildはまだ現役だからそうそう焦ることは無いんじゃね ソースバックアップは今ならオンラインでGit使えば履歴・差分管理も出来て楽だよ ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる