[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 05/20 10:02 / Filesize : 242 KB / Number-of Response : 1042
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:デフォルトの名無しさん mailto:sageteoff [2015/03/18(水) 18:08:26.52 ID:irwZfv9C.net]
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。

他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。

内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。

なお、テンプレが読めない回答者は邪魔なので後述のC#相談室に移動して下さい。

>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。

■前スレ
ふらっと C#,C♯,C#(初心者用) Part114
peace.2ch.net/test/read.cgi/tech/1419512512/

■関連スレ
C#, C♯, C#相談室 Part86
peace.2ch.net/test/read.cgi/tech/1419608259/

■コードを貼る場合は↓を使いましょう。
ideone.com/

898 名前:デフォルトの名無しさん mailto:sage [2015/06/27(土) 04:21:47.51 ID:o3dT3qrp.net]
ここまで丁寧に教えてもらったなら、もう大丈夫だろう

899 名前:デフォルトの名無しさん mailto:sage [2015/06/27(土) 04:43:08.62 ID:6yK3ftLr.net]
元の質問者は、型のシステムが理解できてないのか、スコープが理解できてないのかわからん
たぶん両方理解できてないんだろうけど

900 名前:デフォルトの名無しさん mailto:sage [2015/06/27(土) 07:38:59.62 ID:iDD3CLpV.net]
>>867
もともと同じ変数に入れようとしてるわけだし、それは込みじゃね?

それになんかオブジェクト指向してる気がして楽しいだろ
初学者には楽しさも必要

901 名前:デフォルトの名無しさん mailto:sage [2015/06/27(土) 07:39:37.05 ID:iDD3CLpV.net]
あーそれともダックタイピングを無意識に要求していたのかな

902 名前:デフォルトの名無しさん mailto:sage [2015/06/27(土) 17:08:22.40 ID:R5WbdKN1.net]
int[] i = {1, 2}
という配列があるとして、i[0]をa変数に、i[1]をb変数に入れるのをスマートに行う方法はないでしょうか?

Pythonであれば
a, b = i
のようにできることをやりたいです。

今は
int a = i[0]
int b = i[1]
としているのですが、もっとスマートにする方法はないかと考えています。

903 名前:デフォルトの名無しさん mailto:sage [2015/06/27(土) 17:10:53.30 ID:xbG7ljXN.net]
ない
C#はスクリプト言語ではないので、そういうタプル的な値を扱うときは
ちゃんとクラスを定義して使うのが普通

904 名前:デフォルトの名無しさん mailto:sage [2015/06/27(土) 17:14:17.28 ID:xbG7ljXN.net]
ちなみにクラスを定義する簡単な方法としては、
var i = new { a = 1, b = 2 };
(使うときは Console.WriteLine(i.a)のようにする)
のように書ける匿名型という機能がある
System.Tupleなんてのもあるが言語でサポートされてる訳じゃないのでお勧めしない

905 名前:デフォルトの名無しさん mailto:sage [2015/06/27(土) 17:34:09.37 ID:R5WbdKN1.net]
ありがとうございます。
そのiは実際にはReadLineで読み込んだ文字列をSplitしてintに変換したような配列になります。

なので、その配列に代入されているとインデクサでアクセスする必要が有るため、わかりやすい変数名をスマートに付けれる方法がないかと思っていました。
C#を勉強し始めたところでまだまだルールがわからず、スクリプト言語の考えを前提に持ってしまっているのかもしれません。


ありがとうございました。

906 名前:デフォルトの名無しさん mailto:sage [2015/06/27(土) 21:23:40.36 ID:n+6r1LD8.net]
>var i = new { a = 1, b = 2 };

初心者ですがこれはじめて知った
無名関数は知ってたけど、これは便利だな



907 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 03:54:38.43 ID:w++X9/Nf.net]
2次元配列をforeachで回すのはどうすればよいのでしょう
以下はエラーが出てしまいます

int[,] cards = new int[100,2];
foreach (int[,] card in cards)

908 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 04:10:59.08 ID:x/T4p/ZN.net]
foreachを多次元配列に対して使うとSelectMany()メソッドみたいに平坦化してしまうから
気になるなら普通にfor文を使った方がいい

int[,] cards = new int[100, 2];
foreach (var card2 in cards) {
Console.Write(card2 + " ");
}
Console.WriteLine();

909 名前:デフォルトの名無しさん [2015/06/29(月) 23:24:49.10 ID:bidzkCNd.net]
こんばんは。
教えてください
VSでwebサイトを作っています。
SQLにある温度計データを引っ張ってきてグラフ

