X



ふらっと C#,C♯,C#(初心者用) Part131 [無断転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2017/09/08(金) 18:12:11.06ID:Ej7G00WU
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。

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

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

なお、テンプレが読めない回答者は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください

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

■前スレ
ふらっと C#,C♯,C#(初心者用) Part130
https://mevius.2ch.net/test/read.cgi/tech/1500327645/
■関連スレ
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/
2017/09/18(月) 22:10:50.50ID:BIiVnPJO
>>344
コンストラクタでは初期値だけ入れて、newする時にプロパティに代入するのが良いと思う。

var trade = new Trade()
{
 stock_code = X,
 trace_type = Y,
....
};
2017/09/18(月) 22:21:57.04ID:HjSStS87
>>348
確かにそっちのが簡潔ですね・・・
元々長いのと後々追加する時を想定して少しこの辺りいい方法無いかなって模索してたので
>>349
Factoryは知りませんでした、調べてみます
>>351
こういうやり方のがすっきりしてそうですね、見た目も分かりやすそうな感じがします
ただsetはこれだとpublicですが、private運用のがいいのかとか考えていました。
プロパティ使って代入ってよくある使い方なのでしょうか?
2017/09/18(月) 22:25:06.53ID:HjSStS87
>>350
これも使い方調べてみます
2017/09/18(月) 22:42:34.01ID:HjSStS87
>>352
一先ず、プロパティのset使って運用しようかと思います
後々何かいい形に出来そうなら変更していこうかと思います
回答下さった皆様、ありがとうございました
2017/09/18(月) 22:49:09.22ID:IKMu/QN7
パラメータークラス作ってそれに全部値入れて渡せば?
2017/09/18(月) 22:51:27.14ID:IKMu/QN7
object[]で渡すなんてバグの温床だよそんなもん
自分で呼び出すときと処理書くときに困るだけだ

初心者なら普通に関数書くほうがいい
2017/09/18(月) 23:04:27.54ID:vOYXlSBd
直接プロパティを設定するのはあまり良くないよ
いつ外から書き換えられるかわからず、それに対応できるように作るのは無駄に手間がかかるしテストもクソ面倒になる
結局、いつでもプロパティを書き換えられるように見えるくせに初期化時以外に書き換えたら壊れる糞みたいなクラスが出来上がる
2017/09/19(火) 00:12:55.89ID:UFvzWEfw
>>344
証券会社どこに対応?
2017/09/19(火) 01:11:24.64ID:OkajuEzq
>>358
そういうのとは違うみたいよ
https://books.google.co.jp/books?id=HOiNAwAAQBAJ&;pg=PT87#v=onepage
2017/09/19(火) 06:59:39.45ID:+o0BYr/j
>>359
なるほど
2017/09/19(火) 20:36:01.35ID:dvJOAkmr
メソッドの戻り値がListで、その中身を可変にした定義がしたいのですができますか?

インターフェースで List<Type> Select<Type>() と定義して
具象クラスで同じように定義、return List<string>(); とかやっても
"List<string>をList<Type>に暗黙的に変換できません。"とエラーになってしまいました。
362デフォルトの名無しさん
垢版 |
2017/09/19(火) 20:38:26.15ID:sbE0HbQy
linuxサーバーに好きな言語使ってwebアプリ作れって言われたら、言語何使う?
2017/09/19(火) 20:46:10.64ID:HSXd4/vW
>>361
何言ってるのか分からないけど、自分で(メソッドの戻り値の型を)可変にしたいといいつつ、
List<string>という非ジェネリックな型を返すのは何なの?

意味がわからないよ
2017/09/19(火) 21:37:01.96ID:oUqqEkrK
>>362
それをなぜここで聞く?
2017/09/19(火) 22:12:23.33ID:ekU6MC2y
>>361
まずTypeじゃなくてT使うように

