!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為)
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください
>>980を踏んだ人は新スレを建てて下さい。>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっと C#,C♯,C#(初心者用) Part144
https://mevius.5ch.net/test/read.cgi/tech/1563258983/
■関連スレ
C#, C♯, C#相談室 Part95
https://mevius.5ch.net/test/read.cgi/tech/1508168482/
■コードを貼る場合は↓を使いましょう。
http://ideone.com/
https://dotnetfiddle.net/
■情報源
https://docs.microsoft.com/ja-jp/dotnet/standard/class-libraries
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/index
https://docs.microsoft.com/en-us/dotnet/standard/class-libraries
http://referencesource.microsoft.com/
・Insider.NET > .NET TIPS - @IT
https://www.atmarkit.co.jp/ait/subtop/features/dotnet/dotnettips_index.html
・DOBON.NET .NET Tips
https://dobon.net/vb/dotnet/index.html
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
探検
ふらっと C#,C♯,C#(初心者用) Part145
レス数が950を超えています。1000を超えると書き込みができなくなります。
1デフォルトの名無しさん (ワッチョイ 1e7b-qjLW)
2019/10/07(月) 20:16:17.93ID:9eyAES450874デフォルトの名無しさん (ワッチョイ 13b9-0DuE)
2019/11/23(土) 23:40:24.93ID:6Id8VYs40 >>872
サンプルを書いてくださっていたのですね。大変失礼いたしました。
ただ、やはり Lazy<T> を使うメリットが理解できずにいます。
MyStatic が初期化される時点で _highCost が初期化されて、
その後すぐに _highCost.Value が呼び出されるのであれば、
>>861 に書いていただいた方法で十分な気がするのです。
>>873
おっしゃるとおりだとおもいます。
ところで少し考えてみて、場合によっては冗談ではなく
public static double X, Y = InitializeYAndX();
static double InitializeYAndX()
{
var v = HighCostMethod();
X = Math.Sign(v);
return Math.Abs(v);
}
みたいな書き方が選択肢になり得ることもあるような気がしてきました。
もしくは、実際にはフィールドは readonly にしたい場合が多いと思うので
public static readonly double X, Y = InitializeYAndX(out X);
static double InitializeYAndX(out double x)
{
var v = HighCostMethod();
x = Math.Sign(v);
return Math.Abs(v);
}
のような感じとか。
サンプルを書いてくださっていたのですね。大変失礼いたしました。
ただ、やはり Lazy<T> を使うメリットが理解できずにいます。
MyStatic が初期化される時点で _highCost が初期化されて、
その後すぐに _highCost.Value が呼び出されるのであれば、
>>861 に書いていただいた方法で十分な気がするのです。
>>873
おっしゃるとおりだとおもいます。
ところで少し考えてみて、場合によっては冗談ではなく
public static double X, Y = InitializeYAndX();
static double InitializeYAndX()
{
var v = HighCostMethod();
X = Math.Sign(v);
return Math.Abs(v);
}
みたいな書き方が選択肢になり得ることもあるような気がしてきました。
もしくは、実際にはフィールドは readonly にしたい場合が多いと思うので
public static readonly double X, Y = InitializeYAndX(out X);
static double InitializeYAndX(out double x)
{
var v = HighCostMethod();
x = Math.Sign(v);
return Math.Abs(v);
}
のような感じとか。
875デフォルトの名無しさん (ワッチョイ 6963-+jxl)
2019/11/24(日) 00:02:41.75ID:kdnOmkRS0 >>874
個人的に警告を回避するために普段しない書き方をするのは違うと思う
警告の内容を理解し、それが今回のケースでは問題ないと判断できるなら遠慮なく警告を抑制していいと思う
プログラム起動時に自動的に初期化されるstaticとプログラマが初期化タイミングを制御できるsingleton
起動コストが問題なくてstaticが妥当なら警告抑制を選択するかな
個人的に警告を回避するために普段しない書き方をするのは違うと思う
警告の内容を理解し、それが今回のケースでは問題ないと判断できるなら遠慮なく警告を抑制していいと思う
プログラム起動時に自動的に初期化されるstaticとプログラマが初期化タイミングを制御できるsingleton
起動コストが問題なくてstaticが妥当なら警告抑制を選択するかな
876デフォルトの名無しさん (ワッチョイ 9301-wiXz)
2019/11/24(日) 00:02:47.40ID:ajYX9vGJ0 >>874
LowCostMethodも追加してみた
https://dotnetfiddle.net/Be6wMy
名前の通りLazy LoadingとかLazy Initializationとかいうのをするためのもので
必要になった時に初期化されてなければ初期化して、初期化済みなら初期化済みの値を使う
MyStaticクラスが初期化される時点で_highCostが初期化されるわけではない
getプロパティで
if ( cache == null ) { cache = HighCostMethod(); }
return cache;
するのと意味的には同じでdefaultでthread-safe
詳しくは>>862の2つ目のリンクに書いてある
あともし他人も使うコードなら潜在的に高コストな処理は
フィールドやプロパティじゃなくメソッドにしといたほうが無難
LowCostMethodも追加してみた
https://dotnetfiddle.net/Be6wMy
名前の通りLazy LoadingとかLazy Initializationとかいうのをするためのもので
必要になった時に初期化されてなければ初期化して、初期化済みなら初期化済みの値を使う
MyStaticクラスが初期化される時点で_highCostが初期化されるわけではない
getプロパティで
if ( cache == null ) { cache = HighCostMethod(); }
return cache;
するのと意味的には同じでdefaultでthread-safe
詳しくは>>862の2つ目のリンクに書いてある
あともし他人も使うコードなら潜在的に高コストな処理は
フィールドやプロパティじゃなくメソッドにしといたほうが無難
877デフォルトの名無しさん (ワッチョイ 13b9-0DuE)
2019/11/24(日) 00:26:34.20ID:ilfNxwrd0 >>875
> 個人的に警告を回避するために普段しない書き方をするのは違うと思う
> 警告の内容を理解し、それが今回のケースでは問題ないと判断できるなら遠慮なく警告を抑制していいと思う
アドバイスどうもありがとうございます。確かにおっしゃるとおりですね。
この考え方で、警告を抑制する方向で行こうと思います。
> プログラム起動時に自動的に初期化されるstaticとプログラマが初期化タイミングを制御できるsingleton
static はプログラム起動時に初期化されるんでしたっけ?
ただいずれにしても、コストが非常に高い場合は
明示的に初期化のタイミングを指定できるように気をつけたいと思います。
>>876
詳しいご説明ありがとうございます。
「MyStatic が初期化される時点で _highCost が初期化されて」
という表現は正しくありませんでした。失礼いたしました。
ただ、お書きいただいたコードでは
private static readonly Lazy<double> _highCost = new Lazy<double>(HighCostMethod);
の直後に
public static double X = Math.Sin(_highCost.Value);
public static double Y = Math.Abs(_highCost.Value);
が実行されるので、例えば
private static readonly double _highCost = HighCostMethod();
と
public static double X = Math.Sin(_highCost);
public static double Y = Math.Abs(_highCost);
に書き換えても同じではないでしょうか?
> あともし他人も使うコードなら潜在的に高コストな処理は
> フィールドやプロパティじゃなくメソッドにしといたほうが無難
アドバイスどうもありがとうございます。言われてみて、確かにそのとおりだと思いました。
コストの高さに応じて適切な書き方が選択できるように勉強したいと思います。
> 個人的に警告を回避するために普段しない書き方をするのは違うと思う
> 警告の内容を理解し、それが今回のケースでは問題ないと判断できるなら遠慮なく警告を抑制していいと思う
アドバイスどうもありがとうございます。確かにおっしゃるとおりですね。
この考え方で、警告を抑制する方向で行こうと思います。
> プログラム起動時に自動的に初期化されるstaticとプログラマが初期化タイミングを制御できるsingleton
static はプログラム起動時に初期化されるんでしたっけ?
ただいずれにしても、コストが非常に高い場合は
明示的に初期化のタイミングを指定できるように気をつけたいと思います。
>>876
詳しいご説明ありがとうございます。
「MyStatic が初期化される時点で _highCost が初期化されて」
という表現は正しくありませんでした。失礼いたしました。
ただ、お書きいただいたコードでは
private static readonly Lazy<double> _highCost = new Lazy<double>(HighCostMethod);
の直後に
public static double X = Math.Sin(_highCost.Value);
public static double Y = Math.Abs(_highCost.Value);
が実行されるので、例えば
private static readonly double _highCost = HighCostMethod();
と
public static double X = Math.Sin(_highCost);
public static double Y = Math.Abs(_highCost);
に書き換えても同じではないでしょうか?
> あともし他人も使うコードなら潜在的に高コストな処理は
> フィールドやプロパティじゃなくメソッドにしといたほうが無難
アドバイスどうもありがとうございます。言われてみて、確かにそのとおりだと思いました。
コストの高さに応じて適切な書き方が選択できるように勉強したいと思います。
878デフォルトの名無しさん (ワッチョイ 13a7-Xt/m)
2019/11/24(日) 00:53:53.43ID:/zc8WPZx0 ソースといっしょで中身がないのに文章なっげぇな
879デフォルトの名無しさん (アウアウウー Sa9d-927E)
2019/11/24(日) 02:24:11.12ID:8mt5PJRXa もう誰かとっくに書いてるだろうけど、やっぱり本来は重くなる可能性があるなら
フィールドやプロパティーじゃなくてメソッドにすべきなんだろうね。知らんけど
static double _x, _y;
static Action InitializeXY = () =>
{
var v = HighCostMethod();
_x = Math.Sign(v);
_y = Math.Abs(v); ;
InitializeXY = null;
};
public static double GetX()
{
InitializeXY?.Invoke();
return _x;
}
フィールドやプロパティーじゃなくてメソッドにすべきなんだろうね。知らんけど
static double _x, _y;
static Action InitializeXY = () =>
{
var v = HighCostMethod();
_x = Math.Sign(v);
_y = Math.Abs(v); ;
InitializeXY = null;
};
public static double GetX()
{
InitializeXY?.Invoke();
return _x;
}
880デフォルトの名無しさん (ワッチョイ 93bd-AvZR)
2019/11/24(日) 04:59:22.37ID:QxCNqVes0 なんかこう、せっかくの言語仕様を活かしきれてないような
もったいなさがあるよね
もったいなさがあるよね
881デフォルトの名無しさん (ワッチョイ 1379-QS5Z)
2019/11/24(日) 10:11:24.43ID:L7p7ghIU0 原則としてはgetterでは値の取得と通知しかしてはならない
これはC#に限った話ではなくオブジェクト指向の大原則の一つ
これはC#に限った話ではなくオブジェクト指向の大原則の一つ
882デフォルトの名無しさん (ブーイモ MMcb-gJGD)
2019/11/24(日) 10:18:03.91ID:eHhiG+n9M >オブジェクト指向の大原則
w
w
883デフォルトの名無しさん (アウアウウー Sa9d-5f43)
2019/11/24(日) 10:25:13.16ID:0nk530rxa 大原則?
オブジェクト指向の原理主義的にはそもそもgetterを作るべきではないんだよ
getterを使うのは上司がタバコを吸いたいときに不器用な部下にしびれを切らして「お前、もういいからお前のライター寄越せ」
と言っているようなもので、オブジェクトから本来担うべき責務を剥ぎ取ってしまっている
火をつけろと命令を投げっぱなしにしておけば勝手に火をつけてくれるのが本来のオブジェクト指向の姿
オブジェクト指向の原理主義的にはそもそもgetterを作るべきではないんだよ
getterを使うのは上司がタバコを吸いたいときに不器用な部下にしびれを切らして「お前、もういいからお前のライター寄越せ」
と言っているようなもので、オブジェクトから本来担うべき責務を剥ぎ取ってしまっている
火をつけろと命令を投げっぱなしにしておけば勝手に火をつけてくれるのが本来のオブジェクト指向の姿
884デフォルトの名無しさん (ブーイモ MMcb-gJGD)
2019/11/24(日) 10:27:30.29ID:eHhiG+n9M 昔の人は言いました「100人のプログラマーがいたら100通りのオブジェクト指向がある」
885デフォルトの名無しさん (ワッチョイ 13a7-Xt/m)
2019/11/24(日) 10:33:58.10ID:/zc8WPZx0 なるほど
博士が100人いる村につながる胸熱展開ですね
博士が100人いる村につながる胸熱展開ですね
886デフォルトの名無しさん (ワッチョイ 132f-4eZD)
2019/11/24(日) 11:55:35.11ID:bu3J19Ko0 ところでみんな、警告って全部消してるのか?
887デフォルトの名無しさん (ラクッペ MMe5-kgoK)
2019/11/24(日) 12:11:25.46ID:TAL5a3TmM 消すの意味次第
抑制も含むなら消してる
抑制は含まないなら消してない
抑制も含むなら消してる
抑制は含まないなら消してない
888デフォルトの名無しさん (ワッチョイ f9da-Ke7D)
2019/11/24(日) 19:27:53.50ID:btk/7EiO0 vs2019になって警告増えたよね
889デフォルトの名無しさん (ササクッテロル Spc5-5oM1)
2019/11/25(月) 12:55:19.06ID:xUq4VGI0p 警告を消してないと納品出来ないから渋々消してる。
890デフォルトの名無しさん (ワッチョイ f9da-Ke7D)
2019/11/25(月) 14:11:59.51ID:qmWi7Xp+0 vs 2019でenumをuintで作ったらint32にしろって警告された
win32api用なんだけど使用時にキャストしろという事か
win32api用なんだけど使用時にキャストしろという事か
891デフォルトの名無しさん (ワイーワ2 FF63-KqLj)
2019/11/25(月) 14:22:13.25ID:pjJuONFZF 負の数混ぜてないか
892デフォルトの名無しさん (ワッチョイ d901-QS5Z)
2019/11/26(火) 16:49:39.39ID:/t5k7Bse0 フォルダファイルの情報集めてデータベース作りたいんですけど
データベースの種類って何がいいのかな?
3万件ぐらいのレコード、外部に持っていくこともしない
よろちしおねがいします
データベースの種類って何がいいのかな?
3万件ぐらいのレコード、外部に持っていくこともしない
よろちしおねがいします
893デフォルトの名無しさん (ワッチョイ 11da-r6xQ)
2019/11/26(火) 16:59:08.05ID:3+G7L2kq0 redisは早いぞ〜
894デフォルトの名無しさん (オイコラミネオ MM95-4UII)
2019/11/26(火) 17:04:50.13ID:tkOtmh9WM DB作って何がしたいのかしら
895デフォルトの名無しさん (アウアウウー Sa9d-xPlI)
2019/11/26(火) 17:44:33.63ID:0fuBmAsQa sqliteでいんじゃね?
896デフォルトの名無しさん (スップ Sd73-+jxl)
2019/11/26(火) 17:46:09.18ID:ffeAt8NAd 何がしたいのかによるよね
ぶっちゃけ外にださないんだったらcsvですらいいんじゃね?って気もするけど
ぶっちゃけ外にださないんだったらcsvですらいいんじゃね?って気もするけど
897デフォルトの名無しさん (オッペケ Src5-BEIG)
2019/11/26(火) 17:53:20.38ID:GH1P3tUMr linuxにはlocateコマンドと言うものがあってファイルを高速に検索できる
これはただあらかじめフルパスのファイル名を全部取っておいて一つのテキストファイルにまとめてあるだけ
用途次第で最適な方法は異なる
これはただあらかじめフルパスのファイル名を全部取っておいて一つのテキストファイルにまとめてあるだけ
用途次第で最適な方法は異なる
898デフォルトの名無しさん (オッペケ Src5-BEIG)
2019/11/26(火) 17:54:23.39ID:GH1P3tUMr フルパスそのままじゃなくて差分のようなテキストファイルを作っていたような気もする
899デフォルトの名無しさん (ワッチョイ d901-QS5Z)
2019/11/26(火) 23:01:40.76ID:/t5k7Bse0900デフォルトの名無しさん (ワッチョイ 6963-+jxl)
2019/11/26(火) 23:55:29.19ID:Rjqqllka0 いや、知りたいのはその書き出したファイル情報をどうしたいのか?なんだけど…
自分で作りたいというのが勉強を兼ねてるならsqliteとかでひとまず慣れるのが良いんじゃない?
自分で作りたいというのが勉強を兼ねてるならsqliteとかでひとまず慣れるのが良いんじゃない?
901デフォルトの名無しさん (ワッチョイ 9138-4UII)
2019/11/27(水) 00:05:09.92ID:a5fnDquJ0 教会作るのか扉作ってるのか木を切ってるのかっつー話よな
それはさておき
お手軽に使えるのはSQLiteでライブラリやマッパーも豊富
redisは高速でwebクラウド周りでは結構ちやほやされた
けどRDBとNoSQLの区別付いてるかは心配やな
外付けHDDの中身…か…
それはさておき
お手軽に使えるのはSQLiteでライブラリやマッパーも豊富
redisは高速でwebクラウド周りでは結構ちやほやされた
けどRDBとNoSQLの区別付いてるかは心配やな
外付けHDDの中身…か…
902デフォルトの名無しさん (オッペケ Src5-/L9V)
2019/11/27(水) 00:28:53.08ID:0UC6xAmXr テキストファイルにファイル名ずらっと並べて終わりだろう
903デフォルトの名無しさん (ワッチョイ d901-QS5Z)
2019/11/27(水) 11:14:29.53ID:TFRzaUoP0904デフォルトの名無しさん (アウアウウー Sa9d-xPlI)
2019/11/27(水) 11:29:33.07ID:IQPQs9eCa905デフォルトの名無しさん (ドコグロ MM63-5f43)
2019/11/27(水) 11:38:43.35ID:vYtjQlD0M SQL ServerとかそれこそWinのクラサバでしか使われてない無価値な技術だぞ
906デフォルトの名無しさん (ワッチョイ 7190-HqzV)
2019/11/27(水) 12:04:05.91ID:DM2fL27g0 sqliteは組み込みDBではメジャーだろ。androidアプリの標準ローカルDBがsqliteだし。iosのcoredbだって内部はsqlite使ってるだろ?
モバイルアプリでsqlite使われまくりだろ。
まぁ、最近はrealmだのあるが
モバイルアプリでsqlite使われまくりだろ。
まぁ、最近はrealmだのあるが
907デフォルトの名無しさん (スップ Sd73-wQSf)
2019/11/27(水) 12:10:33.33ID:gi64Bf5vd >>905
無知乙
無知乙
908デフォルトの名無しさん (ブーイモ MM33-r6xQ)
2019/11/27(水) 12:20:11.74ID:g28fiJsQM ボソッと Berkeley DB
909デフォルトの名無しさん (ワッチョイ f9da-Ke7D)
2019/11/27(水) 15:21:18.43ID:ZeR4ARRa0 sqliteはChromeとかfirefoxでも使ってるはず
910デフォルトの名無しさん (ワッチョイ 9138-4UII)
2019/11/27(水) 15:28:58.26ID:a5fnDquJ0 >>903
win環境ならSQL Serverは最有力選択肢だよ
C#前提ならVisualStudioとも統合されてるし、簡単に扱えるので取り回しもしやすくて情報も多い
気になるのはやろうとしてることに対して、若干大げさな構成かなという点かな
RDBの経験積みたいのが目的に含まれるなら全然アリよ
win環境ならSQL Serverは最有力選択肢だよ
C#前提ならVisualStudioとも統合されてるし、簡単に扱えるので取り回しもしやすくて情報も多い
気になるのはやろうとしてることに対して、若干大げさな構成かなという点かな
RDBの経験積みたいのが目的に含まれるなら全然アリよ
911デフォルトの名無しさん (オッペケ Src5-/L9V)
2019/11/27(水) 17:33:31.24ID:0UC6xAmXr インストールとかもSQLServerのインストールと設定込みになるから大げさだよ
インストール先でSQLserverの管理も必要になる(セキュリティーホールに対するアップデートなど)
sqliteがいいと思うよ
インストール先でSQLserverの管理も必要になる(セキュリティーホールに対するアップデートなど)
sqliteがいいと思うよ
912デフォルトの名無しさん (ワッチョイ 9138-4UII)
2019/11/27(水) 17:35:21.60ID:a5fnDquJ0 プロダクト目的なSQLite
勉強目的ならSQLServerっつーことで
勉強目的ならSQLServerっつーことで
913デフォルトの名無しさん (ドコグロ MMd5-hZ32)
2019/11/27(水) 20:07:31.01ID:w7hpp5weM SQLite3は当のMSが使ってたりするぐらいメジャー
https://qiita.com/h_matsumura/items/e1597a985de25e2ea9c8
https://qiita.com/h_matsumura/items/e1597a985de25e2ea9c8
914デフォルトの名無しさん (ワッチョイ d901-QS5Z)
2019/11/27(水) 22:24:42.73ID:TFRzaUoP0 >>904
さんくすです、現役なら今から勉強しても無駄にはならなそうですね
>>905
Microsoftはたまに、それ誰得よってのがあるから怖い
>>906
さんくす、androidに使われてたらしばらく安泰でつね
>>908
ちょと調べてみたけど、きびしい、頭の片隅に
>>910,912
さんくす、SQLServerも間違ってはいないのですね
DB使うまでもなくオーバスペックっぽいけど、練習になるから
>911
導入がメンドイのと保守もいると、さんくすね
>909
firefoxで使ってるのみました、でもFFは設計古いままきてるからどうなのかなって
>913
VisualStudioにsqliteいれといてくれたらいいのにね
みなさんさんくす、現在のDBの立ち位置がわかって、方向性がだいたい決まりました
まずはsqlite導入してみようかな
さんくすです、現役なら今から勉強しても無駄にはならなそうですね
>>905
Microsoftはたまに、それ誰得よってのがあるから怖い
>>906
さんくす、androidに使われてたらしばらく安泰でつね
>>908
ちょと調べてみたけど、きびしい、頭の片隅に
>>910,912
さんくす、SQLServerも間違ってはいないのですね
DB使うまでもなくオーバスペックっぽいけど、練習になるから
>911
導入がメンドイのと保守もいると、さんくすね
>909
firefoxで使ってるのみました、でもFFは設計古いままきてるからどうなのかなって
>913
VisualStudioにsqliteいれといてくれたらいいのにね
みなさんさんくす、現在のDBの立ち位置がわかって、方向性がだいたい決まりました
まずはsqlite導入してみようかな
915デフォルトの名無しさん (エムゾネ FFb2-Qbqw)
2019/11/28(木) 15:03:25.97ID:1U78x1XWF SQLiteって導入するほどのもんでもない
っていうか導入とかせんでも使えるし
っていうか導入とかせんでも使えるし
916デフォルトの名無しさん (ワッチョイ f538-CTFU)
2019/11/28(木) 15:06:08.02ID:A6hZkiU20 一緒んとこ置いて呼ぶだけやからなw
917デフォルトの名無しさん (ササクッテロ Sp79-x0FR)
2019/11/28(木) 16:30:32.78ID:JOfZpAUcp Nugetなりvcpkgでソッコで使えるしね
918デフォルトの名無しさん (スププ Sdb2-Hu9A)
2019/11/28(木) 16:38:21.51ID:WQY8IlVbd nugetで簡単にプロジェクト追加できるからVisual Studioに付属していないという批判はお門違い
919デフォルトの名無しさん (ブーイモ MMa6-Ud7Q)
2019/11/28(木) 17:59:07.38ID:lZQsc35zM >>917
しね、とはなんだよゴルァ
しね、とはなんだよゴルァ
920デフォルトの名無しさん (ワッチョイ f538-CTFU)
2019/11/28(木) 18:06:17.42ID:A6hZkiU20 >>917
まあこういう文章だと語尾がしねに読めちゃうのはしょうがないしね
まあこういう文章だと語尾がしねに読めちゃうのはしょうがないしね
921デフォルトの名無しさん (ワッチョイ a901-f/qG)
2019/11/28(木) 18:21:36.60ID:XY/WHPaW0 「〜だしね」からの「しねとは何だ!」ってのはいつものお約束だろw
むしろ愛を感じるわ。
むしろ愛を感じるわ。
922デフォルトの名無しさん (ドコグロ MM71-MhVQ)
2019/11/28(木) 19:31:57.14ID:jLfyQeMzM >>914
> VisualStudioにsqliteいれといてくれたらいいのにね
2019は知らんけど2017はVisual Studioのインストール時にSQL-Server LocalDBを入れるかどうかを聞いてきたような気がする
LocalDBは外部からの接続できないだけで中身はほとんどSQL-Server
Visual Studioからテーブル開いてデータを弄ることもできるしそこそこ便利よ
> VisualStudioにsqliteいれといてくれたらいいのにね
2019は知らんけど2017はVisual Studioのインストール時にSQL-Server LocalDBを入れるかどうかを聞いてきたような気がする
LocalDBは外部からの接続できないだけで中身はほとんどSQL-Server
Visual Studioからテーブル開いてデータを弄ることもできるしそこそこ便利よ
923デフォルトの名無しさん (ワッチョイ d9da-Cro1)
2019/11/28(木) 19:36:42.43ID:VrR/a7te0 sqliteもlinqで使えるの?
924デフォルトの名無しさん (ワッチョイ 9242-3RYV)
2019/11/28(木) 20:05:23.89ID:/zg9SHoG0 >>923
使いたいときはentityframeworkっていう似たようなものを被せて使います
使いたいときはentityframeworkっていう似たようなものを被せて使います
925デフォルトの名無しさん (ワッチョイ b5da-9mSp)
2019/11/28(木) 20:27:08.97ID:+uF2PV0n0 山車ね
926デフォルトの名無しさん (ワッチョイ 0901-R3ru)
2019/11/28(木) 20:59:45.72ID:huhp3ZI30927デフォルトの名無しさん (ワッチョイ 0901-R3ru)
2019/11/28(木) 21:06:27.46ID:huhp3ZI30 >>915-918
nugetも入れたほうがいいのかお
nugetも入れたほうがいいのかお
928デフォルトの名無しさん (ブーイモ MMd5-/3vA)
2019/11/28(木) 23:11:59.46ID:ttkv3u0hM genericsの〈T〉のTって動的に入れるのは無理?
System.Typeはわかってるんだが
System.Typeはわかってるんだが
929デフォルトの名無しさん (アウアウウー Sacd-e3ak)
2019/11/28(木) 23:17:10.55ID:1K1GwsjBa >>928
Type.MakeGenericType
Type.MakeGenericType
930デフォルトの名無しさん (ワッチョイ f538-CTFU)
2019/11/28(木) 23:52:03.59ID:A6hZkiU20 >>927
nugetを入れると言う以前にVS使ってソリューションて作るとすぐ使える状態にあるし
SQLiteを始めとして外部ライブラリを導入するならnuget使うのはc#では基本ツールと言えるので、使えたほうが良い
パッケージ管理にnugetが最適かは置いておくとして
nugetを入れると言う以前にVS使ってソリューションて作るとすぐ使える状態にあるし
SQLiteを始めとして外部ライブラリを導入するならnuget使うのはc#では基本ツールと言えるので、使えたほうが良い
パッケージ管理にnugetが最適かは置いておくとして
931デフォルトの名無しさん (ドコグロ MM71-MhVQ)
2019/11/29(金) 07:12:41.61ID:Q2zZop56M >>926
すまん、今ググったら入れるかどうかを聞かれるわけじゃなくて.NET desktop developmentを入れた時のオプションだったわ
https://i.stack.imgur.com/1u3O2.png
一応後からでも入れられるみたい
https://stackoverflow.com/questions/42774739/how-to-install-localdb-2016-along-with-visual-studio-2017
すまん、今ググったら入れるかどうかを聞かれるわけじゃなくて.NET desktop developmentを入れた時のオプションだったわ
https://i.stack.imgur.com/1u3O2.png
一応後からでも入れられるみたい
https://stackoverflow.com/questions/42774739/how-to-install-localdb-2016-along-with-visual-studio-2017
932デフォルトの名無しさん (アウアウウー Sacd-CRcH)
2019/11/29(金) 07:58:25.58ID:MT93SOfea sqliteだと配布も楽だしね。
933デフォルトの名無しさん (ワッチョイ 9242-3RYV)
2019/11/29(金) 08:44:50.30ID:k2xfmaZa0 sqliteやるとして、Dapperを使うかEF使うかは意見が分かれるところだね
ついでにSQLから始めるってことでDapperをお薦めしますが
EFはSQLを知らなくてもなんとかなるが、そのうち壁にぶち当たるだろうからね
ついでにSQLから始めるってことでDapperをお薦めしますが
EFはSQLを知らなくてもなんとかなるが、そのうち壁にぶち当たるだろうからね
934デフォルトの名無しさん (アウアウウー Sacd-e3ak)
2019/11/29(金) 08:52:58.95ID:buffyidfa SQLiteとEFの組み合わせはテスト専用だ
EFはサーバー用のフレームワークなのでSQLiteを使うようなスタンドアロンなアプリで使用されることは基本的にないし、
EFなんか被せたら軽量なSQLiteが台無し
EFはサーバー用のフレームワークなのでSQLiteを使うようなスタンドアロンなアプリで使用されることは基本的にないし、
EFなんか被せたら軽量なSQLiteが台無し
935デフォルトの名無しさん (アウウィフ FFcd-Qbqw)
2019/11/29(金) 12:06:03.16ID:N/f9f1S7F SQL-Server Local DB って MSDE のこととちゃうんけ
936デフォルトの名無しさん (ドコグロ MM71-MhVQ)
2019/11/29(金) 12:25:43.27ID:Q2zZop56M >>935
どんだけ情報更新されてないんだよw
どんだけ情報更新されてないんだよw
937デフォルトの名無しさん (ワッチョイ 1933-XJEi)
2019/11/29(金) 12:29:53.68ID:bcKuqIh50 MSDEつーか、SQL Server Expressだっけかな
938デフォルトの名無しさん (アウウィフ FFcd-Qbqw)
2019/11/29(金) 12:30:30.51ID:N/f9f1S7F 間違ってなくて安心した
939デフォルトの名無しさん (ワッチョイ 6e7c-1cCl)
2019/11/29(金) 12:45:06.14ID:IdASmNxu0 いや間違ってる
MSDEの後継はSQL Server Express
Local DBはそれとインターフェイス互換性を持たせた別製品
ExpressとCompactのあいのこみたいなもの
MSDEの後継はSQL Server Express
Local DBはそれとインターフェイス互換性を持たせた別製品
ExpressとCompactのあいのこみたいなもの
940デフォルトの名無しさん (アウウィフ FFcd-Qbqw)
2019/11/29(金) 13:03:59.73ID:N/f9f1S7F ありがとう
SQLite とは関係無いことは判った
SQLite の簡単さとは比べ物にならない
SQLite とは関係無いことは判った
SQLite の簡単さとは比べ物にならない
941デフォルトの名無しさん (ワッチョイ 5561-3RYV)
2019/11/29(金) 14:58:40.82ID:HgnfNDDk0 SQLLiteてUPDATE文に結合テーブル使えないんだっけ
942デフォルトの名無しさん (ドコグロ MM71-MhVQ)
2019/11/29(金) 19:40:54.65ID:/qBs46JEM >>939
> Local DBはそれとインターフェイス互換性を持たせた別製品
> ExpressとCompactのあいのこみたいなもの
お前もテキトーなこと書くなよw
LocalDBはエンジンはExpressとほぼ同じで外部からの接続ができないだけ
Compactは全く別物で使えるSQLも異なる
> Local DBはそれとインターフェイス互換性を持たせた別製品
> ExpressとCompactのあいのこみたいなもの
お前もテキトーなこと書くなよw
LocalDBはエンジンはExpressとほぼ同じで外部からの接続ができないだけ
Compactは全く別物で使えるSQLも異なる
943デフォルトの名無しさん (ワッチョイ b5da-9mSp)
2019/11/29(金) 21:23:09.62ID:PfmOYk0/0 20年程前にSYBASEと分離したけど
大元は同じだったり
大元は同じだったり
944デフォルトの名無しさん (スププ Sdb2-Hu9A)
2019/11/29(金) 22:31:53.69ID:XR55tucPd MS製でサーバーインスコ必要ないSQLはmdbということになる?
945デフォルトの名無しさん (ワッチョイ 926a-XJEi)
2019/11/29(金) 22:40:51.06ID:IQbSmMMZ0 >>944
JETなりは必要になるんじゃ?
JETなりは必要になるんじゃ?
946デフォルトの名無しさん (アウアウウー Sacd-e3ak)
2019/11/29(金) 22:53:16.05ID:xO30F0VUa なんでMSはAccessやめちゃったんだろうな
さっさとWeb移行して真面目に開発続けてればSalesforceみたいな糞に出番はなかったのに
さっさとWeb移行して真面目に開発続けてればSalesforceみたいな糞に出番はなかったのに
947デフォルトの名無しさん (ワッチョイ 655f-8b9h)
2019/11/29(金) 22:58:29.32ID:J8/N3ImM0 >>944
SQL Server Compact…はまだ生きてたっけ?
SQL Server Compact…はまだ生きてたっけ?
948デフォルトの名無しさん (ワッチョイ 926a-XJEi)
2019/11/29(金) 23:00:31.63ID:IQbSmMMZ0 >>947
Compactは終了で、その代わりがlocalDBなんじゃなかったっけ
Compactは終了で、その代わりがlocalDBなんじゃなかったっけ
949デフォルトの名無しさん (ワッチョイ 0901-R3ru)
2019/11/29(金) 23:16:39.14ID:Z1Tig2XP0950デフォルトの名無しさん (ワッチョイ 8101-Tzvd)
2019/11/30(土) 10:23:08.45ID:o+UOyhff0951デフォルトの名無しさん (ワッチョイ 9242-3RYV)
2019/11/30(土) 14:43:46.04ID:20NjWWXF0952デフォルトの名無しさん (ワッチョイ 0d7d-nO0S)
2019/12/01(日) 16:07:57.01ID:r7b9vkne0 ASP.NET Webフォームでオブジェクト指向な作りって出来ますか?Pageクラスを継承した画面ごとのクラスが基本となると思うんですが、それらとは別にドメインオブジェクトを定義すればいいんでしょうか?
古いフレームワークのせいか、参考になる情報がWeb上で見つからず困っています
古いフレームワークのせいか、参考になる情報がWeb上で見つからず困っています
953デフォルトの名無しさん (ワッチョイ f538-CTFU)
2019/12/01(日) 17:00:26.82ID:B1zYgJIz0 ドメインオブジェクトはどんなフレームワークでも作るのはまあ基本
954デフォルトの名無しさん (ワッチョイ 122f-Ql8R)
2019/12/01(日) 17:01:47.30ID:BdsW8ng60 C#にしてもVB.Netにしても、オブジェクト指向な言語だからできるだろ
オブジェクト指向な作りってどんなのを指してるんだ?
オブジェクト指向な作りってどんなのを指してるんだ?
955デフォルトの名無しさん (ワッチョイ 6e02-14DC)
2019/12/01(日) 17:09:16.81ID:4wBvZE+S0 extendsを使いグローバル変数で回さないことかな
956デフォルトの名無しさん (アウウィフ FFcd-Qbqw)
2019/12/01(日) 17:30:22.41ID:zxgavQqmF mdb は Access 無くても作れるし使える
wsh からも作れるし
python からでも win32com とか adodb とかで生成も操作も可能
wsh からも作れるし
python からでも win32com とか adodb とかで生成も操作も可能
957デフォルトの名無しさん (ワッチョイ 9201-MhVQ)
2019/12/01(日) 17:54:34.01ID:Enyr5Fgf0958デフォルトの名無しさん (オッペケ Sr79-o7DB)
2019/12/01(日) 20:13:56.38ID:/00m1kV3r 昔はVSでもGUI上からmdb作れた気がするけどc#からコードで作れたと思う
959デフォルトの名無しさん (ワッチョイ 2517-3RYV)
2019/12/01(日) 20:33:15.39ID:eAT9QJyK0 COMオブジェクト参照するの気持ち悪いな
960デフォルトの名無しさん (ワッチョイ f538-CTFU)
2019/12/01(日) 20:38:52.40ID:B1zYgJIz0 扱い面倒だからね
自分だけなら良いけど
人が触ると直ぐに解放漏れするし
gc.Collect連打とか
自分だけなら良いけど
人が触ると直ぐに解放漏れするし
gc.Collect連打とか
961デフォルトの名無しさん (ワッチョイ 92a5-o7DB)
2019/12/02(月) 00:32:28.82ID:6ndr7bm90 windowsなんてcomの塊なのに
962デフォルトの名無しさん (アウアウウー Sacd-e3ak)
2019/12/02(月) 00:48:30.78ID:GldGaTIna モダンアプリではより完全なCOMベースになったね
.NETなんかいらんかったんや
.NETなんかいらんかったんや
963デフォルトの名無しさん (ワッチョイ f122-Hu9A)
2019/12/02(月) 02:17:05.78ID:seAdfS0z0 >>959
ADO.NETじゃアカンの?
ADO.NETじゃアカンの?
964デフォルトの名無しさん (ワッチョイ 2590-8b9h)
2019/12/02(月) 21:29:05.38ID:TV8SuK+L0 組み込みっていったっていまどきマルチスレッド当たり前で、要は
マルチユーザーでアクセスするのと同じなんだが、組み込みDBは行ロックが
ないのが痛すぎる。大きめのバッチ走らせると行ロックないから
他から更新できなくなるし。
マルチユーザーでアクセスするのと同じなんだが、組み込みDBは行ロックが
ないのが痛すぎる。大きめのバッチ走らせると行ロックないから
他から更新できなくなるし。
965デフォルトの名無しさん (スププ Sdb2-Hu9A)
2019/12/02(月) 22:09:18.94ID:wKwMS0nkd >>964
用途に応じて使い分ければいいんじゃないでしょうか
用途に応じて使い分ければいいんじゃないでしょうか
966デフォルトの名無しさん (ワッチョイ a22d-Mdr6)
2019/12/02(月) 23:30:52.06ID:kOdIgETi0 Newtonsoft.Jsonに絡み、C#の文法や仕組みがよくわからないので教えてください
https://www.newtonsoft.com/json
前者のコードが通ること、対して後者が通らないことの理由がそれぞれよくわかりません
var jsonString = JsonConvert.SerializeObject(new {asdf = "asdf"});
var jsonString = JsonConvert.SerializeObject(new {var asdf = "asdf"});
JsonConvert.SerializeObjecメソッドに匿名のオブジェクトを作成して渡すのであれば、宣言を含めきちんと作成した後者のコードになるような気がしてしまいますが・・・・一体どういうことなのですか?
https://www.newtonsoft.com/json
前者のコードが通ること、対して後者が通らないことの理由がそれぞれよくわかりません
var jsonString = JsonConvert.SerializeObject(new {asdf = "asdf"});
var jsonString = JsonConvert.SerializeObject(new {var asdf = "asdf"});
JsonConvert.SerializeObjecメソッドに匿名のオブジェクトを作成して渡すのであれば、宣言を含めきちんと作成した後者のコードになるような気がしてしまいますが・・・・一体どういうことなのですか?
967デフォルトの名無しさん (ワッチョイ d963-CbTA)
2019/12/02(月) 23:37:45.37ID:uoYmKGGq0 匿名型でvarを使う文法が存在しないからじゃねーの
968デフォルトの名無しさん (ワッチョイ d963-CbTA)
2019/12/02(月) 23:38:00.50ID:uoYmKGGq0969デフォルトの名無しさん (ワッチョイ a22d-Mdr6)
2019/12/03(火) 00:00:10.26ID:joV0JnEl0970デフォルトの名無しさん (ワッチョイ a54f-MSc7)
2019/12/08(日) 19:26:34.55ID:NRgw7da20 WindowsフォームのListBoxのアイテムの順番を
マウスでドラッグして移動出来たりはしないでしょうか?
マウスでドラッグして移動出来たりはしないでしょうか?
971デフォルトの名無しさん (アウアウクー MM41-miCc)
2019/12/08(日) 20:35:42.68ID:FzxO83mcM972デフォルトの名無しさん (ワッチョイ a54f-MSc7)
2019/12/08(日) 21:37:23.18ID:NRgw7da20 ありがとう!やってみる
973デフォルトの名無しさん (ワッチョイ 2b0d-uDkH)
2019/12/11(水) 00:30:39.25ID:Apb01tOE0 vs2019って新規作成でフォーム作れます?いきなりユーザーコントロールしかなくないですか?
レス数が950を超えています。1000を超えると書き込みができなくなります。
ニュース
- バリ島で男子生徒ら集団万引きか、防犯カメラ映像が拡散 京都の大谷中学・高校が「窃盗行為」謝罪★4 [七波羅探題★]
- 中国軍機レーダー照射、トランプ氏沈黙突く 試される日本外交 [蚤の市★]
- 【地震】青森県で震度6強 長周期地震動も 津波注意報すべて解除 ★7 [ぐれ★] [ぐれ★]
- 【サッカー】58歳カズ「オファーが来ている」 J3福島と近日中にも交渉 早ければ年内にも決断 [征夷大将軍★]
- 【速報】気象庁は津波注意報すべて解除 [蚤の市★]
- 【テレビ】25年ぶり復活「炎のチャレンジャー」南原清隆&菊池風磨がMC 懐かし「電流イライラ棒」も [湛然★]
- 【実況】博衣こよりのえちえち朝こよ🧪
- さかまた「過呼吸になった」かなた「耳聞こえない」ござる「声出ない」まつり「ご飯食べれない」
- 【画像】カリカリ女、脱いだらすごい😨 [632966346]
- 早大名誉教授「高市内閣の高支持率はデータ操作か、支持している日本人がアホなのか」👈核心を突いてしまう [868050967]
- 前のネトウヨ「抗議だけで済ませるから日本は中国に舐められる!」→今「冷静に毅然と抗議する高市さん凄い!」 これマジで何なんだよ… [314039747]
- お前らいじめんの飽きた