910 名前:化して
推移を見ています。

Chartとデータソースを使用していて問題なかったのですが、
過去分のデータが見たいなと思ったとき今のやり方では見れません。
(データソースの構成で最新100件でグラフにしています。)

そこで、ドロップダウンリストから年月を指定して
その中で100件のデータを引っ張りグラフ化したいです。

分からない点としては、正直、全部なのですが
SQLサーバーにdate(例:2015/06/29/23:00:00)temp(例:20.2)
とある場合はドロップダウンリストで年月を選択する方法がわかりません。

SQLサーバーに上のような形式で入っている時点で
年月のみ抽出というのは不可能なのでしょうか?

SQL言語の質問かもしれませんが
きっとクラスを作成するだろうと思い
こちらに記入しました。

どなたか知恵をお貸しください。
よろしくお願いします。
[]
[ここ壊れてます]

911 名前:デフォルトの名無しさん mailto:sage [2015/06/29(月) 23:49:23.72 ID:lRRDyv15.net]
株価のチャートを自作したいす

912 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 00:05:34.96 ID:LiiqQaQT.net]
>>879
SELECT date, temp
FROM お前の表
WHERE ? <= date AND date <= ?
LIMIT 100
?にはそれぞれ開始日時と終了日時をバインドする

913 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 02:36:45.32 ID:RyZIYf8u.net]
between、、、

914 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 02:49:11.94 ID:9tUPOc+y.net]
null許容型(int?とか)ってあまり?使わない方が良いって聞いたんですが、なぜですか?

915 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 03:25:56.90 ID:AoMT9Nrc.net]
データベース以外でってこと?

916 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 03:58:23.92 ID:9tUPOc+y.net]
すみません、あやふやなんですが何かの掲示板(多分2ch)で
結構前に「null許容型はやめろ(クソ)」的なレスが結構続いてたので、聞いてみました

逆にデータベースでは、例えばBooleanならtrueとfalse以外「値が未設定」を表現するために
nullを使うと思いますが、そういう用途ではOK(問題ない)という事ですか?

また、逆に問題が出る使用例があれば教えて下さい。



917 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 04:24:21.76 ID:AoMT9Nrc.net]
>>885
ここ読んでさらに疑問があれば質問すれば
https://code.msdn.microsoft.com/windowsdesktop/7-null-null-null-48ae7f82

むやみに使うのではなく使うことで可読性が良くなりバグも減るなら使えばって感じのこと書いてある

918 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 04:35:41.24 ID:AoMT9Nrc.net]
データベースでNULLを排除したコードを書くのは非現実的だとも書いてある

919 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 04:55:25.65 ID:9tUPOc+y.net]
>>886
ありがとうございます

920 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 08:39:43.88 ID:6xoEPUUH.net]
>>881
convertでyymmにして拾うのとどっちが早いんでしょう
C#じゃないけど

921 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 15:26:37.90 ID:Sta9LMr5.net]
WebでSQLを使うときはSQLインジェクションが起こらないように注意して作らんとな

922 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 13:39:30.86 ID:kfPim06m.net]
WPFでボタンをクリックするとウェブページを非同期で取得するプログラムを
書いたのですが
自作ライブラリ内でこのように記述するとtask.Wait();でGUIが応答しなくなります
var task=GetWebPageAsync(webUri);
task.Wait();
string htmlText = task.Result ;
処理を追ってみるとGetWebPageAsyncメソッド内の下記の部分のあと
GUIが表示され処理が中断されるみたいです
HttpResponseMessage res = await client.GetAsync(uri);


923 名前:理由がよくわからないまま
string htmlText= await GetWebPageAsync(webUri);
と書き直すと処理が実行されました
何が問題なのでしょうか
[]
[ここ壊れてます]

924 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 13:55:31.70 ID:lMyegDBc.net]
>task.Wait();
>string htmlText = task.Result ;

ここでバリバリ終了を待ってるじゃん。バリバリ。

925 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 13:59:45.12 ID:kfPim06m.net]
もう一つわからないのが>>891で取得したデータを
HogeItemsに設定してListBoxにバインドしているのですが
ListBoxに表示されません
ページの取得とプロパティの値に設定は出来ています
MVVMフレームワークとしてPrismを使用してます

<ListBox ItemsSource="{Binding HogeItems}" Height="500">
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Title}"/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>

コンストラクタ内
SearchCommand = new DelegateCommand(() => {HogeSearch();});