メソッドのシグネチャーが
List<T> Select<T>()
なら実装は
return new List<T>();
2017/09/19(火) 23:49:48.63ID:WGzo2g/5
TabPageクラスを拡張してTabPageExクラスを作ったんですがTabControl.TabPages[index].Foo()を呼ぼうとしても呼べません
どうやったら呼べるようになりますか?TabPageCollectionを派生したクラスを作らないとダメですか?
2017/09/19(火) 23:53:29.45ID:3bAYaO8L
どうやっても呼べるようにはならないですよ
2017/09/20(水) 00:00:37.73ID:pKHwkxOR
>>366
拡張した内容が分からない
まず拡張したクラスでなく元のコントロールで呼び出していないか確認
その上で拡張した内容を張らないと誰もわからない
2017/09/20(水) 00:05:28.12ID:pKHwkxOR
あ、TabControl.TabPages[index].Foo()の時点で元のコントロールだな
それはだめだ
2017/09/20(水) 00:21:20.04ID:OL4nI+z3
失礼しました。拡張した内容ですが以下のとおりです
タブブラウザを作りたいのでこういう風にしました
TabPageクラスにGoBack、GoForwardメソッドを実装しそれをメインフォームのボタンから呼びたいのです
そのためにはtabControlでどのタブが選択されているか取得しないといけないので苦労しているところなのです


TabControl
https://ideone.com/5QXD2p
TabPage
https://ideone.com/d9v3vu
MainForm
https://ideone.com/bByZtw
2017/09/20(水) 03:50:11.03ID:OL4nI+z3
無理なんですね、わかりました
やりたいことは各TabPage上にWebBrowserがあるのですがその進む戻るボタンをToolStrip上に実装したいのです
どうにか実装する方法ってないでしょうか?
2017/09/20(水) 06:47:27.86ID:f7lGjoxP
グローバルフックの事を学びたく、
http://d.hatena.ne.jp/myugaru/20071130/1196434749
にあるソースを実行したいと思います

新規でコンソールアプリのプロジェクトを作り
Formを追加し
ソースをネームスペース以外コピペして、エラー無くデバッグで立ち上がるも、コンソールとFromは出るものの、なんの反応もありません
「Visual Studio ホスティングプロセスを有効にする」を外せとのことですがVS2017Communityではその項目が見当たりません
デバッグでなくビルドしたexeでも同様です

どう改変したら動くようになりますでしょうか?
よろしくお願いいたします
373デフォルトの名無しさん
垢版 |
2017/09/20(水) 09:28:35.33ID:QOv/22JC
>>370
まあ単純には、
var tabex = TabControl1.TabPages[x] as TabPageEx;
if (tabex != null) {
...
}
でもいいんじゃね
2017/09/20(水) 10:09:23.61ID:QOv/22JC
>>374
普通に動いたわ
新規プロジェクト作成でWindows Formsアプリケーションを選択
Form1.csを削除
Program.csを開いて既存のコードは削除してからリンク先のコードをペースト
F5
VSをアクティブにして出力ウィンドウにフォーカス移動して適当にキー入力するとmessage=KEYDOWNとか出力される

VS2017はホスティングプロセスがなくなったっぽい
ちなみにホスティングプロセスで動いてるかどうかは
デバッグ実行中にタスクマネージャ開いて
hoge.exeの代わりにhoge.vshost.exeが動いてるかどうかで判断できる
2017/09/20(水) 18:54:31.86ID:EHoWpSXt
>>374
ありがとうございます
できました
2017/09/20(水) 21:35:02.01ID:PQ6KY/LI
test
2017/09/20(水) 21:35:49.94ID:PQ6KY/LI
https://github.com/chomado/Xamalist/commit/1422a3eb2a80bba53b43afa3ea8afdb5d689cf55
このコードについて質問です

