ふらっと C#,C♯,C#(初心者用) Part130 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください
>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっと C#,C♯,C#(初心者用) Part129
http://mevius.2ch.net/test/read.cgi/tech/1497000961/
■関連スレ
C#, C♯, C#相談室 Part94 [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1492843013/
■コードを貼る場合は↓を使いましょう。
http://ideone.com/
https://dotnetfiddle.net/
■情報源
https://msdn.microsoft.com/en-us/library/gg145045.aspx
http://referencesource.microsoft.com/
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured >>425
もともとVisualStudioでc#書いてたっぽいしね
サーバーサイドコンプレックスにまみれたフロントエンドエンジニアが、必死にHTML&javaScriptをアピールしているようにしか思えない >>417
Linuxとは一言も言ってないじゃん
お前の目は腐ってるの? >>426
対等だと本気で思ってるのかこのアスペは >>426
c#知らない人がなぜ偉そうにしてんのかwww >>429
まさかと思うけど、Nodeにサーバーサイドレンダリングのフレームワークが無いとでも思ってるのかな? >>432
何がそんなに気に障るのが知らないけど、Web MVCへの移行を前提とした場合において、
入りやすいWeb開発プラットフォームの例としてNodeを挙げただけだよ
サーバーサイドレンダリングだけでいいなら情報の豊富なRailsやPHPの方がもっと入りやすいだろうね
君がその選択肢としてASP.NET Coreを推すなら否定するつもりはないし、俺を攻撃するよりお勧めの本やサイトでも教えてあげたら? >>433
お前がなぜここにいるのかわからんわ
別のスレに誘導してさしあげろ フロントエンドとバックエンドを疎結合に保つほうが実装も保守も簡単だよ
サーバーサイドレンダリングはその点で劣る
ユーザーインターフェースはフロントエンドに責務を割り振る
サービスはrest apiでバックエンドに責務を割り振る
やることが明確で実装もシンプル、保守も楽チン
おまけに動作も軽快になってユーザーもにっこり 次のASP.NET core 2.0で.net frameworkが捨てられるって
明言されてるから他に移るにはいい時期だと思うよ
海外の人達はどんどんASP.NETを捨てて新しい言語と別のフレームワークに移ってる最中
2.0が安定するのはリリースされてから1年後あたりだから本当に時期が悪い どの人がキチガイじゃないんですか?
ほぼ全てキチガイだと思うので、キチガイじゃない人を挙げてもらった方が早いかなと思いました >>441
道にキチガイとそうでない人が多数混雑していたという
どんな質問をすればキチガイとそうでない人がわかるでしょうか?
c#で答えなさい(5点) >>441
>>436みたいなデマ流すやつもいるから気をつけな >>443
ググって答え探して見つからなかったんだな
かっこ悪い >>446
>>440に答え書いてあんのに、infoQの集会置くのデマに引っかかったんだな >>446
いまだに訂正記事出さないってどういう神経してるんだろうか クライアント10台分のサーバ間送受信処理100回を並列で処理しようと考えているんだが、
Enumerable.Range(1, 10).AsParallel().ForAll(t =>
{
Enumerable.Range(1, 100).ToList().ForEach(c =>
{
クライアントの送受信処理
}
}
と
var taskArray = Enumerable.Range(1, 10).Select(t=>
{
return Task.Run(() => {
Enumerable.Range(1, 100).ToList().ForEach(c =>
{
クライアントの送受信処理
}
}).ToArray();
Task.WaitAll(taskArray );
でそれぞれ実行すると実行順が明らかに違う理由を教えてください。
どちらも10台が順不同で各100回実行すると思いきや、なぜか前者は任意の1,2台だけ100回実行した後に残りを順不同で各100回実行して、後者は狙い通り10台順不同で各100回実行する・・・ .ForAllのせいじゃないかな…
Enumerable.Range(1,10)の出力だけが並列で実行されて、
.ForAllの中味は現スレッド1本で順次行われてない? >>451
CPUがデュアルコアだからじゃね?
Enumerable.Range(1, 10000).AsParallel().ForAll(i =>
{
Console.WriteLine("{0} 処理開始", i);
Thread.Sleep(1000);
Console.WriteLine("{0} 処理終了", i);
}); 昔XPのころVS2010ExpressでC#で遊んでました
7年ぶりにまたいじってみようかと思い立ったのですが
最新版の無償版ってVS2017Comunityとかいうやつになるんですか?
これで2010時代のソリューション読み込めますか?
当時はC♯としかいってなかったはずだけど今はC#7というみたいですがずいぶん内容は変わったのでしょうか?
浦島状態ですみません。乙ちゃ〜ん! >>455
開く時にコンバートする必要あるけど問題なく開けるよ
仕事だと未だにVS2010現役だわ >>456-458
どうもありがとう!
なんとかインストールできました
とりあえずフォームアプリのビルドはできました
昔のソリューション読み込みまだ試してません
使い方思い出しながら頑張ります! expressと違ってフル版だからそこは新規に覚えるとこかな スレ違いかもしれませんが
基本認証のID/PASSでしっかり認識される最大文字数はどうなっていますか?
桁数を増やせば安全かと思い 30桁オーバーで設定していますが
そもそも基本認証では、前方8文字までしか認識されない、といったブログがありました。 webbrowser1のボタンを押す処理でhtmlにnameが無くても
foreach (省略)
{
if(省略)
{
// 要素をクリック
he.InvokeMember("click");
}
}
で今まで全て問題なく押せましたが、今日、この書き方で押せないボタンがありました。
he.InvokeMember("click");を実行しても何も反応しないということです。。
ここに居る人でこのような問題を解決した人は解決方法か解決のヒントを教えてください。 >>461
仕様上の制限は特にない
サーバの実装上の制限は知らん >>463
1GB超える文字列アタックで死にそうだな インターネット上のbasic認証っていざとなったら破られても
実害のないものぐらいにしか使わないほうがいいよ
とにかく破られる前提で >>465
ハッシュ化にcrypt使ってたらそうなる みんな、どういう現場でC#使ってるの?
ゲーム開発? >>471
マッコイ「精神的に疲れているようだな、メディカルステーションに行こう」 C#(windows)しか知らん奴ばかりかと思ったけど
意外とlinux周りの知識ある奴もいるんだね。
雑魚ばかり、という訳ではなさそうだ >>475
linux周りの知識がないと雑魚なの? >>476
> C#(windows)
の時点で雑魚以下の奴に構うなよ >>482
ああ、そういえば、C#でできることはVBでもできるって言ってた人がいたけど、そういうこと? >>484
というか、linux周りの知識があれば雑魚ではなくなるのかなって…
目糞が鼻糞笑っててそれを耳糞が煽ってるだけならそれはそれでいいんだけど… 鍛え抜かれた筋肉がないと真のプログラマとは呼べんな しょうもないことで荒れてまんなw
山形治生だと思ったけど、UNIX系の人が威張って他を見下してる
(今はそんなことないと思うけど)のは、昔メインフレーマーに同じことをされたからだって書いてたな >>486
なるほどー。なんか名言のような気がする。 >>487
たとえばさ、何万個ものジャガイモの皮を剥いてきた料理人と料理好きの芸能人(グッチ裕三とか)とはやっぱ違うんだよね。
グッチを料理人と思う人はいないもんね。 そしたら君の言う真の料理人達は
グッチ祐三をバカにしてると思うか? >>490
たしかに!
真の料理人は他の料理人をバカにはしない。
でも弟子には厳しいよ。 プログラミング自体初めてで(3日目)、MSのチュートリアルをやってる最中です
https://msdn.microsoft.com/ja-jp/library/dd553230.aspx
このページの内容で質問があります
Listで並べたアイコン(text)をテープルレイアウト上に並べたラベルにランダムで次々に流し込むという内容ですが
次々に流し込むというのはテーブルレイアウトの次のマスへ順番に勝手に流れ込んでいくのですが
どこのマスへ…という指定がなくても、作動しています
で、そのテーブルレイアウトのマスを次々変えているのは簡単に言うと
foreach (Control control in tableLayoutPanel1.Controls)
でループしている間、その都度tableLayoutPanel1.Controlsを変更(適用?)して次のマスへ行く様に作動している
という認識で良いのでしょうか? >>497
foreachは含まれる要素全てに実行される
tableLayoutPanel1.Controlsを変更じゃなくtableLayoutPanel1.Controlsに含まれる要素(inの前のControl control )にたいして実行される
デバッガでforeachの中にブレークポイント置いてcontrolの値がどう変わるか確認したほうが分かりやすい >>498
ありがとうございます
超初心者の自分にも凄く分かりやすい説明で助かりました
デバッガの使い方調べてみます 初めてとか超初心者を強調しすぎ。
ここは初心者用スレなのにしつこく強調する意図を勘ぐったり勘ぐらなかったり… for文でデータスキャンしながら、不正データを除外するPGを
C#で書いて、SharpDevelopでVB化したら正常に動作しません。
同じ事が出来るっていう人は嘘つきだと思います。 >>502
申し訳ない。
必要の無いことをしつこくやってる人がいるとどうも気になってしまう体質でして… 外部のアプリ(EXEファイル)を別プレセスで複数実行させるのどうやんの >>506
天才
インスタンス化したかったんだありがとう タプルでコレクションの中身を書けばノイズが少なくていいかと思って配列に変換するコードを書いてみたら
なんか毒々しいものが出来たんだけどどうすれば改善できる?
http://ideone.com/nfbYcC >>508
タプルはコレクションではないのでそんな間違った発送は捨てる >>508
自前のメソッドなんて使わなくてもSelect使えばIEnumerableなTaple作れると思うが new[]{ hoge, hoge } だと冗長やん?
(hoge, hoge) ならスクリプト言語並みにスッキリするから
科学技術計算かなにか向けに数値のリストを渡そうなんて時にはいいよね
一次元ならint[] Nums(params int[] nums) => nums; みたいなのを書けば
Nums(3,4,5)といった感じで可読性もバッチリだけど
問題は二次元になった時
new int[][]{
Nums(1,2),
Nums(3,4,5)
}
毎行Numsが出てきたら冗長すぎて耐えられない
どうしてもこうしたい
var hoge = NumArray2(
(2, 3),
(4, 5, 6)
);
int[][] NumArray2(params IStructuralComparable[] tuples) => tuples.Select(tuple => tuple.TupleToArray<int>()).ToArray(); でもそれメタプロで遅いし型チェック効かなくなるじゃん
だったらスクリプト言語を使いなよ >>511
そんなもん一次元で渡してから二次元に変換すりゃいいだろ
括弧すら必要ない >>515
1, 2, Delim,
3,4, 5, Delim
みたいに区切りを書くの?
それだとNum(1,2)みたいにするのと冗長さは変わらんでしょ >>516
科学技術計算なら矩形しか使わないからデリミタなんか要らん
numpyなんかだとreshapeで行列の型を読み替えたりするのは普通に行われている 遅すぎわろた
public struct TupleWrapper<T> {
public TupleWrapper(object tuple) { tupleOrValue = tuple; }
public T Value => (T) tupleOrValue;
public int Length => CountItemField() < 8 ? CountItemField() : 7 + GetRest().Length;
public TupleWrapper<T> this[int index] => GetItem(index + 1);
private TupleWrapper<T> GetItem(int i) => i < 8 ? new TupleWrapper<T>(GetItemField(i).GetValue(Tuple)) : GetRest().GetItem(i - 7);
private FieldInfo GetItemField(int i) => Tuple.GetType().GetField($"Item{i}");
private TupleWrapper<T> GetRest() => new TupleWrapper<T>(GetRestField().GetValue(Tuple));
private FieldInfo GetRestField() => Tuple.GetType().GetField("Rest");
private int CountItemField() => Tuple.GetType().GetGenericArguments().Length;
private object Tuple => tupleOrValue;
private readonly object tupleOrValue;
}
var t = (
(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20),
(11, 22, 33, 44)
);
var w = new TupleWrapper<int>(t);
for (int i = 0; i < w.Length; ++i) {
for (int j = 0; j < w[i].Length; ++j) {
Console.Write($"{ w[i][j].Value } ");
}
Console.WriteLine();
} >>517 矩形しか使わないわけないやろ
まあ一行の個数が決まってるなら普通にTuple指定すれば型安全にちゃちゃっと書ける たとえば1回目の実験では15人の被験者がいました
2回目では13人で3回目は20人でN回目はM人でしたと
一人分のデータには名前とか年齢とかいろんな型のデータが使われます
これを一気に処理しようとすれば一人分のデータの型は固定の2次元ジャグ配列になるよね
このデータを書く時にVisual Studioで書けば、データ型のエラーは即検知してくれるしデータを修正するときにもエクセルとか立ち上げなくて済むしJSONみたいな冗長な型式にして可読性を犠牲にしなくてもいい
別のスクリプト言語を実行するための環境を用意しなくても済むしその言語の変な仕様に足をすくわれることもない
いいことづくめでしょ タプルを使えばね >>522
そんなデータをソースにリテラルで書くことがどれだけあるのだろう
そういうデータ処理はわりとよくやるけどPythonやPerlですらソースに書くなんてやったことないわ まあ実験IDか実験日を持たせるわな
重複が嫌なら正規化するべきだし ■ このスレッドは過去ログ倉庫に格納されています