private async void HogeSearch(){
var list = await Hoge.SearchAsync();
this.HogeItems = new ObservableCollection<HogeItem>(list);}

926 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 14:22:19.59 ID:kfPim06m.net]
>>892
それが下記サイトを参考にコンソールアプリで作っていたときは
問題なくタスク完了したのですが
WPFで利用するとGUIがフリーズしてタスクが完了しません
フリーズするだけならわかりますが、タスクが完了しないのがなぜなのかわかりません

.NET TIPS:Html Agility Packを使ってWebページをスクレイピングするには?[C#、VB] - @IT

www.atmarkit.co.jp/ait/articles/1501/27/news140.html


.NET TIPS:HttpClientクラスでWebページを取得するには?[C#、VB] - @IT

www.atmarkit.co.jp/ait/articles/1501/06/news086.html
上のページから抜粋
webTask.Wait(); // Mainメソッドではawaitできないので、処理が完了するまで待機する



927 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 14:30:33.50 ID:LLinkmjy.net]
HogeItemsプロパティの変更通知はちゃんとしてるのか?

928 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 15:38:30.48 ID:kfPim06m.net]
HogeItemのプロパティに変更通知を設定しないとだめだったんですね
ObservableCollectionに入れれば必要ないと思ってました

929 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 19:48:54.41 ID:DTddCrxB.net]
>>891
コンソールアプリとwpfみたいなguiアプリではTaskの実行コンテキストが違うからってのがあるかな。

メインでResultを受け取るには、awaitの後にConfigureAwait(false)が必要。
var ret = await Abc().ConfigureAwait(false);

別のやり方としては、WaitとかResultで受け取らず、ContinueWithで以降の処理を囲むという手もある。
まあ、この方法はイベントハンドラの中の改変量が多くなるけど

c# Task 実行コンテキスト 辺りの言葉で探してみるといいよ

930 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 20:12:55.47 ID:cqLm13Og.net]
知ってると思うけどasync/awaitを使う関数はTaskもしくはTask<T>を返さないといかんよ

931 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 20:52:29.17 ID:+trI441A.net]
>メインでResultを受け取るには、awaitの後にConfigureAwait(false)が必要。

何言ってるんだこのばかは

932 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 21:47:59.99 ID:lMyegDBc.net]
つまりスレの総意としては、「初心者にasync/awaitを触らすな」でおkだな

933 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 21:55:16.01 ID:TcFd+yBB.net]
>>898
正確には「イベント処理だけはvoidでそれ以外はTask/Task<T>を返すべき」って事だな

neue.cc/2013/10/10_429.html

ここに async void がまずい理由がうまくまとめられてる
あと

stackoverflow.com/questions/14177891/can-somebody-please-explain-async-await

こういう所を読めばasync/awaitの意味が直感的に理解できるだろ
最初からUIせずにまずコンソール画面

934 名前:で遊んでみるといいと思う []
[ここ壊れてます]

935 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 22:05:16.30 ID:8z426iG1.net]
そもそも結果を返さない非同期処理は避けるべきだろ
Taskで副作用やると簡単にスパゲッティの出来上がり

936 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 22:10:43.83 ID:TcFd+yBB.net]
だな
永久ループのTaskとか誰得



937 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 22:20:52.29 ID:/J4bS24z.net]
今までWeb系とかやったことなくてASP.NET MVC5実践プログラミングっての買って触ってみてるんだけど、
新しいWebサイト追加したらファイルがものすごい数できてワロタ・・・みんなこれをすいすい使えるとかすげえな・・・

938 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 22:34:28.57 ID:XZhIE+dJ.net]
大丈夫
ほとんどのドカタは理解せずに使ってるだけ

939 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 22:37:28.27 ID:jqzDD9Cy.net]
拡張子aspxで(特に速度面で)まともなサービスを見たことがない
理解せずにドカタが使ってるという指摘は恐らく正しいのだろう

940 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 22:40:59.12 ID:/J4bS24z.net]
まじか。まあ自分も触って2日目だから諦めずに進めるよ。がんばって一流の土方になるよ

941 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 22:41:40.43 ID:8z426iG1.net]
Webなんか所詮来たリクエストに文字列返すだけやで

942 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 22:43:07.86 ID:G2Z5fyBt.net]
ASP.NET MVCは.aspxより体感で10倍ぐらい遅い。
ログインページとかのチンケなビューを表示させるだけで
相当な処理時間を要する。