StringExtentions っていうのをなぜ改めて作っているのかわからないんですが
クラスの中にString型のオブジェクトがあれば、IsNullOrEmptyを呼び出せないの?
2017/09/20(水) 22:16:03.45ID:DOSxYj0U
>>377
static methodだからインスタンスメソッドとしては呼び出せない
String.IsNullOrEmpty(foo) と foo.IsNullOrEmpty の違い
379デフォルトの名無しさん
垢版 |
2017/09/20(水) 22:42:10.58ID:eNb8jX7J
今となってはFormアプリケーションの作り方を覚えても無駄でしょうか?
現場でGUIアプリケーションはどのように作りますか?
2017/09/20(水) 22:54:26.15ID:JtkVUIC7
その現場による
2017/09/20(水) 22:55:28.94ID:eNb8jX7J
防衛省案件とかはどうでしょうか?
2017/09/20(水) 22:56:02.60ID:eNb8jX7J
Qt?
2017/09/20(水) 23:13:28.76ID:FueCi3Km
>>379
未だにそれよ
無駄にはならないよ
なんだかんだいって仕組みは一緒だから
2017/09/21(木) 08:27:22.37ID:3ejzg6/y
>>373
できました。ありがとうございます。

>>370を作る過程でマウスの中クリックでWebBrowserのタブ追加を行う際にTabControlクラスのメソッドを呼ばないと行けないんですが、この場合どうするのがいいのでしょうか?
・TabControlクラスのメソッドをTabPageクラスのコンストラクタに渡し、さらにWebBrowserのコンストラクタに渡す
・TabControlクラス内でパブリックな静的インスタンスを保持するプロパティを作成し、その静的インスタンスを介しWebBrowserクラスからメソッドを呼び出す
2017/09/21(木) 08:29:37.61ID:3ejzg6/y
>>384
途中送信してしまいました
設計上はどちらが優れているのか教えてほしいです
また他にいい案ありましたらお願いします
2017/09/21(木) 10:32:53.97ID:qZmCICJB
Parent.Parent
2017/09/21(木) 18:06:25.21ID:JtwQpz4i
>>383
それ聞いて安心したよ。ありがとう。
まずはFormアプリケーションを勉強することにした。
2017/09/22(金) 07:06:24.08ID:2m2DZ4nM
質問です
宜しくお願いしいます

アプリ設定の保存の最も初歩的な所から勉強しようと思っているのですが
http://qiita.com/taigaaa2/items/7f05ad950a57033892ae
↑が一番単純な構造で分かりやすいと思い、記述通りに設定し、ソースも必要部分をコピペで入力
エラーもでずにアプリも走りますが、設定を読み込んでいない(Projects\Hoge\Hoge\bin\Debug内のHoge.exe.configを弄っても何も反映されない)
保存もされていない(user.configがどこにも作成されていない)という状況です

どこか他に設定箇所があるのでしょうか?
よろしくお願いします
2017/09/22(金) 08:12:54.86ID:+YP/tqCe
>>388
ありがちなのは
Properties.Settings.Default.Save();
が抜けている
2017/09/22(金) 08:34:32.57ID:VB7mr2jw
ありがとうございます

private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
Properties.Settings.Default.HozonString = this.txtHogeString.Text;
Properties.Settings.Default.HozonInt = int.Parse(this.txtHogeInt.Text);
Properties.Settings.Default.Save();
}
この部分の最終行ですよね?
書いてあります
2017/09/22(金) 08:50:55.65ID:VB7mr2jw
HozonStringに値を入れても反映されません…
なんかこのシステム自体が動いてないような…
2017/09/22(金) 08:52:07.52ID:KxUIJ/0F
>>388
そのページはデザイナの設定が書いてないがLoadとFormClosingのイベントの設定はしてある?
2017/09/22(金) 09:06:14.05ID:VB7mr2jw
>>392
ありがとうございます
それでした!
Formのプロパティーとかもデザイナー使わないで設定する方法ばかりやってたんで、
デザイナーの方でハンドラの設定してないのすっかり忘れてました

LoadもFormダブルクリックするのすっかり忘れて…お恥ずかしい

