「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください
>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっと C#,C♯,C#(初心者用) Part127 [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1489498042/
■関連スレ
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
探検
ふらっと C#,C♯,C#(初心者用) Part128 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2017/05/02(火) 22:05:40.13ID:OPFlvhxj677デフォルトの名無しさん
2017/05/30(火) 22:43:36.35ID:kWERrntF >>676
変えなくてもハッシュテーブル系のパフォーマンスが落ちるだけ、それで使わんなら適当でいい
変えなくてもハッシュテーブル系のパフォーマンスが落ちるだけ、それで使わんなら適当でいい
678デフォルトの名無しさん
2017/05/30(火) 23:44:25.77ID:PLPV+qTT679デフォルトの名無しさん
2017/05/31(水) 00:37:06.72ID:lBEWYtx2 Formアプリで登録リスト一覧みたいなものを表示させたいんですが、DataGridViewみたいな感じにしたい時は何を使いますか?
680デフォルトの名無しさん
2017/05/31(水) 01:04:50.93ID:XimrquBh DataGridView
681デフォルトの名無しさん
2017/05/31(水) 01:46:52.64ID:zMZ0t3dm 意図が全く分からん
682デフォルトの名無しさん
2017/05/31(水) 02:01:48.65ID:toHF4qpw マジキチ
683626
2017/05/31(水) 05:04:07.36ID:zbjxMbd2684デフォルトの名無しさん
2017/05/31(水) 06:29:23.93ID:+xjBJZk4 >>683
対象のページを手動で開いてるってことか?
対象のページを手動で開いてるってことか?
685デフォルトの名無しさん
2017/05/31(水) 06:30:10.04ID:+xjBJZk4 >>683
対象のページを手動で開いてるってことか?
対象のページを手動で開いてるってことか?
686デフォルトの名無しさん
2017/05/31(水) 06:39:24.23ID:zbjxMbd2 すいません質問がかなり流れてしまってるのでもう一度書かせていただきます
seleniumを使ったプログラムなんですが
一度遷移先でタイムアウトが発生してしまうと
それ以降別ページへの遷移ができなくなってしまって困ってます
そもそもなんでタイムアウトを設定しているかというと
重たいページであっても一定時間すぎたら無条件で次ページへ遷移してほしいからです
どなたか解決方法がわかる方お答え頂ければと思います。
ソースは以下のような感じです
webDriver = new ChromeDriver();
// タイムアウトを2秒に設定
webDriver.Manage().Timeouts().SetPageLoadTimeout(TimeSpan.FromSeconds(2));
foreach (string UrlString in UrlList){
try
{
webDriver.Navigate().GoToUrl(UrlString); // 一度タイムアウトが発生すると次回以降遷移出来ない
}
catch (OpenQA.Selenium.WebDriverTimeoutException) { }
}
※UrlListには適当なURLがいくつかはいっております
度々すみませんがどうぞよろしくお願いします。
seleniumを使ったプログラムなんですが
一度遷移先でタイムアウトが発生してしまうと
それ以降別ページへの遷移ができなくなってしまって困ってます
そもそもなんでタイムアウトを設定しているかというと
重たいページであっても一定時間すぎたら無条件で次ページへ遷移してほしいからです
どなたか解決方法がわかる方お答え頂ければと思います。
ソースは以下のような感じです
webDriver = new ChromeDriver();
// タイムアウトを2秒に設定
webDriver.Manage().Timeouts().SetPageLoadTimeout(TimeSpan.FromSeconds(2));
foreach (string UrlString in UrlList){
try
{
webDriver.Navigate().GoToUrl(UrlString); // 一度タイムアウトが発生すると次回以降遷移出来ない
}
catch (OpenQA.Selenium.WebDriverTimeoutException) { }
}
※UrlListには適当なURLがいくつかはいっております
度々すみませんがどうぞよろしくお願いします。
687デフォルトの名無しさん
2017/05/31(水) 09:22:20.58ID:7bh7QxEt >>667
俺の時代はjpeg画像だったわ
俺の時代はjpeg画像だったわ
688デフォルトの名無しさん
2017/05/31(水) 10:03:22.46ID:bfprNrby お世話になります。
ある二次元のArrayListがありまして、
そのArrayListのある1行だけをまるまる別のListへコピーしたいのですが、
色々調べても書き方がわかりませんでした。
どのように書けば良いのでしょうか。
型は全要素がstringになっているという前提で良いです。
ある二次元のArrayListがありまして、
そのArrayListのある1行だけをまるまる別のListへコピーしたいのですが、
色々調べても書き方がわかりませんでした。
どのように書けば良いのでしょうか。
型は全要素がstringになっているという前提で良いです。
689デフォルトの名無しさん
2017/05/31(水) 10:10:44.40ID:bfprNrby 688ですが、一旦質問を取り下げます。
二次元のArrayListではなくて、string配列のArrayListでした。
頭の中を整理してからまた質問させていただきます。
二次元のArrayListではなくて、string配列のArrayListでした。
頭の中を整理してからまた質問させていただきます。
690デフォルトの名無しさん
2017/05/31(水) 11:11:33.20ID:YxSv7yTD Comparison<T>をIComparer<T>に変換する機能って用意されてないよねやっぱり
デリゲートは拡張メソッドも変換演算子も定義できないし、古典的なユーティリティークラスで
やるしかないのかな
デリゲートは拡張メソッドも変換演算子も定義できないし、古典的なユーティリティークラスで
やるしかないのかな
691デフォルトの名無しさん
2017/05/31(水) 11:41:32.37ID:vbSdRoYa そういうライブラリを探す手間が大変
高級言語ってそれが面倒
最初っから当てにしない方が精神的に良いのがわかってても
あるはずだと思って探す
高級言語ってそれが面倒
最初っから当てにしない方が精神的に良いのがわかってても
あるはずだと思って探す
692デフォルトの名無しさん
2017/05/31(水) 14:16:43.04ID:Z1ZTId/u >>690
ん?
public static IComparer<T> ToIComparer<T>(this Comparison<T> cmp)
って定義できたし呼び出しもできたけど VS2015
ん?
public static IComparer<T> ToIComparer<T>(this Comparison<T> cmp)
って定義できたし呼び出しもできたけど VS2015
693デフォルトの名無しさん
2017/05/31(水) 15:14:41.46ID:SYDtjKSh あれ、デリゲートの拡張メソッドって定義できないと思い込んでたけど勘違いか。
ジェネリックの制約か何かとごっちゃになってたかな
ジェネリックの制約か何かとごっちゃになってたかな
694デフォルトの名無しさん
2017/05/31(水) 15:17:45.21ID:YmmFUVDx そんなことするより普通にnew MyDelegateComparer(comparison)でいいだろ
変なごちゃ混ぜユーティリティクラスに依存するよりよっぽどマシ
変なごちゃ混ぜユーティリティクラスに依存するよりよっぽどマシ
695686
2017/05/31(水) 15:44:13.55ID:zbjxMbd2 ここでもだれもわからないんですね・・・
どうすればいいんだろう・・・
どうすればいいんだろう・・・
696デフォルトの名無しさん
2017/05/31(水) 15:53:10.88ID:RyxKgJ03 人生の無駄だと気付け
697デフォルトの名無しさん
2017/05/31(水) 19:20:18.69ID:EmdHwMni Null許容型の話ししてもいいですか?
698デフォルトの名無しさん
2017/05/31(水) 19:25:07.13ID:pBTVyMi8 駄目だと言ったらどうする!
699デフォルトの名無しさん
2017/05/31(水) 20:58:06.31ID:P4eqmxhP ASP.NET Identityって要するにユーザー情報やロール情報のリポジトリを注入するだけで認証処理が機能するようになるよって感じ?
700デフォルトの名無しさん
2017/05/31(水) 21:18:26.40ID:rluwNjli701デフォルトの名無しさん
2017/05/31(水) 21:36:24.45ID:PjLtCLFm いつも思うけど、こういう奴誰に向かって威張ってるつもりなのかね
っていうかそれがそんな偉そうに言うような話かw
馬鹿じゃねえのほんっと
っていうかそれがそんな偉そうに言うような話かw
馬鹿じゃねえのほんっと
702デフォルトの名無しさん
2017/05/31(水) 21:38:57.89ID:L1juUrGR >>700
arraylistを使うとどんなデメリットが有るの?
arraylistを使うとどんなデメリットが有るの?
703デフォルトの名無しさん
2017/05/31(水) 21:48:30.04ID:QtUbvsGm >>702
要素にどんな型でも放り込めてしまう
要素にどんな型でも放り込めてしまう
704デフォルトの名無しさん
2017/05/31(水) 21:50:42.84ID:rluwNjli705デフォルトの名無しさん
2017/05/31(水) 21:58:14.69ID:L1juUrGR >>704
すいません、ボックス化ってなんですか?
すいません、ボックス化ってなんですか?
706デフォルトの名無しさん
2017/05/31(水) 22:01:37.80ID:lqV8qj25 >>705
https://www.google.co.jp/search?client=android-asus&ie=UTF-8&source=android-browser&q=ボックス化&gfe_rd=cr&ei=b74uWdaaIabz8AeGtomgCg
https://www.google.co.jp/search?client=android-asus&ie=UTF-8&source=android-browser&q=ボックス化&gfe_rd=cr&ei=b74uWdaaIabz8AeGtomgCg
707デフォルトの名無しさん
2017/05/31(水) 22:16:20.70ID:rluwNjli >>705
ボックス化とボックス化解除 (C# プログラミング ガイド)
https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/types/boxing-and-unboxing
要は、値型をObject型に変換するとパフォーマンスが悪い。(その逆も)
ボックス化とボックス化解除 (C# プログラミング ガイド)
https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/types/boxing-and-unboxing
要は、値型をObject型に変換するとパフォーマンスが悪い。(その逆も)
708デフォルトの名無しさん
2017/05/31(水) 22:22:39.78ID:bj9JDDoN 以下のようなコレクションから、プロパティ「name」「no」が重複しているオブジェクトを全削除したいのですが
Linq等で短いコードで書けそうだなと思いながら、いざ考えてみるとやり方が思い浮かばず困っております
よろしくお願いします
public class TestStore
{
public string name { get; set; }
public int no { get; set; }
public int noctl { get; set; }
}
class Program
{
static void Main(string[] args)
{
List<TestStore> list = new List<TestStore>();
list.Add(new TestStore { name = "hoge",no=2,noctl=999});
list.Add(new TestStore { name = "hoge", no = 2, noctl = 888 });
list.Add(new TestStore { name = "fuga", no = 1, noctl = 888 });
//プロパティ「name」「no」が重複するオブジェクトを削除する処理
//最終的にはname = "fuga"だけが残っているイメージです
}
}
Linq等で短いコードで書けそうだなと思いながら、いざ考えてみるとやり方が思い浮かばず困っております
よろしくお願いします
public class TestStore
{
public string name { get; set; }
public int no { get; set; }
public int noctl { get; set; }
}
class Program
{
static void Main(string[] args)
{
List<TestStore> list = new List<TestStore>();
list.Add(new TestStore { name = "hoge",no=2,noctl=999});
list.Add(new TestStore { name = "hoge", no = 2, noctl = 888 });
list.Add(new TestStore { name = "fuga", no = 1, noctl = 888 });
//プロパティ「name」「no」が重複するオブジェクトを削除する処理
//最終的にはname = "fuga"だけが残っているイメージです
}
}
709デフォルトの名無しさん
2017/05/31(水) 22:24:50.71ID:ne18o3PY710デフォルトの名無しさん
2017/05/31(水) 22:27:06.86ID:L1juUrGR >>706、707
ありがとうございました。
ありがとうございました。
711デフォルトの名無しさん
2017/05/31(水) 22:27:16.87ID:ne18o3PY linq友の会スレでも行けよ
712デフォルトの名無しさん
2017/05/31(水) 22:42:27.39ID:P4eqmxhP713デフォルトの名無しさん
2017/05/31(水) 22:58:48.07ID:bj9JDDoN714デフォルトの名無しさん
2017/05/31(水) 23:01:16.13ID:QtUbvsGm >>709
( ´,_ゝ`)プッ
( ´,_ゝ`)プッ
715デフォルトの名無しさん
2017/05/31(水) 23:04:44.02ID:KM4I6X6v >>709
解らないなら黙ってスルーして良いんだぜ?な?
解らないなら黙ってスルーして良いんだぜ?な?
716デフォルトの名無しさん
2017/05/31(水) 23:18:52.50ID:PjLtCLFm 匿名型ってEqualsも自動実装されてるのか
知らんかった
知らんかった
717デフォルトの名無しさん
2017/06/01(木) 00:42:51.33ID:mM6BhS1s 改めて思ったけど、IEquatable<T>とIEqualityComparer<T>の関係って
なんだかわかりづらいな。
IEquatable実装したらGetHashCodeもオーバライドしろっていうのなら
IEqualityComparerだけあれば十分じゃないのか
なんだかわかりづらいな。
IEquatable実装したらGetHashCodeもオーバライドしろっていうのなら
IEqualityComparerだけあれば十分じゃないのか
718デフォルトの名無しさん
2017/06/01(木) 01:35:28.25ID:ludZVk+R コンパレータ渡さ(れ)なくても比較したいことは多いだろ
719デフォルトの名無しさん
2017/06/01(木) 01:39:00.91ID:ZOQStLdx >>717
IEquatable<T>は値型に実装するもので、参照型に実装する意味はないよ
一種のマーカーインターフェイスみたいなもんで、これがあることによって
値型のときEqualityComparer<T>.Defaultなどでボックス化を回避することができる
IEquatable<T>は値型に実装するもので、参照型に実装する意味はないよ
一種のマーカーインターフェイスみたいなもんで、これがあることによって
値型のときEqualityComparer<T>.Defaultなどでボックス化を回避することができる
720デフォルトの名無しさん
2017/06/01(木) 02:01:45.31ID:ZOQStLdx >>718
EqualsやGetHashCodeはObjectのメソッドなんだから常に等値比較は可能なはずで、なのになんでインターフェイスが必要なのかが質問者の疑問なんじゃないの?
その疑問はもっともで、実際、非ジェネリックなIEquatableって存在しないでしよ
等値比較できることを示すというよりは、型限定なEqualsの実装を持ってることを保証するためのインターフェイスなんだよ
EqualsやGetHashCodeはObjectのメソッドなんだから常に等値比較は可能なはずで、なのになんでインターフェイスが必要なのかが質問者の疑問なんじゃないの?
その疑問はもっともで、実際、非ジェネリックなIEquatableって存在しないでしよ
等値比較できることを示すというよりは、型限定なEqualsの実装を持ってることを保証するためのインターフェイスなんだよ
721デフォルトの名無しさん
2017/06/01(木) 02:23:40.58ID:ldik7UUC722デフォルトの名無しさん
2017/06/01(木) 02:31:26.88ID:5sVH+pSJ 煽るために産まれたのか悲しい子よ
723デフォルトの名無しさん
2017/06/01(木) 02:33:53.74ID:EL41vKcx724デフォルトの名無しさん
2017/06/01(木) 03:49:27.04ID:aKp9LbeA C# で 6乗したら100になる数字を求める方法ってありますか?
で、プログラムで 6とか 100の部分を可変で入れ込む関数を作りたいのです。
よろしくお願い致します。
で、プログラムで 6とか 100の部分を可変で入れ込む関数を作りたいのです。
よろしくお願い致します。
725デフォルトの名無しさん
2017/06/01(木) 04:27:00.57ID:EL41vKcx >>724
単に Math.Pow(100, 1/6) でいいと思いますが
単に Math.Pow(100, 1/6) でいいと思いますが
726デフォルトの名無しさん
2017/06/01(木) 04:45:54.50ID:ldik7UUC 数学的には指数と対数の関係式とか言うとこだな
727デフォルトの名無しさん
2017/06/01(木) 05:26:56.81ID:ldik7UUC >>725
累乗根ってそれで行けるんだ
累乗根ってそれで行けるんだ
728デフォルトの名無しさん
2017/06/01(木) 06:53:06.02ID:rOL2FVf4 >>724
そんな数字求めて何に使う?
そんな数字求めて何に使う?
729デフォルトの名無しさん
2017/06/01(木) 07:01:20.29ID:ldik7UUC 桁数に合わせた表示領域の計算とかするのに必要だった気がする
730デフォルトの名無しさん
2017/06/01(木) 08:08:40.56ID:YbQp1MN1731デフォルトの名無しさん
2017/06/01(木) 09:24:36.49ID:ABXdazBj 音つくるんかな
732デフォルトの名無しさん
2017/06/01(木) 10:11:36.56ID:ZOQStLdx 工学系なら普通にあるだろうけどさすがに724は理系ではなさそうだし
733デフォルトの名無しさん
2017/06/01(木) 10:43:13.05ID:RLRug1po734デフォルトの名無しさん
2017/06/01(木) 11:01:21.36ID:sVwWAQG0 クラスの中にスタックを持たせたい場合、どう書くのが正しいんでしょうか。
class Solution {
private Stack<char> st = new Stack<char>();
Solution() {
}
public void pushCharacter(char c) {
st.Push(c);
}
場当たりでこんな書き方をしましたが、とても汚く感じます。
class Solution {
private Stack<char> st = new Stack<char>();
Solution() {
}
public void pushCharacter(char c) {
st.Push(c);
}
場当たりでこんな書き方をしましたが、とても汚く感じます。
735デフォルトの名無しさん
2017/06/01(木) 11:05:21.05ID:MxLX2EtY それを汚く感じる完成が分からん
736デフォルトの名無しさん
2017/06/01(木) 11:22:25.63ID:bvaaJ1gb >>734
可読性とかはその人の感性によるものだから君が汚いって言っても他人にはよくわからんかもしれん
もっと具体的に何がどう気に入らないのか説明してくれんと要件満たしてるんだしそのコードでいいじゃんとしか言えない
可読性とかはその人の感性によるものだから君が汚いって言っても他人にはよくわからんかもしれん
もっと具体的に何がどう気に入らないのか説明してくれんと要件満たしてるんだしそのコードでいいじゃんとしか言えない
737デフォルトの名無しさん
2017/06/01(木) 11:34:56.00ID:8D8uwWqC >>733
いや手持ちの数学の教科書の項目の話だった
いや手持ちの数学の教科書の項目の話だった
738デフォルトの名無しさん
2017/06/01(木) 11:37:26.68ID:8D8uwWqC >>733
でも指数法則でそんなのあったっけ?
でも指数法則でそんなのあったっけ?
739デフォルトの名無しさん
2017/06/01(木) 11:46:48.93ID:aKp9LbeA740デフォルトの名無しさん
2017/06/01(木) 11:49:39.28ID:sVwWAQG0 >>735-736
class Solution {
private Stack<char> st;// = new Stack<char>();
Solution() {
st = new Stack<char>();
としました。
汚く感じるというのは、変数を宣言している所で割り当てするのは変なんじゃないかなと思う、ということです。
変なこと書いてすみませんでした。
class Solution {
private Stack<char> st;// = new Stack<char>();
Solution() {
st = new Stack<char>();
としました。
汚く感じるというのは、変数を宣言している所で割り当てするのは変なんじゃないかなと思う、ということです。
変なこと書いてすみませんでした。
741デフォルトの名無しさん
2017/06/01(木) 11:55:59.28ID:6PQ5fYPl フィールドの初期化位置で悩むのはふらっとあるある
742デフォルトの名無しさん
2017/06/01(木) 11:58:57.49ID:bvaaJ1gb >>740
宣言と初期化を一緒にするか別にするかはそんなに綺麗汚いに影響しない感じするなー
個人的には統一されてりゃ良いと思うけど
varのこと考慮すれば宣言時初期化のほうが楽なんじゃないかな?ってちょっと思うくらい
(確かメンバ変数もvar使えるようになったよね?)
宣言と初期化を一緒にするか別にするかはそんなに綺麗汚いに影響しない感じするなー
個人的には統一されてりゃ良いと思うけど
varのこと考慮すれば宣言時初期化のほうが楽なんじゃないかな?ってちょっと思うくらい
(確かメンバ変数もvar使えるようになったよね?)
743デフォルトの名無しさん
2017/06/01(木) 12:18:08.67ID:RLRug1po744デフォルトの名無しさん
2017/06/01(木) 12:43:17.65ID:wFAG8npl >>739
セント計算を20年ぐらい前にした覚えがあってね
セント計算を20年ぐらい前にした覚えがあってね
745デフォルトの名無しさん
2017/06/01(木) 13:09:43.89ID:8R6JhoZ8746デフォルトの名無しさん
2017/06/01(木) 13:19:28.65ID:ZOQStLdx フィールドは基本的にreadonly + 宣言時代入
どうしてもreadonlyにできない場合は宣言時代入はまあどっちでもいいと思うよ
ミュータブルなフィールドを宣言時代入するのは意味的に紛らわしいと感じる人もいるはず
どうしてもreadonlyにできない場合は宣言時代入はまあどっちでもいいと思うよ
ミュータブルなフィールドを宣言時代入するのは意味的に紛らわしいと感じる人もいるはず
747デフォルトの名無しさん
2017/06/01(木) 13:59:13.59ID:ZI/846Hh すみません。質問です。
通常のメソッドから非同期メソッドを呼びだす時の場合です。非同期メソッドは無限ループで非同期受信を待機しています。
(async/await)
この時通常メソッドの中の非同期呼びだしが、await演算子を適用することを検討してくださいと警告をうけます。
非同期メソッドの呼びだしにawaitをつけたほうがいいのでしょうか
通常のメソッドから非同期メソッドを呼びだす時の場合です。非同期メソッドは無限ループで非同期受信を待機しています。
(async/await)
この時通常メソッドの中の非同期呼びだしが、await演算子を適用することを検討してくださいと警告をうけます。
非同期メソッドの呼びだしにawaitをつけたほうがいいのでしょうか
748デフォルトの名無しさん
2017/06/01(木) 14:23:18.55ID:bvaaJ1gb >>745
ごめん、記憶違いだったぽい
ごめん、記憶違いだったぽい
749デフォルトの名無しさん
2017/06/01(木) 15:15:48.27ID:wFAG8npl ようわからんけど、Clickイベントハンドラにasyncつけるとか?
することあるよ
することあるよ
750デフォルトの名無しさん
2017/06/01(木) 15:16:26.73ID:ZOQStLdx751デフォルトの名無しさん
2017/06/01(木) 15:16:36.83ID:wFAG8npl とエスパー
752デフォルトの名無しさん
2017/06/01(木) 15:29:47.68ID:JS2ZXwNm >>747
無限ループじゃなくてawaitで待つほうが健全だね
無限ループじゃなくてawaitで待つほうが健全だね
753デフォルトの名無しさん
2017/06/01(木) 17:37:25.02ID:Biom6P3b >>747です
レスありがとうございます。何がしたいかというと
誘導失礼します
http://hensa40.cutegirl.jp/archives/1858
これのサーバー側を非同期で常にアクセスを待ち続けたいのですが、色々と例外が発生してうまく組めません。どの様にコーディングすればいいでしょうか。
レスありがとうございます。何がしたいかというと
誘導失礼します
http://hensa40.cutegirl.jp/archives/1858
これのサーバー側を非同期で常にアクセスを待ち続けたいのですが、色々と例外が発生してうまく組めません。どの様にコーディングすればいいでしょうか。
754デフォルトの名無しさん
2017/06/01(木) 18:13:44.67ID:4NZyrsle >>753
サーバーで複数クライアントからの処理を同時にこなすならawaitしないのは全然普通だよ
コンパイラの警告は基本全部つぶすべきだけどその警告は場合によっては無視していい
複数クライアント対応のサーバー側の処理の骨格は普通以下のような感じ
疑似コードみたいなもんなので当然このままじゃ動かない
さらにclientWorkerで例外が起こった場合を考えるべきだけど
https://ideone.com/Xbn7g0
サーバーで複数クライアントからの処理を同時にこなすならawaitしないのは全然普通だよ
コンパイラの警告は基本全部つぶすべきだけどその警告は場合によっては無視していい
複数クライアント対応のサーバー側の処理の骨格は普通以下のような感じ
疑似コードみたいなもんなので当然このままじゃ動かない
さらにclientWorkerで例外が起こった場合を考えるべきだけど
https://ideone.com/Xbn7g0
755デフォルトの名無しさん
2017/06/01(木) 18:28:51.20ID:MxLX2EtY > さらにclientWorkerで例外が起こった場合を考えるべきだけど
なのでawaitじゃなくてTaskのまま受け取ってContinueWithでエラー処理とかする
警告もなくなる
なのでawaitじゃなくてTaskのまま受け取ってContinueWithでエラー処理とかする
警告もなくなる
756デフォルトの名無しさん
2017/06/01(木) 18:30:24.63ID:ZOQStLdx757756
2017/06/01(木) 18:43:42.91ID:l+evRAwn ああリンク先見たらwhileの中でawaitしないことを言ってたのか
失礼した
失礼した
758デフォルトの名無しさん
2017/06/01(木) 18:45:38.64ID:6PQ5fYPl async/await使った非同期サーバー作ったけど、ネットにろくな例無くて苦労したわ
未だにこの表記で良いのかと考えるときあるし
未だにこの表記で良いのかと考えるときあるし
759デフォルトの名無しさん
2017/06/01(木) 19:52:33.98ID:9Xkv0h5R >>754
ありがとうございます
とりあえず以下のような感じでやって動いてはいるんですが、大丈夫でしょうか
ただ、listener.Stop()を実行すると、System.ObjectDisposedExceptionの例外がスローされます
対処方法はどうしたらいいでしょうか
public void ServerStart() {
listener.Start();
LoopTestAsync(); ←警告される
}
public void ServerStop() {
listener.Stop();
}
private async Task LoopTestAsync(){
While (True){
using (TcpClient client = await listener.AcceptTcpClientAsync()) {
clientWorker(client);
}
}
}
private void clientWorker(TcpClient client) {
using (var stream = client.GetStream()) {
IFormatter formatter = new BinaryFormatter();
Class1 c1 = (Class1)formatter.Deserialize(stream);
}
}
ありがとうございます
とりあえず以下のような感じでやって動いてはいるんですが、大丈夫でしょうか
ただ、listener.Stop()を実行すると、System.ObjectDisposedExceptionの例外がスローされます
対処方法はどうしたらいいでしょうか
public void ServerStart() {
listener.Start();
LoopTestAsync(); ←警告される
}
public void ServerStop() {
listener.Stop();
}
private async Task LoopTestAsync(){
While (True){
using (TcpClient client = await listener.AcceptTcpClientAsync()) {
clientWorker(client);
}
}
}
private void clientWorker(TcpClient client) {
using (var stream = client.GetStream()) {
IFormatter formatter = new BinaryFormatter();
Class1 c1 = (Class1)formatter.Deserialize(stream);
}
}
760デフォルトの名無しさん
2017/06/01(木) 20:05:09.06ID:4R0wfsj/761デフォルトの名無しさん
2017/06/01(木) 21:26:37.82ID:llpGiASm762デフォルトの名無しさん
2017/06/01(木) 22:00:17.31ID:tw8E59rn 正直、タッチパネル搭載のPC使ってるけどUWPなんてほぼ使ったことないw
これからもまず使わないだろう
モバイルのシェア1ケタのOSのモバイル用アプリなんて生まれる前から死んでいるw
これからもまず使わないだろう
モバイルのシェア1ケタのOSのモバイル用アプリなんて生まれる前から死んでいるw
763デフォルトの名無しさん
2017/06/01(木) 22:39:29.48ID:PAXTxEs7 私はUWPのEdgeをよく使いますね
764デフォルトの名無しさん
2017/06/01(木) 23:36:17.73ID:O9hXITjG >>762
使っていることに気づいてないだけ
使っていることに気づいてないだけ
765デフォルトの名無しさん
2017/06/01(木) 23:48:05.37ID:tw8E59rn >>764
んなアホなw
んなアホなw
766デフォルトの名無しさん
2017/06/01(木) 23:50:53.45ID:O9hXITjG >>765
設定触ったことないの?
設定触ったことないの?
767デフォルトの名無しさん
2017/06/01(木) 23:51:25.64ID:EL41vKcx UWPの電卓アプリ多用してる
768デフォルトの名無しさん
2017/06/01(木) 23:52:47.43ID:tw8E59rn769デフォルトの名無しさん
2017/06/01(木) 23:57:43.40ID:tw8E59rn っていうか、あの設定画面出てくるとゲンナリするよねw
コントロールパネルと設定画面がどういう基準で仕分けされてるのかさっぱり分からんし、
そうでなくても糞見づらいフラットデザインの画面ってイライラしてくる
コントロールパネルと設定画面がどういう基準で仕分けされてるのかさっぱり分からんし、
そうでなくても糞見づらいフラットデザインの画面ってイライラしてくる
770デフォルトの名無しさん
2017/06/01(木) 23:57:49.23ID:EL41vKcx >>768
Windows8はUWP非対応です
Windows8はUWP非対応です
771デフォルトの名無しさん
2017/06/02(金) 00:01:15.63ID:Ky4OucGy >>768
UWPはWindows10以降
UWPはWindows10以降
772デフォルトの名無しさん
2017/06/02(金) 00:01:28.76ID:xUiVlsMK773デフォルトの名無しさん
2017/06/02(金) 00:03:26.29ID:GRO2QHjZ >>768
ろくにUWPを理解していないことが露呈しましたね
ろくにUWPを理解していないことが露呈しましたね
774デフォルトの名無しさん
2017/06/02(金) 00:05:45.63ID:JeVIxJYz >>772
幼稚だね。小学生か
普通UWPを使うって言ったらストアからダウンロードして使うか、
少なくとも最初からインストールされているアプリを、他に選択肢があるにも
かかわらずあえて使うことだろう。
Windowsを使う限り使うことがほぼ選択の余地なく不可避のものを
「ほらみろお前使ってるじゃないか」ってそんなこと言って何の意味がある
馬鹿じゃねえの
幼稚だね。小学生か
普通UWPを使うって言ったらストアからダウンロードして使うか、
少なくとも最初からインストールされているアプリを、他に選択肢があるにも
かかわらずあえて使うことだろう。
Windowsを使う限り使うことがほぼ選択の余地なく不可避のものを
「ほらみろお前使ってるじゃないか」ってそんなこと言って何の意味がある
馬鹿じゃねえの
775デフォルトの名無しさん
2017/06/02(金) 00:08:47.18ID:xUiVlsMK776デフォルトの名無しさん
2017/06/02(金) 00:11:04.54ID:xh/fYt88 >>774の定義ではWindows8はUWP対応なんだってさ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【サッカー】J1昇格PO決勝戦 千葉、来季のJ1昇格が決定 17年越しの悲願叶える…オリジナル10が05年以来のJ1にそろう [久太郎★]
- 中国・ロシア両軍の爆撃機が東京方面へ向かう「異例のルート」を共同飛行…核も搭載可能、連携して威嚇か ★6 [ぐれ★]
- 南京で「大虐殺」追悼式典 中国、高市政権をけん制 (共同通信) [少考さん★]
- 【鹿児島】容疑者は大学生。国道3号を横断中の母娘を車ではねる――「太陽がまぶしくて見えなかった」。20歳女を現行犯逮捕 日置署 [ぐれ★]
- 中国・ロシア両軍の爆撃機が東京方面へ向かう「異例のルート」を共同飛行…核も搭載可能、連携して威嚇か ★5 [ぐれ★]
- 【沖縄】開業4ヵ月でこれは…“国民の税金”投入の『ジャングリア沖縄』で見た衝撃的な光景と、モチベーションが低い一部スタッフの現状 [ぐれ★]
- 【高市速報】日本、イギリスフランスドイツに相次ぎ告げ口外交を開始wwwwwwww🤪 [931948549]
- アメリカの自動車団体、中国車の国内進出阻止を政府に要求 [838847604]
- 【悲報】(ヽ´ん`)「まるごとバナナ買おうとしたら219円に値上げしてたから自分で作ってやった。ほぼ半額」 [802034645]
- なかやま〜きんにくんだよ〜みたいな事言う女芸人いたじゃん?
- 【高市朗報】江戸走り、考案者大場克則さんに教わる正しい江戸走りのコツ動画 [699577814]
- (ヽ´ん`)「嫌儲はマジで高IQ集団だろ」 [357264179]