943 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 22:50:54.07 ID:/J4bS24z.net]
aspxっていうのはweb Formsっていう認識であってます?
ネットで調べたときはMVCが主流とあったので、先攻してMVCをやってるんだけど、
まだ結構業務とかでは使われてるものですかね?

一応赤間信幸さんのWebアプリケーション構築技法っていう本を
数百円でゲットしてあるので平行して進める予定です。

944 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 22:50:58.15 ID:fbUsRR4f.net]
MVCってそんなに遅いの?

945 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 22:53:29.97 ID:8z426iG1.net]
使い方が間違ってるだけ

946 名前:デフォルトの名無しさん mailto:sage [2015/07/02(木) 00:14:50.49 ID:6NbSjz3o.net]
>>898
>>901
データバインディングと非同期 ? C# Advent Calendar 2014 | kekyoの丼
www.kekyo.net/2014/12/21/4638

※一部抜粋
この例は本物(CLR)のイベントハンドラではありませんが、
ICommandによって間接的に呼び出されるコールバックとして、
広義において同じと見なしても良いと思います。

このように説明されていたのでasync voidを使用したのですが問題有りますか?
そもそもAction型なので戻り値が設定できません

コンストラクタ内
SearchCommand = new DelegateCommand(() => {HogeSearch();});

private async void HogeSearch(){
var list = await Hoge.SearchAsync();
this.HogeItems = new ObservableCollection<HogeItem>(list);}



947 名前:デフォルトの名無しさん mailto:sage [2015/07/02(木) 00:59:43.49 ID:Eju8VvyX.net]
>>913
そういうのは、イベントと同じで仕方なくasync voidを使うケースになるんじゃないかな。
それしか手段がないということで。

948 名前:デフォルトの名無しさん mailto:sage [2015/07/02(木) 01:25:55.14 ID:izkJyB4/.net]
実行中の他のフォームに対してString^を渡したいんですけど、C#の超初心者なんで、
EnumWindowsでタイトルを探してHWND取得して、マーシャルした*TCHARでグローバルATOMを作成して
SendMessageで渡すという方法くらいしか思いつきません
なんかかっこいい方法ありませんか?

949 名前:デフォルトの名無しさん mailto:sage [2015/07/02(木) 01:31:29.80 ID:tXGVZqg3.net]
async/awaitの使い方に関してはこの辺り読んどけ <

950 名前:br>
http://blog.stephencleary.com/2012/07/dont-block-on-async-code.html
https://msdn.microsoft.com/ja-jp/magazine/jj991977.aspx
[]
[ここ壊れてます]

951 名前:デフォルトの名無しさん mailto:sage [2015/07/02(木) 01:47:17.82 ID:1taOWumU.net]
>>913
値を返す必要がない非同期なんだからTask.Factory.CreateNewでWaitなしでも同じ事だね

952 名前:デフォルトの名無しさん mailto:sage [2015/07/02(木) 01:52:04.59 ID:1taOWumU.net]
おっと間違えてた
メソッドのなかでさらにawaitやってるんだからメソッドの中でTask.Factory.CreateNewやればいいな
asyncを使う必要性はむしろ例外が投げられた時に適切に対処出来るかどうかに関係する

953 名前:デフォルトの名無しさん mailto:sage [2015/07/02(木) 08:03:29.48 ID:XweApYF/.net]
>>915
プロセス跨ぐならIPC
跨がないなら普通にメソッド呼べ

954 名前:デフォルトの名無しさん mailto:sage [2015/07/02(木) 22:51:37.10 ID:4BNFPd6R.net]
ポリモーフィックな処理を書きたいときって
インターフェースを使うのと仮想メソッドを使うので理論的にはどっちが速いの?

955 名前:デフォルトの名無しさん mailto:sage [2015/07/02(木) 23:39:26.50 ID:AiijB2ck.net]
変わらないんじゃないの?実測するしかないけど
abstructとvirtualの違いだよね?abstructは全てvirtualであるためなのか
virtualを付けるとコンパイルエラーになる

それからインターフェースのBaseを呼び出す事が出来ない

インターフェースは多重継承みたいな事をしたい時に使ってるけど

956 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 09:06:24.07 ID:t3F14P3X.net]
デフォルトのawaitの外側でWaitしたらあかんよ。



957 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 09:08:41.27 ID:t3F14P3X.net]
デッドロックするからね。
awaitは処理完了後UIスレッドに続きを実行させようとするが、Waitで完了待ちしてるからUIスレッドはいつまで待っても空かない。
双方待ちあってデッドロック。