ありがとうございました
凄く助かりました
2017/09/22(金) 09:10:59.92ID:KxUIJ/0F
>>393
初心者向きのようで初心者が書いて大事な部分が抜けているページだな
面倒でも他の所参考にした方がいい
https://dobon.net/vb/dotnet/programing/mysettings.html
とか
2017/09/22(金) 09:13:00.30ID:XETG01Ra
データベース接続文字列ってあんな長いの手動で書くものなんでしょうか?
自動出力とかないのですか?
2017/09/22(金) 09:19:19.37ID:L886aacT
長いか?
長い奴でも2〜3行程度しか書いたことないけど
2017/09/22(金) 10:29:26.18ID:/H9tPbO8
データベースへの接続のウィザードとか使えば接続文字列勝手に作ってくれるだろ
2017/09/22(金) 10:33:15.19ID:eYJEmi08
>>395
DbConnectionStringBuilderからの派生クラス使うとか
Dictionary形式だから項目多いなら管理楽になるけど
2017/09/22(金) 10:37:52.34ID:usj2bMF0
接続文字列は全世代の遺物なんだけど
誰も改善しようとしない

ローカルルールだからけの文字列をわざわざ考えて
それをまたどこかでわざわざパースしてるんだから馬鹿らしい

connectionStringBuilderとかあるけどあれは文字列作って
それをまたパースしてるんだから同じく馬鹿らしい
2017/09/24(日) 07:01:15.21ID:fnb/dDo2
>>386
ありがとうございます
取り掛かっているのですがマウスのホイールクリックで新たなタブとして開きたいのですが
WebBrowser.Document.Clickイベントで躓いています
WebBrowser_DocumentCompletedイベントに「Document.Click += Document_Click」をの一文を追加し
Document_ClickイベントのマウスのHtmlElementEventArgs.MouseButtonPressedでホイールクリックを検知しようとしたところ
左クリックでも中クリックでも右クリックでもNoneと表示されています
WebBrowserのDocument上で中クリックを検出するにはどうすればいいでしょうか?
2017/09/24(日) 07:46:57.15ID:0E5Ac8qe
すみません
変な質問かもしれませんが、宜しくお願いします

Label hogehoge = new Label
とhogehogeというインスタンスのLabelを作ったとします
プロパティーで名前は指定していません
他のプロパティーも空という前提でお願いします

