ふらっと 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 適宜プロジェクト分ければ楽勝だろ
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使えば履歴・差分管理も出来て楽だよ >>315
言うほど何個ものコンピュータで開発するか?
それぞれで環境作ればよくね?
プロジェクトは個人ならOneDriveかグループならGithubとか なんかcmd.exe←全部半角にすると書き込めないね int a=2;
int b=3;
int c=9;
int d=11;
このうち10より小さいもののうちで一番大きいものを選択する(アルファベットを返す)コードはどういうふうに書けばよいでしょうか? >>327
var list = new List<int> { a, b, c, d };
var result = list.Where(l => l < 10).Max(); var dict = new Dictionary<string, int>(){
{"a", 2},
{"b", 3},
{"c", 9},
{"d", 11}
};
var result = dict.Where(data=>data.Value<10).Max(data=>data.Value).Key; 何度もすいません
int a=2;
int b=3;
int c=9;
int d=11;
同じアルファベットに対応したフラグ
bool a_flag=true;
bool b_flag=true;
bool c_flag=true;
bool d_flag=false;
このうちフラグがtrueの中のもので一番大きいものを選択する(アルファベットを返す)コードはどういうふうに書けばよいでしょうか? そういうことをやりたいなら
C#入門を全部終えてからやれ 処理内容を変数の名前に依存するのは悪いやり方
int aがbool a_fragに関連していると決めているのはコードを書いてる人間だけ
プログラム上は関連づけられてない
とんでもない愚かなコード C#でなくパッパラパー向けの言語やればいい
Pなんとかっていう >>334
それだと最大値をもつものが複数あった場合が考慮されていない >>336
うむ。
一応Valueは重複しないものとして最初に出現したやつを選ぶことにしておいた 最大値を持つアルファベットをすべて出力するVer
https://ideone.com/RfUhMp ありがとうございます
自分のコードにあてはめて書いてみます
また来ます 何故Max関数はリストの要素そのものではなく判別に使った式の値を出力する仕様にしたのか と思ったけど最大値が複数あるときにそうじゃないと困るからか!初めて気付いた いやいやそんな理由じゃないぞw
最大値を求める関数から要素返されても困るだろ >>342
まあそうなんだけどさw
要素自体を抽象的な順序数として考えれば要素が返されてもおかしくないのにって思ってたは w どれか一個えらぶ関数じゃなくて一応演算の結果を返す関数だからな
SumとかAvgとかと挙動違ったら面倒くさい >>331
さっきの解を、swichで判定だな。
もしくはdictionary型をつかう。 var list = new List<bool> { true, false, true, true, true, true };
Console.WriteLine(list.Count(true));
trueの数を表示させたいのですがこの場合ラムダ式はどのように書けばいいでしょうか? それは「この場合ラムダ式」が分からないんじゃなくて、そもそもラムダ式がまるで分からないんだと思うw
質問する前にやることがあるんじゃないのかな ラムダ式以前にc#がわかってないだろ
コード書くには早すぎる
入門書を読み返せ
回答が出てないなら新しいのを買え var list = new List<bool> { true, false, true, true, true, true };
Console.WriteLine(list.Count(n => n == true));
とりあえずこれで動きました
nはメソッドの引数みたいなものでなんでも構わないのでしょうか?
var list = new List<bool> { true, false, true, true, true, true };
textBox1.Text = list.Count(n => n == true).ToString();
また上の様にすると動かないのですが、これは何故でしょうか? 👀
Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f) 質問です
わたしはパッパラパーなりにC#を勉強してきて、自分用の初歩的なGUIアプリを作れる程度には覚えれたんですが
Pなんとかのほうが良かったんですか?
それがパッパラパーに向いてる理由をふくめて教えていただけるとありがたいです >>352
そう、nは引数。
>>352
動かないとは具体的にどうなる?エラーとかでテルル >>354
Tostringの後の;で
型 'System.NullReferenceException' のハンドルされていない例外が LINQtest.exe で発生しました
追加情報:オブジェクト参照がオブジェクト インスタンスに設定されていません。
と出ます >>353
Pなんとか=Python?
Pythonだと高度な機能が無いから簡単ってことかな?
でもC#で簡単な機能だけ使えばいいのでは... >>356
うーん...ideoneに全部貼ってうp頼む >>358
https://ideone.com/mDt50q
こちらになります
お手数おかけしますがよろしくお願い致します。 >>359
Form1メソッドはForm1クラスのコンストラクタなんだが、ここじゃなくてform1_Loadの中に書かないといけない。
デザイナーでフォームのウィンドウをダブルクリックすればform1_Loadが作成されるからその中に。 あと、コピぺするときに省略しただけかもしれないけどInitializeComponent();っていう文がForm1メソッドの中に書いてあったはずなんだがそれは必要 >>361
出来ました!
有難うございます。
助かりました。 >>334
同じ値の時はあらかじめ決められている優先順位を取りたかったのでこのコードが非常に参考になりました
有難う御座います。
優先度が高いものを上にすればいいんですね
var flaggedList = list.Where(data => data.Flag);
これだけよくわからないのですがif(true)とかと同じ様な書き方でtrueのものだけソート出来るんでしょうか? 上は下の省略形で下の括弧内で好きに条件をかけばいい
data => data.Flag
data => {return data.Flag;}
勿論ifも使えるしこんな感じで書きかえることもできる
data =>{
if(data.Flag){
return true;
}
else{
return false;
}} レス有難う御座います。
>>334
でFlagが全てfalseだった場合止まってしまうので、mavValueOwnerKeyに空である表示をしたいのですがどうすればいいでしょうか? ある文字列に特定の文字列が含まれていれば別の文字列に置換する、という処理を行いたいんですが
だぜ→です
ですわ→です
といった感じの置換したい文字列が数百パターン存在する場合はひとつひとつ置換を試していくしかないのでしょうか…? >>371
基本的にはreplaceを使うことになると思うのですが、例えば
'今日はほんといい天気だぁ〜〜〜!!'
という文字列に対して
だぜ→です
だぁ→だ
ほんと→ほんとうに
といった変換ルールが複数ある場合は
ひとつひとつreplaceをかける(あるいはループで変換ルールすべてを試す)しかないのかなぁと思いまして
要するに実行速度が気になっているのです >>372
やってみろよ
問題なければそれでいいじゃん ■ このスレッドは過去ログ倉庫に格納されています