958 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 09:10:44.89 ID:t3F14P3X.net]
それを防ぐにはawaitのときにConfigureAwait(false)するなりが必要。

959 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 09:13:12.96 ID:t3F14P3X.net]
つまり>>897は正しいわけだけどいきなりバカ言われて終わってるな。

960 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 09:17:28.88 ID:jZs8Gwbi.net]
Twitterと勘違いして単文連投してんのか?ボケ
片山MZも似たような病気発症してるよな
アスペに共通する病なのか?

961 名前:デフォルトの名無しさん [2015/07/03(金) 09:17:49.13 ID:aTUcbAAr.net]
WPFでDataGridのItemSourceにObservableCollection<MyData>をBindingしているのですが、
ObservableCollection<MyData>の特定のデータを変更した際に、DataGridのスクロールを変更があったデータの位置(行)に移動したいです。
どのようにすればいいでしょうか?

962 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 09:42:07.68 ID:3rp9Mnby.net]
>>925
ワロタ
たしかにそうだな

963 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 09:43:40.63 ID:mX8fKKOT.net]
VMの変更時にメッセンジャーとか使ってVに通知してScrollIntoViewすればいいんじゃない

964 名前:デフォルトの名無しさん [2015/07/03(金) 09:47:04.79 ID:aTUcbAAr.net]
>>929
ありがとうございます、やってみます

965 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 09:55:39.32 ID:xTjRlvwx.net]
>>930
ScrollIntoViewは仮想化切らないとマトモに動かないから中尉

966 名前:デフォルトの名無しさん [2015/07/03(金) 10:45:26.48 ID:JghQIuWO.net]
asp.net mvc でdbにsqliteを使うことはできますか?



967 名前:デフォルトの名無しさん [2015/07/03(金) 10:54:35.26 ID:aTUcbAAr.net]
>>931
ありがとうございます。
参考にさせて頂きます。

968 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 11:50:01.29 ID:7czX/gB0.net]
>>932
使えるって実用に耐えるかってことなら無理だね。
素直にSQL Serverを使うべき。

969 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 12:11:33.74 ID:SPEM/1YO.net]
>>920
インターフェイスは重い、仮想の方が速いってのが基本ではあるけど、最適化技術も進んでるので条件によってはほとんど変わらない。
まあでもやっぱり仮想の方が速いかな。

970 名前:デフォルトの名無しさん [2015/07/03(金) 12:23:00.35 ID:JghQIuWO.net]
>>934
実用に耐えれなくても大丈夫です。
sql serverだと勝手に色々

971 名前:やってくれて便利すぎるのでsqliteとかで中身理解しながら勉強したいなと思って []
[ここ壊れてます]

972 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 14:23:52.58 ID:rDeS7aaJ.net]
それはDBMSじゃなくてORMの問題かと
SQLServerでいいからEF使わないで直接DbConnectionでSQL投げたらいい

973 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 15:42:42.38 ID:7czX/gB0.net]
>>936
sqliteなんてサブセットだからちゃんとしたDBを学んだ人間が使うべきもの
勉強ならSQL ServerやPostgreSQLで学ぶべき

974 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 15:47:24.03 ID:uO8sjm4v.net]
別に何を使ったっていいだろ
sqliteはスタンドアローンで動くしユーザーやら何やらDBサーバー側の設定を気にせず使えるからとっかかりは楽だと思う

975 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 15:48:54.97 ID:lmzcW47C.net]
>>923
そうそうそうなんです、UIスレッドに戻ろうとして
Task.Waitで止まってます
わかりやすい、ありがとうございます
ってことは@ITのコードはコンソールアプリじゃないと機能しないようなものなんですね

976 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 15:51:50.93 ID:7czX/gB0.net]
>>939
じゃあそれでいいです。



977 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 16:06:51.66 ID:jZs8Gwbi.net]
だよな!

978 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 16:07:54.64 ID:lmzcW47C.net]
qwerty2501.hatenablog.com/entry/2014/04/24/235849
ここがすごくわかりやすく説明してた
上記サイトの一文
・基本的にはライブラリ内でawaitする場合はConfigureAwait(false)すること


自分の問題はここだった
WebPageをダウンロードするライブラリを利用するメインで
例外をキャッチしたかった

979 名前:デフォルトの名無しさん [2015/07/03(金) 19:24:19.48 ID:JghQIuWO.net]
>>937
まだ勉強不足なんですけと、dbcontextを継承してそれをいじくるんですかね?
来週色々試してみます!