このLabelのダブルクリックでイベントハンドラーを作り
イベントの中に
Console.WriteLine(((Label)sender).Name);
としても当然名前は出てきません
この時、hogehogeというLabelを識別する文字列を取得したいのですが(この場合hogehogeが一番良い)、インスタンス名を取得 と検索しても出てこずです
名前の付いてないControlを識別する文字列を取得するにはどうしたら良いでしょうか?
Console.WriteLine(((Label)sender).〜のところに使えるいろんなコードをスニペットで調べてもそれっぽいものが無いのですが
そもそも名前を付けとけというのは別として、なんらかの方法で識別する文字列を取得できますか?

よろしくお願いします
2017/09/24(日) 07:59:04.31ID:8QRYtBFv
nameofじゃね
2017/09/24(日) 08:19:31.40ID:Iu73uVEK
ないよ
欲しいなら自分で付けとけとしか言いようがないね
というかそもそも識別するのに名前である必要がある? ってところから検討しないと
2017/09/24(日) 08:20:29.03ID:8QRYtBFv
デバッグ用に出したいときあるじゃん
2017/09/24(日) 09:00:09.85ID:N5BpuRhH
>>401
名前以外で固有ってハンドルくらいじゃね?
自動生成とかで名前を付ける手間を省きたいとかなら>>403の通り名前である必要が無いし
2017/09/24(日) 09:27:14.32ID:0E5Ac8qe
>>404
自分もデバッグ用にと思ったんです

>>403>>405
どうもありがとうございます
やはりなさそうですね

色々実験している時に、一度何かの間違いで、forのLoopの中で、インスタンス名?も名前も変えないControlを複数作って配置したことが有って、
何故かそのまま動いて、それぞれ個別に識別してるようなので、何が別の識別要素でもあるのかな?と思ってお伺いしました
ありがとうございました

>>402
nameofは新しいものらしく、情報が少なくて私には使い方がよくわからず
ちょこっと説明みたところ「メンバ hogeの名前は"hoge"」…みたいな使い方?
入り口の入り口にいる自分には何が何やら
nameof(sender)をやってみたら"sender"出ましたw
nameof((Label)sender)は受け付けてもらえませんでした
2017/09/24(日) 11:36:28.18ID:T/MiKQPL
変数名を取得したいんじゃなくて
インスタンス作成時にコントロールのNameプロパティに変数名を自動でセットしたいの?

そんな機能は存在しないから自分でシコシコ手書きでやっとけ
2017/09/24(日) 11:55:06.77ID:1OC4vxE7
リフレクションでもないんかな?
msのコントロールにもインスタンス突っ込むとメンバ名が出てくるのあるけどね
変数名は無いのか
2017/09/24(日) 11:55:11.39ID:E+MF96aa
リフレクションでもないんかな?
msのコントロールにもインスタンス突っ込むとメンバ名が出てくるのあるけどね
変数名は無いのか
2017/09/24(日) 12:00:44.73ID:NHAiERWm
ローカル変数名なんてILに残らないし流石にリフレクションは無理なのでは
2017/09/24(日) 12:27:00.23ID:N5BpuRhH
Name属性がなくてもsender==label1とかの識別ならできるけど中でハンドル比較しているんじゃないかな
だからどうしても出したかったらフィールドの一覧から一致するハンドルを探せばできなくはない
2017/09/24(日) 12:40:22.57ID:g05veIjA
>>406
Formに配置したコントロールは、Controlsプロパティで取得出来る。
Controls.Where( x => x is Label )とかやればLabelコントロールに絞り込めるけど、それ以上は判別しようがないな。
2017/09/24(日) 12:41:57.70ID:6oSExpao
設計が間違ってる
2017/09/24(日) 13:12:02.52ID:U4nAGnPY
設計なんて大げさなものじゃなく、考え方が間違ってるねw
なんか盛大に勘違いしてるというか

なぜNameをIDにしたいなら素直にNameを設定しないのか意味が分からない
何がしたいの
2017/09/24(日) 15:12:59.43ID:KcVpSqdX
変数名とNameで2回hogeと書くのが冗長だってんでしょ
是非についてはどうでもよすぎるのでコメントしない
鼻くそでもほじってる方がマシ
2017/09/24(日) 16:08:08.69ID:F2yzHt0b
変数名は前まではプログラムする人のためにあって
実行環境まで残ってないものだった

最近は変数名が残るようになったので使おうとする人が多いけど
もともとそういう種類のものじゃないんだよ
2017/09/24(日) 22:08:09.82ID:fnb/dDo2
>>400もどなたかお願いします
2017/09/25(月) 01:09:43.42ID:T67/GWI3
自己解決しました。
Document.ClickイベントではなくDocument.Linksのほうに一つずつMouseDownイベントを追加することでできました
これは解決済みなのですが、すっきりしないので確認させてください
Document.LinksのMouseDownイベント内でDocument.GetElementFromPointメソッドに渡す引数ですが、
MousePositionやOffsetMousePositionを渡すようにしているページがかなりあったのですが、どっちも使えずでClientMousePositionを渡すようにしたのですが
.NETのバージョンがあがるにつれ、変わったのでしょうか?
2017/09/25(月) 02:40:11.77ID:60Ft387g
パネルに画像などを追加していった際、描画範囲より外に出てしまった場合に
AutoScrollをtureにするとスクロールバーが表示されますよね?
縦方向のスクロールバーが本来は右側に出ると思うのですが、左側に出てしまいます。
すごく違和感があるので右側にしたいのですが、調べてみても特に設定する方法がみつからないのですが、
なぜなんでしょうか?
2017/09/25(月) 02:44:47.14ID:1vb5e8br
RightToLeftとRightToLeftLayoutのプロパティをいじったとか
2017/09/25(月) 02:47:25.81ID:60Ft387g
>>420
無事解決しました。
プロパティを触っているときにうっかりRightToLeftをYesにしてしまっていたようです、ありがとうございました。
2017/09/25(月) 08:12:41.42ID:OL/9MGvm
質問です。ボタンの外観が変わらないのです。
http://or2.mobi/data/img/171707.png

画像の左側がデザイン時、右側がデバッグ時です。
左側のデザイン時にしたいのですがどうしたらいいですか?
FlatStyleを変更しても変わりませんでした。
2017/09/25(月) 08:37:25.13ID:mAOi1uCH
右もカッコイイよ
2017/09/25(月) 09:02:15.47ID:IwLQLx8X
Application.Runする前にApplication.EnableVisualStyles()呼んでる?
2017/09/25(月) 09:09:36.99ID:OL/9MGvm
>>423 >>424
ありがとうございました。解決しました。
2017/09/25(月) 13:11:47.58ID:T67/GWI3
何度もすいません
TabControlとWebBrowserを使用し、タブブラウザを作っているのですがFirefoxのアドオンにあるツリー型タブのようにツリー構造(親タブ子タブ)みたいにしたいのですが
どのようにすればできるのでしょうか?TabControlでは無理なのでしょうか?
2017/09/25(月) 13:49:11.12ID:IwLQLx8X
無理ではないかもしれんが一から作ったほうが早そうというかストレス少なそう
2017/09/25(月) 14:09:40.48ID:mAOi1uCH
よし、じゃあ、TabControlのラベルのフォントを大きくして見るんだ!
2017/09/25(月) 14:52:47.35ID:jVT7FFhT
みんな苦労して勉強して自分の作りたいものを作ってんじゃないの?
それを一言でどうすればいいんですかって虫が良すぎる気がする

ツリー型タブってどういうものか知らないけどちょっと画像見たら
ただアイテムが親子関係がありそうに見えるように作ってあるだけに見える

あああ
いいい
うううう



あああ
 いいい
 うううう
にしただけ
まあタブの機能は自分でなんとかするしかないね
2017/09/25(月) 15:20:54.06ID:WRsfbJvs
コレのことかー
https://addons.mozilla.org/ja/firefox/addon/tree-style-tab/

wpfのtreeviewのスタイル作り込めば何とか成るかもしれんね
2017/09/25(月) 18:10:02.71ID:T67/GWI3
一から作るということが想像できませんでした。
インデント?ツリー構造?どうやって作ればいいんだろうという感じです。
どういったことを勉強すればよいでしょうか?
2017/09/25(月) 18:42:41.37ID:ZfFz64Lf
>>431
上に書いてもらってるじゃん
ツリー構造はTabControlじゃどう考えても無理だから「一から作ったほうが早そう」ってなるんだよ
2017/09/25(月) 18:55:16.09ID:ON9Li960
自分でやったことないのに無責任に言うけど、Windows FormならTreeViewを
継承して拡張でいけるんじゃない?

なんなら素のTreeViewでも機能的な要件は満たせるよねたぶん
2017/09/25(月) 23:37:09.27ID:y0MyGTE+
Linqについてなのですが
List<int> list = new List<int> {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
のようなListを
{0, 1, 2} {1, 2, 3}{2, 3, 4}・・・{8, 9, 10}
のような感じで取得しながらLinqを記述する方法ってあるのでしょうか?

Take(3)やWhereの組み合わせで出来るのか、Indexをあらかじめ列挙して対応させるしかないのかと考えています
Linqで書かない場合はコードは長くなりますが書ける状態です
2017/09/26(火) 00:05:24.65ID:lY8FoU4I
>>434
Ix(Interactive Extensions)のBufferに似てるけどそのまま使えないので、
自作の拡張メソッドでも作れば?
2017/09/26(火) 00:37:08.59ID:fvF/8EVL
>>434
これ
https://stackoverflow.com/a/4660669
2017/09/26(火) 00:42:46.55ID:9BhvI/Vw
>>435
>>436
forとYieldでこの形に出来るんですね
望み通りの動きの上、コードもスッキリしてて凄いです
ありがとうございました
438デフォルトの名無しさん
垢版 |
2017/09/26(火) 02:27:19.94ID:WWZ5IF5C
VisualStudio2017でスニッペトが壊れました。
cw tab tabでConsole.WriteLine()となるべきがconstになっちゃいます!
どうすれば直りますか?
2017/09/26(火) 03:52:06.10ID:jDIKRy4A
VS2017で勉強してます
https://msdn.microsoft.com/ja-jp/library/bb546972(v=vs.110).aspx
このページのドキュメントアウトラインでColumnDefinitionsなどの要素が表示されません
https://i.imgur.com/I7U1sSH.jpg
Glidを展開しても3個の配置したControlしか表示されません
バージョンの違いなのかとも思うのですが、詳細を表示するにはどうしたら良いでしょうか?
2017/09/26(火) 08:27:29.19ID:Vyr7hCJe
LINQが使えるって言えるのってどのくらいから?
Select、Where、Orderbyが使えたら使えるって言ってもいいんかな?
2017/09/26(火) 09:26:15.62ID:po+Ovxs3
>>440
joinもgroup byも必須
SQLは開発者の常識だから、一通り使いこなせないとできるとは見做されないよ
まずはSQLの本で普通にSQL覚えるのがいいのでは
LINQより遥かに重要だよ
2017/09/26(火) 09:51:36.95ID:QFKO2nVy
テーブルレイアウトパネルを動的に追加し
列の幅をパーセントで指定しようと思ってます
https://ideone.com/lK68fg
の16行目で
インデックスが範囲を超えています。負でない値で、コレクションのサイズよりも小さくなければなりません。
とエラーが出て止まってしまいます
同行を
testLayoutPanel.ColumnStyles[0] = new ColumnStyle(SizeType.Percent, 50);
と置き換えても同じです

ColumnCount = 2;
としているので、インデックス0でエラーが出るのがよくわかりません
何を間違えているのでしょうか?
よろしくお願いします
2017/09/26(火) 10:48:03.73ID:Qq96jDlV
>>441
LINQは別にSQLの代わりじゃないのだが
2017/09/26(火) 10:54:58.16ID:pyoVGWZW
LINQ=クエリと勘違いしてLINQ毛嫌いする人多いから困るわ
2017/09/26(火) 11:06:45.24ID:iExFW+NQ
LINQのQはqueryなんですが...
どうでもいいんだけどメソッド形式をLINQと呼ぶのも変だよね
MSって昔から用語をないがしろにしてるよね。
2017/09/26(火) 11:19:38.72ID:yUnVCaTy
???
447デフォルトの名無しさん
垢版 |
2017/09/26(火) 11:24:26.71ID:KX2+W8jQ
LINQは検索とソートと重複除去でとっても便利!みんなも使ってね!
2017/09/26(火) 12:02:41.55ID:Vyr7hCJe
なるほどありがとう
今思い出しながらGroupByとJoin戦ってるけど使い方わからん
SQLのやつならわかるけどLINQでどう書くんだ?

var list = new[] {
new {Name = "A", Uri = 150},
new {Name = "A", Uri = 160},
new {Name = "B", Uri = 16},
new {Name = "B", Uri = 1000},
new {Name = "B", Uri = 1000}

};

var query = list.Where(x => x.Name == "A").GroupBy(x => x.Uri);

foreach(var union in query)
{
Console.WriteLine("Name = {0}", union);
}
2017/09/26(火) 12:11:59.40ID:Qq96jDlV
>>445
なぜ変なの?言語(language)に統合された(integrated)クエリ(query)だろ?
2017/09/26(火) 12:39:26.31ID:iExFW+NQ
>>449
説明必要?
統合された結果出来たのはクエリ式。

ただのメソッド呼び出しが「言語に統合」なんかされてるわけないでしょ
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況