980 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 19:58:43.81 ID:uMdddorU.net]
DBの勉強したいならEFの再発明を1回やっとけばおk

981 名前:デフォルトの名無しさん [2015/07/04(土) 02:55:41.29 ID:A6eGrjpU.net]
>>945
メンバ名とカラム名を自動で紐付けるような感じですよね

982 名前:デフォルトの名無しさん mailto:sage [2015/07/04(土) 12:41:38.87 ID:u/y4FI+O.net]
それだけじゃないけどな
クエリの動的生成やら更新の追跡やら自前でやると結構めんどくさいよ

983 名前:デフォルトの名無しさん [2015/07/04(土) 13:34:46.43 ID:YKtPOMLD.net]
更新の追跡ってなんですか??

984 名前:デフォルトの名無しさん mailto:sage [2015/07/04(土) 15:34:35.19 ID:Yn2KkVMN.net]
JavaのjBatchのようなバッチ処理のフレームワークありませんか?

985 名前:デフォルトの名無しさん mailto:sage [2015/07/06(月) 16:55:53.12 ID:y9JP5enm.net]
www40.atwiki.jp/spellbound/pages/1405.html

ここを見てストップウォッチを作っているのですが、うまくいきません

基本的な事が出来たのでテストすると、1時間までは正常表示されるのですが
1時間以上経過すると「分」を表示する部分が「2時間235分」とか表示されてしまいます

// start押したら計測開始
time_A += Time.deltaTime;
// Textコンポに表示
timer_A.text = Mathf.Floor(time_A / 3600f).ToString() + "時間 " + Mathf.Floor(time_A / 60f).ToString() + "分 " + Mathf.Floor(time_A % 60f).ToString();

やってる事はunityですが質問はC#だと思うので、こちらで質問させて頂きました
何かアドヴァイスを頂きたいのですが、どうしたらいいでしょうか?

986 名前:デフォルトの名無しさん mailto:sage [2015/07/06(月) 16:58:18.01 ID:YYyieqqT.net]
例えば2時間30分のときにtime_Aにはどんな値が入ってて、それを60で割って表示したらどんな値が出力される?



987 名前:デフォルトの名無しさん mailto:sage [2015/07/06(月) 17:08:41.01 ID:y9JP5enm.net]
>>951
time_Aには9000・・・?
60で割ると150ですかね
あまり自信ないです・・・

988 名前:デフォルトの名無しさん mailto:sage [2015/07/06(月) 17:12:12.71 ID:YYyieqqT.net]
>>952
150になるなら、2時間150分って表示されることになるだろ?だから150になるような計算じゃなくて30になるようにしないと駄目

989 名前:デフォルトの名無しさん mailto:sage [2015/07/06(月) 17:15:47.28 ID:Rsiji3ml.net]
ヒントは秒の所に

990 名前:デフォルトの名無しさん mailto:sage [2015/07/06(月) 17:17:33.59 ID:y9JP5enm.net]
>>953
あー・・・なるほど
たぶん分かったと思うので、試してみます
ありがとうございました。

991 名前:デフォルトの名無しさん mailto:sage [2015/07/06(月) 17:25:47.09 ID:yvuAj/xu.net]
>>950
まんまstopwatchクラスとかあるんだが

992 名前:デフォルトの名無しさん mailto:sage [2015/07/06(月) 21:42:25.14 ID:aXZfp9EM.net]
ま、誰もが一度は通る細道よ
もぞもぞっとしてああそうか、で終わりよ

993 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 08:30:09.15 ID:U6+aOXmn.net]
C#もメソッドの複数戻り値欲しい
対応する他の言語も増えてるんだし
あ、Tupleは論外です

994 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 08:41:53.84 ID:TS0XlDWE.net]
言語仕様にごちゃごちゃ言えるレベルかよ
コード書いてろよタコ

995 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 08:46:01.63 ID:ZxkWSQzJ.net]
その複数の戻り値を格納したクラスのオブジェクトを返せばいいだけでは

996 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 09:23:42.50 ID:pk39sm1t.net]
dynamicでむちゃくちゃシンプルに複数戻り値のメソッド記述できるだろ



997 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 09:53:13.21 ID:PjK/lpsq.net]
連想配列を使うのが流行ってる

998 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 11:46:55.79 ID:kBfZhVx2.net]
>>958
なぜ論外なのか教えてください

999 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 12:12:07.88 ID:qt5SIPya.net]
メソッドから複数の戻り値返せるような言語の例をあげて欲しいんだが

1000 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 12:15:50.25 ID:EDjn9D6L.net]
Go、Scala、python、perl、ruby

1001 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 12:17:20.40 ID:IXTBYhaq.net]
tuple返したらだめなん?

1002 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 12:18:44.80 ID:mRhwc0pv.net]
>>961
どうやるん?

1003 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 12:19:07.82 ID:sTXZljFQ.net]
>>960
それだと最大でメソッドごとにクラスが必要でクラスごとにプロパティを持つことになりますね
これが陳腐、非生産的なので複数戻り値をサポートする言語が増えています
>>961
dynamicは実行速度が低速なので論外です

1004 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 12:28:03.41 ID:WTwMH7IK.net]
C#にも匿名型があるじゃん

1005 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 12:30:19.81 ID:sTXZljFQ.net]
ほぅ、では匿名型で書いてみましょうか
どうなると思います?

1006 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 12:40:17.61 ID:qt5SIPya.net]
>>965
Goは確かにできるみたいだな。これは面白そうではあるけど
それ以外で直接、複数戻り値返せるのはなさそうだけど?
あくまで戻してるのは配列やリストだろ。それを複数変数に一括代入できるだけで
だったらC#でもオブジェクトの配列でも戻せば良いんじゃね
オブジェクト指向としての設計方針がどうなのかはしらんが

匿名クラスが戻り値に指定出来れば面白いかもしれんのだがなぁ
出来ない事は無いような気がするんだが、やらない方針なのか



1007 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 12:43:35.50 ID:pk39sm1t.net]
>>967
private void button1_Click(object sender, EventArgs e)
{
var packed = GetHoge ();
if (packed.IsOK)
{
textBox1.Text = packed.Name;
}
}

private dynamic GetHoge ()
{
return new { Name = "ほげ", IsOK = true };
}

1008 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 12:48:04.38 ID:TS0XlDWE.net]
うんこに触りまくりだなキミら

1009 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 12:49:18.70 ID:pk39sm1t.net]
>>968
速度が必要なところではクラスを使って問題ないところでdynamic
使い分けがめんどくさいなら他の言語に行けば

1010 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 12:54:29.41 ID:EDjn9D6L.net]
>>971
内部的にはどの言語も戻してるのは配列やリストだし、C#でも同じことはできるが
例えばperlなら下のように簡単にできるってのがメリットってだけだからな

sub a { return (123, "abc"); }
my ($aaa, $bbb) = a();

1011 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 13:00:51.91 ID:mRhwc0pv.net]
>>972
ありがとー
名無しクラスで

1012 名前:返すのか []
[ここ壊れてます]

1013 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 13:15:07.21 ID:qt5SIPya.net]
匿名型は型もってるけど、ダイナミックは結局Object型だからなぁ
結局のとこタイプセーフどうすのって話になるかと

なんか構想はあるみたいだな
https://ufcpp.wordpress.com/2015/02/11/c-7%E3%81%AB%E5%90%91%E3%81%91%E3%81%A68-tuples/

1014 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 13:20:39.70 ID:pk39sm1t.net]
>>977
>結局のとこタイプセーフどうすのって話になるかと
そこがね、結構な弱点ではある

1015 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 13:30:42.49 ID:HWlVqIKe.net]
>>966
というよりこの話題でタプルを別に考えなくていいやんと思う
タプル返すならそれでいいやんって思う

しかもrubyの場合は単にArrayなんじゃなかった?(あやふや)
それだとしてもそれでいいやんって思う

用は単にx, y = fと書きたいだけじゃないのみんな

1016 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 13:46:51.67 ID:mRhwc0pv.net]
>>979
publicなメソッドでitem1、item2、...はあかんわ



1017 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 14:48:50.22 ID:PIoug+Wj.net]
>>980
ごめん、C#のSystem.Tupleについては存在すら知らなかった
ocamlのタプルを勝手に想像してて
(x, y)やカッコも省略できるんでx, yもタプル
let a, b = (1, 2);;
こういうのを勝手に想像してたすまそ

1018 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 16:52:35.77 ID:qt5SIPya.net]
>>979
>用は単にx, y = fと書きたいだけじゃないのみんな
俺はこれは嫌だな。fにx,yが内包されている事がわからんから
これだったらそれこそf.item1,f.item2で良いわけで、今のタプルで良いかと
f.なになに で、名前と型が維持されてないとダメだ

1019 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 17:05:13.40 ID:qt5SIPya.net]
そういえば上の方で、タプルは
>言語レベルでのサポートがない言語で使うべきではない
って力説してた人がいたなぁ

dynamicは遅いから論外だって言ってるけど
>>958がタプルを論外だと言う理由は何だろ

1020 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 17:39:44.26 ID:gSeUuLQi.net]
>>982
あぅ…つくづくスマン

> x, y = f

これは f() の意味ね
あなたの論旨に対して瑣末なことではあるが一応訂正しとく

1021 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 20:16:16.46 ID:fVR/pyHV.net]
ふらふらっと

1022 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 20:56:38.80 ID:n0YcJJeB.net]
次期バージョンで複数戻り値がサポートされそうってのがあったけどいつの間にかなくなったしな

1023 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 23:21:04.78 ID:pk39sm1t.net]
>>983
きっとitem1、item2...ってなるのが気に入らないんだよ

1024 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 23:35:34.00 ID:LHx3NAum.net]
まぁそれでもないよりはましなのかなC#にとって
C++でもpairってやっぱ、要所要所で欲しいし
白状するとC#でもpair<T1,T2>みたいなん作って使っちゃってます
first, secondってのも名前としてはまぁそうなるよねって感じ
item1, item2...とそう変わるもんじゃあない

1025 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 23:41:44.85 ID:oR9xV2kd.net]
>>983
あれはタプルって読むのか。
ずっとチュープルだと思っていた。
tupleなんて使わないよなあ。
必要なら構造体を定義する方が分かり易いし。

1026 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 00:23:28.32 ID:k/qBkFOv.net]
しかも構造体なら値型だしね
多くの場合そっちのほうが望みどおりだろう



1027 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 00:49:17.62 ID:8+ik3mP9.net]
静的型付けとかJITとかのあたりの仕組みが全く理解できなくてワロタwww・・・

どうすればいいですか・・・?

1028 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 00:59:06.73 ID:drHIjVcg.net]
>>989>>990
数学の世界ですら
円の方程式ならy=±√(r^2-x^2)で解は2つ、三次方程式なら解は3つといった具合に、純粋関数が複数戻り値を返す
タプルの概念自体を否定するのはおかしいし、それを構造体やクラス化するのもまたおかしな話し
数学というモデルが存在する以上、いずれC#も対応せざるを得ないんじゃないのかな

1029 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 01:07:25.57 ID:889KT988.net]
√2などを表現できる数値型がないとおかしい
まで読んだ

1030 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 01:22:35.57 ID:K3Unqfxi.net]
あれば使うだろうが無けりゃ無いでどうでもいいわ
無いとプログラム書けない奴はコールドスリープにでも入って50年後に目覚めてろ

1031 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 01:54:58.88 ID:4m9Vq9W3.net]
>>986
>977のissueはまだ続いてるみたいだし、なくなったって訳じゃないんじゃね?
割と大きな変更になりそうだから後に回されただけで。

1032 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 01:59:21.89 ID:PAkk6Hqa.net]
>>992
数学とプログラミングを無理矢理に
関連付けてヘンテコな説を唱えて
一人悦に入って居ればいいよ。

1033 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 06:17:01.48 ID:7qvaXLbV.net]
数学に可読性や保守性なんていう概念はないだろう
数学だとほとんどの場合一文字変数しか使わないけど、
だからってC#でも常に一文字変数を使うべきだと?

1034 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 09:09:41.81 ID:wIKfbX0j.net]
皆の希望を全部いれた言語なんてろくなモンにならん

1035 名前:980 mailto:sage [2015/07/08(水) 16:34:36.23 ID:K7cQm9JH.net]
次スレってどうやって立てるんだ
新規スレッド作成画面から作成したはずなんだが

1036 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 16:46:33.07 ID:HMKJDSG5.net]
>>999
したはず ってことは、もう勃ってるんだろ?
リロードすればいいだろ。



1037 名前:980 mailto:sage [2015/07/08(水) 16:48:45.27 ID:K7cQm9JH.net]
したはずなんだが出てこない
2回やっちまったけど、これで出来てなかったら誰か頼むわ

1038 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 17:42:08.39 ID:rwtUEn+Z.net]
peace.2ch.net/test/read.cgi/tech/1436344868/
立てたよー

>>1001
なんか立てたはずなのに立ってないってのがちょくちょくあるっぽい

1039 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 18:11:25.27 ID:t2tbnUcj.net]
せん

1040 名前:1001 [Over 1000 Thread.net]
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

1041 名前:過去ログ ★ [[過去ログ]]
■ このスレッドは過去ログ倉庫に格納されています






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<242KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef