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


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

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



1 名前:デフォルトの名無しさん mailto:sage [2020/05/27(水) 20:28:41.27 ID:Pggemlyq0.net]
!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為)

「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください
>>980を踏んだ人は新スレを建てて下さい。>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。

■前スレ
ふらっと C#,C♯,C#(初心者用) Part147
mevius.5ch.net/test/read.cgi/tech/1582100741/
■関連スレ
C#, C♯, C#相談室 Part94
mevius.5ch.net/test/read.cgi/tech/1553075856/
■コードを貼る場合は↓を使いましょう。
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
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

115 名前:デフォルトの名無しさん [2020/06/11(木) 22:49:15.03 ID:tnq3MU310.net]
>>114
https://stackoverflow.com/questions/35914530/case-insensitive-name-of-tables-and-properties-in-entity-framework-7
こういうの

116 名前:デフォルトの名無しさん mailto:sage [2020/06/11(木) 22:54:47.74 ID:Yd9qBDmj0.net]
>>106
普通Redis

117 名前:デフォルトの名無しさん mailto:sage [2020/06/11(木) 22:58:40.14 ID:vRuHoTo/0.net]
みなさんさんくす
>>107
oracle使ってるの?有償で本格的なイメージ
>>108
SQLiteいいですよね、お手軽そうで
>>109
AccessってC#で使えるんですね、Access使い慣れてる人ならよさげ
>>110
Postgreも人気ですね、SQLiteよりもいいのかな

118 名前:
111
SQLServerが一番に名前出てくると思ってました
112
PostgreはC#と親和性高いのかな

見事に割れてるような感じがするのですが、C#.netと相性がいい悪いより
使い慣れてるものを使ってる感じですか
[]
[ここ壊れてます]

119 名前:デフォルトの名無しさん mailto:sage [2020/06/11(木) 23:01:51.55 ID:vRuHoTo/0.net]
>>116
さんくす、初めて聞きましたRedis,NoSQLサーバーですか
これから主力になっていくのかな

120 名前:デフォルトの名無しさん mailto:sage [2020/06/11(木) 23:09:04.11 ID:Yd9qBDmj0.net]
目的が違うからRDBとは共存するんじゃね?
永続化が出来るのが他のKVSと違う所。

121 名前:デフォルトの名無しさん mailto:sage [2020/06/11(木) 23:21:42.50 ID:5eBlYw+xa.net]
C#との親和性とか言われてもなあ
いまどき大抵のDBMSでEFも使えるから、極端な話DBMSを途中で乗り換えても
C#で書き換えるのはconfigファイルの接続文字列とNuGetするパッケージだけ
EF使わないならSQLの方言を気にする必要はあるけどそれは組み立てるStringが変わるだけだし
DBMSに応じてC#ソースコードの書き方が変わるようなことは一切ない

122 名前:デフォルトの名無しさん mailto:sage [2020/06/11(木) 23:49:42.34 ID:tnq3MU310.net]
EFみないなORM使ってないとOracle->SQL Serverの書き換えとか地獄よ

123 名前:デフォルトの名無しさん mailto:sage [2020/06/12(金) 02:18:27.53 ID:opbb+AId0.net]
>>115
それが問題になるケースってどんなん?ASP.NET Core Identityとかも別に普通に使えてるけど



124 名前:デフォルトの名無しさん mailto:sage [2020/06/12(金) 02:21:54.36 ID:opbb+AId0.net]
>>120
親和性は今でも問題になるケースがあるよ
OracleはEF Coreが出てから対応するまでに3年かかったし、EF Core3.0はOracleが対応する前にサポート期間が終わっちゃった。3.1のbeta版が少し前にやっと出たとこで、RTMになるころにはもうEF Core5が出てるw

125 名前:デフォルトの名無しさん mailto:sage [2020/06/12(金) 03:34:44.54 ID:ZwJzd5pPd.net]
>>120
>C#で書き換えるのはconfigファイルの接続文字列とNuGetするパッケージだけ
>DBMSに応じてC#ソースの書き方が変わるようなことは一切ない
これは嘘。DbContextOptionsBuilderの拡張メソッドはDBMSごとに異なるし、そのオプションも変わってくる。当然Migration用のコードは再度生成する必要がある。まあその程度で済むんだけどね。

126 名前:デフォルトの名無しさん mailto:sage [2020/06/12(金) 03:36:16.16 ID:ZwJzd5pPd.net]
「NuGetする」って表現は初めて見たな。言いたいことはわかるけどw

127 名前:デフォルトの名無しさん mailto:sage [2020/06/12(金) 10:19:25.67 ID:LH1ywJSs0.net]
>>119
これからNOSQLも勉強しないとダメなのかサンクス
>>120
さんくすねDBMSはどれ選んでもだいたい同じですか
>>123-124
なるほどね、細かなところ互換性問題あるけど、それほど困ることもないですか
まあDBMSコロコロ変更したりしないだろし、さんくす

欲をゆえば、これは定番でみんな使ってるし、迷ったらコレみたいのがあったらよかた

128 名前:デフォルトの名無しさん (テテンテンテン MM7f-3sqf) mailto:sage [2020/06/12(金) 10:33:37 ID:67KMUSUMM.net]
オンプレかクラウドかにも依るだろう
オンプレならできればDBの運用保守はベンダーに丸投げしたいところだが、
そこまでするほどの規模ではないならSQL Serverが比較的楽だろう
クラウドだったら自分でインフラを管理する必要のない完全マネージドなサービスを選ぶべきだ
例えばAWSならPostgresベースのAurora、AzureならSQL Database(SQL Serverベース)になるだろうな

129 名前:デフォルトの名無しさん mailto:sage [2020/06/12(金) 11:11:40.32 ID:kFexpNJ30.net]
>>106
Ruby on Rails の3大DB は、
PostgreSQL, MySQL/MariaDB, SQLite

ただし、SQLite は開発用のみ

130 名前:デフォルトの名無しさん mailto:sage [2020/06/12(金) 20:30:56.85 ID:LH1ywJSs0.net]
>>127
なるほど、クラウドなら相手先でだいたい決まってるんですね
結局仕事でプログラマやってる人はSQL全部やってそうな、さんくす

>>128
さんくす、Webアプリと連携したりするならPostgreとかMySQLは必須っぽいですね

131 名前:デフォルトの名無しさん [2020/06/13(土) 00:57:45.04 ID:bzHb5W4o0.net]
>>122
アノテーション必須なところ

132 名前:デフォルトの名無しさん mailto:sage [2020/06/13(土) 01:09:18.28 ID:8SrQpLbj0.net]
>>130
アノテーション?Javaと勘違いしてない?
もしかして、[Column("some_column")]みたいなAttributeを明示的にプロパティに付与しなきゃってことを言いたいの?

133 名前:デフォルトの名無しさん mailto:sage [2020/06/13(土) 01:10:23.05 ID:8SrQpLbj0.net]
最近はそもそもAttributeはあまり推奨されてないと思うんだけど…



134 名前:デフォルトの名無しさん [2020/06/13(土) 01:13:19.59 ID:bzHb5W4o0.net]
間違えた、そう、アトリビュートね
推奨されてないならますます必須なのは困るだろ

135 名前:デフォルトの名無しさん mailto:sage [2020/06/13(土) 01:33:01.52 ID:8SrQpLbj0.net]
Fluent APIが主流だっていう意味でAttributeは推奨されてないって言ったんだけど通じてない??

136 名前:デフォルトの名無しさん mailto:sage [2020/06/13(土) 01:41:17.85 ID:8SrQpLbj0.net]
naming conventionはかなり自由度が高いんだし、PostgreSQLならこんなプラグインもあるでしょ?
https://github.com/efcore/EFCore.NamingConventions

137 名前:デフォルトの名無しさん mailto:sage [2020/06/13(土) 01:44:19.43 ID:8SrQpLbj0.net]
このプラグイン書いてるのもEF Coreのメンテナーだし、PostgreSQL対応は相当手厚いと思うんだけど…Oracleとは大違いw

138 名前:デフォルトの名無しさん [2020/06/13(土) 02:34:08.73 ID:bzHb5W4o0.net]
手厚いなら標準でサポートしろ

139 名前:デフォルトの名無しさん (ワッチョイ ffad-E8/F) mailto:sage [2020/06/13(土) 03:17:01 ID:8SrQpLbj0.net]
標準でサポートしてるAPI使ってるでしょ?

140 名前:デフォルトの名無しさん (ワッチョイ ffad-E8/F) mailto:sage [2020/06/13(土) 03:17:49 ID:8SrQpLbj0.net]
会話にならない…

141 名前:デフォルトの名無しさん (スッップ Sd1f-E8/F) mailto:sage [2020/06/13(土) 03:28:12 ID:wwBJVROwd.net]
>>130
なぜ必須だと思いこんでしまったのか…少しググれば↑のプラグインも出てくるというのに。
DBMSによって異なる仕様を全てコアのライブラリに取り込んでしまうのはアンチパターン。拡張可能なエンドポイントを用意して、適切な粒度で分けないと。

142 名前:デフォルトの名無しさん mailto:sage [2020/06/13(土) 03:44:26.62 ID:8SrQpLbj0.net]
そもそもなぜAttribute必須(だと思いこんでいる)かって理由もまだ一言も聞いてないしね
Fluent APIすら知らないようだし…

143 名前:デフォルトの名無しさん (ワッチョイ 6fc7-Z00E) [2020/06/13(土) 13:23:26 ID:K/U+GWpl0.net]
rpgツクールみたいなソフトはC#とC+どちらがいいんでしょうか
electronではだめなのですか?



144 名前:デフォルトの名無しさん mailto:sage [2020/06/13(土) 13:48:37.68 ID:KtzqJ+vF0.net]
勝手にしろ

145 名前:デフォルトの名無しさん mailto:sage [2020/06/13(土) 14:08:02.51 ID:o48rgnPS0.net]
>>142
好きなやつでいいよ

146 名前:デフォルトの名無しさん (ワッチョイ f3da-lWkb) mailto:sage [2020/06/13(土) 14:47:15 ID:YToltj6/0.net]
普通マシンコード直打

147 名前:デフォルトの名無しさん mailto:sage [2020/06/13(土) 23:27:18.32 ID:V91HObFW0.net]
ツクールは、Ruby じゃないの?

スレ立てるまでもない

148 名前:質問はここで 153匹目
https://mevius.5ch.net/test/read.cgi/tech/1586142285/845

870 の投稿も見て
[]
[ここ壊れてます]

149 名前:デフォルトの名無しさん (ワッチョイ 3378-NjyN) mailto:sage [2020/06/13(土) 23:51:50 ID:KtzqJ+vF0.net]
RGSSがRubyで書けるだけで本体はRuby製じゃないだろ
最近のやつは知らないけれどRPGツクール2000はDelphi製だよ

つかこいついつものRubyガイジか

150 名前:デフォルトの名無しさん (ワッチョイ 1363-UKCU) mailto:sage [2020/06/14(日) 00:29:11 ID:d5or7MKc0.net]
ちなみに最新のRPGツクールMVはHTML5&CSS&Javascript

151 名前:デフォルトの名無しさん mailto:sage [2020/06/14(日) 01:26:19.14 ID:v+4IVp6H0.net]
>>147
そう、いつものRubyバカだよ。
どこかで聞き齧った上辺だけの知識を、古いまま更新もせずあちこちで思うがままに垂れ流す、迷惑きわまりない存在。

152 名前:デフォルトの名無しさん [2020/06/14(日) 02:49:46.49 ID:elQ0/Qc7a.net]
くだらない質問で申し訳ない

static IEnumerable<char> AToZ()
{
  for (char c = 'A'; c <= 'Z'; c++) yield return c;
}

static IEnumerable<string> AAAToZZZ(int n)
{
  if (n < 0) throw new IndexOutOfRangeException();
  if (n == 0) yield break;
  if (n == 1) foreach (var c in AToZ()) yield return c.ToString();
  foreach (var c in AToZ())
    foreach (var item in AAAToZZZ(n - 1))
      yield return c + item;
}

こういうシーケンスもっと短く綺麗に書ける?
nが負の時の処理はこだわらない。(例外投げずに空のシーケンスを返すのでも可)
どうでもいいけど、yield returnとreturnは混在できなことを今日初めて知ったw

153 名前:デフォルトの名無しさん [2020/06/14(日) 03:07:11.97 ID:elQ0/Qc7a.net]
こうじゃなきゃダメかw

static IEnumerable<string> AAAToZZZ(int n)
{
  if (n < 0) throw new IndexOutOfRangeException();
  switch (n)
  {
    case 0:
      yield break;

    case 1:
      foreach (var c in AToZ()) yield return c.ToString();
      break;

    default:
      foreach (var c in AToZ())
        foreach (var item in AAAToZZZ(n - 1))
          yield return c + item;
      break;
  }
}



154 名前:デフォルトの名無しさん (アウアウカー Sac7-P9YK) mailto:sage [2020/06/14(日) 03:59:43 ID:Lj4n2emQa.net]
よくわからないけどRPGのデータベースから
単なる所持品表示と
装備品表示でBoolean型を使うなら状況が変わるのかな?

155 名前:デフォルトの名無しさん mailto:sage [2020/06/14(日) 05:02:05.56 ID:HJp96S060.net]
>>151
再起なんかせずにEnumetable.Repeatで必要文字数作って返すのじゃ駄目なん?

156 名前:デフォルトの名無しさん mailto:sage [2020/06/14(日) 13:47:32.96 ID:EPf5hgHv0.net]
再起嫌いだわ
難しいことせず素直に書くならこうかな

static IEnumerable<string> AAAToZZZ(int n)
{
if (n < 0) throw new IndexOutOfRangeException();

IEnumerable<string> result = AToZ();
for(i = 1; i < n; i++)
result = Hoge(result, AToZ());

return result;
}

static IEnumerable<string> Hoge(IEnumerable<string> items1, IEnumerable<string> items2)
{
// items1+items2の組み合わせ
foreach (var item1 in items1)
foreach (var item2 in items2))
yield return item1 + item2;
}

157 名前:デフォルトの名無しさん mailto:sage [2020/06/14(日) 17:59:06.56 ID:HWVPFncU0.net]
少し汎用化してみた
https://dotnetfiddle.net/qFcJK0

158 名前:デフォルトの名無しさん (ワッチョイ 7361-TrMf) mailto:sage [2020/06/14(日) 22:16:24 ID:ZbFg49iQ0.net]
>>154
n=0の動きがかわっちゃってない?

159 名前:150 [2020/06/14(日) 23:20:59.70 ID:FMtFwmQda.net]
みなさんありがと
やっぱり劇的に単純化できるような方法はないか

>>154
俺は再帰使った方が簡単に感じるなあ
この辺は人それぞれなんだろうか

>>155
面白いけど可読的かなあ
ビール飲みながら読んでたら頭が痛くなってきたw
ところでこういう処理をCartesianと呼ぶのは一般的なの

160 名前:
何でデカルト?
n次元の直交座標をスキャンしていくイメージ...?
[]
[ここ壊れてます]

161 名前:デフォルトの名無しさん mailto:sage [2020/06/14(日) 23:38:18.81 ID:gmXZN8yKa.net]
2次元配列の逐次処理は3Dの棒グラフだから
どう見てもデカルト

162 名前:デフォルトの名無しさん (ワッチョイ 4359-lMPZ) mailto:sage [2020/06/15(月) 12:58:53 ID:G4ousd2n0.net]
プログラムに日本語が使われた物って、日本語がインストールされていない環境でも動きますか?

変数名などに日本語を使って海外へのローカライズ時にはUIのみをその国の言語に差し替える感じで。

163 名前:デフォルトの名無しさん mailto:sage [2020/06/15(月) 18:13:18.65 ID:yRL+7o6a0.net]
>>159
作成したexeのUI(たとえばButtonコントロールのTextに「押しボタン」とか)が
日本語表示でも、文字化けが問題ないならば動くことは動く

プログラム自体の変数名(たとえば「int 合計」みたいな)であればユニコードで
保存されているはずなのでコンパイルは通るらしいけど、日本語の表示が
できない環境では読めないソースになる

プログラム実行時の画面表示でローカライズってどうやるのっていう話ならば
言語ごとのリソースを作って対応するのが普通なので「c# 国際化対応」で
ググると色々サンプルが出てるよ



164 名前:デフォルトの名無しさん (ワッチョイ 4359-lMPZ) mailto:sage [2020/06/15(月) 19:19:37 ID:G4ousd2n0.net]
>>160
複数パターンの回答感謝です。
ありがとうございます。

回答いただいた2例目が自分のパターンになると思います。
ソースコードを読まれる事を想定していない場合はコンパイルが出来れば、実行ファイルは問題なく動くという事でしょうか?

今ゲームを作っていて、海外にも配布したいです。
enumで管理している状態異常の名前などが英語だと長くてわかりにくいので日本語にしたいです。

例えばapple.pngをりんご.pngにしたりするのも問題ないでしょうか?

165 名前:デフォルトの名無しさん mailto:sage [2020/06/15(月) 19:37:58.08 ID:leNERqqha.net]
日本語ファイル名は文字化けしてたら
ファイル読み込みでエラーになりそう
ローマ字にしといたら良いんでないの

166 名前:デフォルトの名無しさん mailto:sage [2020/06/15(月) 19:41:29.43 ID:MF7iklGs0.net]
そっちはUnicodeだから恐らく大丈夫

167 名前:デフォルトの名無しさん mailto:sage [2020/06/17(水) 13:51:06.28 ID:e85N0kXp0.net]
エクスプローラーのようなファイラアプリを作っているのですが、DirectoryInfo等を利用してその都度ストレージからフォルダ構造やファイルなどを拾い上げると時間がかかってしまうためこちらでキャッシュしたいと考えています
フォルダツリーやフォルダ下にあるファイルなどの情報をキャッシュするのに適したものってなんでしょうか?
jsonでそのまま多次元配列としてシリアライズするのが最も簡単そうには思えますが、合計ファイル数が1万件近くあるとファイルサイズやパフォーマンス的にsqlite3などを利用したほうが良いのかなと色々迷ってます

168 名前:デフォルトの名無しさん mailto:sage [2020/06/17(水) 13:57:54.70 ID:0xoIejs00.net]
根本的にアプローチが間違っている。
ローカルドライブならMFTを直接読んで処理すべき。

169 名前:デフォルトの名無しさん [2020/06/17(水) 15:25:29.42 ID:GES6ctGCF.net]
エクスプローラーも1万件あるとあきらかに遅くなる

170 名前:デフォルトの名無しさん (ワッチョイ b602-vBZN) mailto:sage [2020/06/17(水) 15:38:18 ID:yVuIICiL0.net]
低レイヤのこと詳しくないけどそもそもGetDirectoriesとかGetFilesもMFTから読み込んでるんじゃないの?
FindFirstFileのラッパーなはずだけどFindFirstFileの内部ではそうしてるもんだと思ってたが

171 名前:デフォルトの名無しさん mailto:sage [2020/06/17(水) 15:46:17.14 ID:0xoIejs00.net]
MFTはNTFSにしかないから、
SDカード(普通FAT系)とかネットワーク
ドライブなら
FindXXの高レベルAPIを使用する事に
なるよ。

書籍ならWindows Internals (chap12
なのでpart2)に説明がある

Qiitaで見かけた記憶があるのでこちらを
探すってのもありかと

172 名前:デフォルトの名無しさん (アウアウウー Sa47-7nK8) [2020/06/17(水) 15:56:57 ID:wCFe9G62a.net]
>>164
そもそも本当に体感できるほど時間かかるかなあw

連番をプリフィクスしたファイル名でデータを保存する、なんて処理を結構書いてて、
その場合は当然ディクトリ内のファイル名を走査して開いてる番号を探すわけだけど、
少なくとも数千件程度のファイル数で体感できるような処理時間を感じたことはないが...

173 名前:デフォルトの名無しさん mailto:sage [2020/06/17(水) 19:29:16.87 ID:TZB3F6Mj0.net]
ファイルやフォルダを画面に描写する処理に時間がかかってたりするパターンでは?



174 名前:デフォルトの名無しさん (ワッチョイ 5fda-EdQi) mailto:sage [2020/06/18(木) 06:00:16 ID:/GutDtHv0.net]
エスパー視点だと、切断されたネットワークドライブ探して時間がかかってる。

175 名前:デフォルトの名無しさん (ワッチョイ 0b01-oh81) mailto:sage [2020/06/18(木) 07:14:38 ID:tX12dTLd0.net]
アドバイスでもなんでもないが俺も昔自分用のファイルDB作ってたんだが
起動時に対象フォルダ下のファイルをGetFilesやGetDirectoriesで収集 → DBからタグ等の細かい情報取ってきてくっ付けるってやるとき、sqliteから一つ一つwhere fullpathというように文字列で検索すると約5000件/3分くらいかかったんだよな
そこでwhereを入れず全部取得 → while (reader.Read()) sqFiles.Add();と一旦こちらのリストに全部放り込んでから
愚直にforでリストからフルパスと一致するものを探すって方式に変えたら5000件/500msというアホみたいに高速化された思い出がある

176 名前:デフォルトの名無しさん mailto:sage [2020/06/18(木) 07:24:19.57 ID:tX12dTLd0.net]
ちなみにこれじゃsqlite使う意味ねえじゃんwって思われそうだが、その初回時の検索でlong型のPrimaryKeyであるUniqueIdも取得するんで2回目以降は一つ一つ検索する場合でも普通に早い
タグ以外にもblob型の多少サイズ大きいバイナリとか色々DBには保持させてるんでな

177 名前:デフォルトの名無しさん (ワイーワ2 FF12-HKig) [2020/06/18(木) 11:07:27 ID:OoPd9bgDF.net]
forで愚直に検索中にディレクトリの状態やDBの状態が変化していなければ良いねω

178 名前:デフォルトの名無しさん mailto:sage [2020/06/18(木) 11:27:39.83 ID:8/3vTp6fa.net]
SQLiteはトランザクション無いんだっけ?
>>172みたいな自分用のDBで500ms以内に変化するようなクエリって何だろう・・・

179 名前:デフォルトの名無しさん mailto:sage [2020/06/18(木) 11:54:40.21 ID:ZcH1+5T10.net]
トランザクションいるよな
とってるときも書き込むときも

180 名前:デフォルトの名無しさん mailto:sage [2020/06/18(木) 11:58:11.67 ID:JTgDDftK0.net]
SQLiteにだってトランザクションあるでしょ

181 名前:デフォルトの名無しさん mailto:sage [2020/06/18(木) 11:59:20.73 ID:ZcH1+5T10.net]
>>177
あるある

182 名前:デフォルトの名無しさん mailto:sage [2020/06/18(木) 12:01:47.66 ID:LpN/zpxZ0.net]
SQLiteに限らずmatchならまだしも文字列の=って糞遅いでしょ、トランザクションが有効なのって書き込み時だしね
SQLiteのクエリはutf16版を使ったところで結局はutf8への変換が生じるからC#から使うとオーバーヘッドは避けられない
その上でPRAGMA encoding='UTF-16'とかしてたらまたまたキーワード部分を変換しないといけなくなったりともうめちゃくちゃ
だから一回のクエリで全件持ってきてC#上で検索すればそれくらい早くなるというのはまぁ自然

183 名前:デフォルトの名無しさん mailto:sage [2020/06/18(木) 12:03:22.57 ID:8/3vTp6fa.net]
ごめんバージョン 2.0から導入されてたね



184 名前:デフォルトの名無しさん mailto:sage [2020/06/18(木) 12:35:51.08 ID:u7MaeuvH0.net]
ファイルのデータベース管理って言うとWinFSを思い起こすな

185 名前:デフォルトの名無しさん mailto:sage [2020/06/18(木) 13:20:40.79 ID:h9R/TQ390.net]
トランザクショなるNTFS=TxFとか沼ですな。
※Vistaで導入7から8に変わった時に
デグレした機能w

TransactionalFileMgr
.Net Transactional File Manager がこのスレ
的に正解かな?

186 名前:デフォルトの名無しさん (オッペケ Sr3b-CFTz) mailto:sage [2020/06/18(木) 14:45:37 ID:N068eYZUr.net]
>>179
検索そのものが遅いんじゃなくて
5000回のクエリ発行と結果受け取りが遅いと予想したが

187 名前:デフォルトの名無しさん mailto:sage [2020/06/21(日) 13:35:38.83 ID:jQi52PAy0.net]
C#のGUIからパイソンを実行してデータ分析させたいんだけど、
すごく簡単に実現できる方法ってありませんか?

1 C#からテキストファイルでデータ出力
2 C#からPython起動し、テキストファイルのパスを渡す
3 Pythonでデータ分析しグラフ出力

みたいな感じです。
PythonからC#に受け渡すデータはありません。

188 名前:デフォルトの名無しさん mailto:sage [2020/06/21(日) 13:42:47.45 ID:bTXo9Nr1M.net]
アイロンパイソンでええんちゃう

189 名前:デフォルトの名無しさん mailto:sage [2020/06/21(日) 15:46:22.00 ID:7MKh9Chd0.net]
コマンドプロンプトのパイソン実行でええんちゃう?

190 名前:デフォルトの名無しさん mailto:sage [2020/06/22(月) 22:13:03.58 ID:zuodZOih0.net]
batファイルで、解決できそう

191 名前:デフォルトの名無しさん (ワッチョイ 0f01-5fXH) mailto:sage [2020/06/24(水) 15:59:14 ID:rxIn+gin0.net]
SQL Server Express LocalDBのSQL文の質問なんですが

CREATE DATABASE myDB;
これはちゃんと成功するんですが

CREATE DATABASE IF NOT EXISTS myDB;
こう書くと失敗します
System.Data.SqlClient.SqlException (0x80131904): Incorrect syntax near the keyword 'IF'.
Incorrect syntax near 'myDB'.

このSQL文は使えないんでしょか?かわりの方法はあるでしょか?おねがいします

192 名前:デフォルトの名無しさん (ワッチョイ 3f01-0Hhk) mailto:sage [2020/06/24(水) 16:14:51 ID:ZBvJ9IFx0.net]
>>188
DROP DATABASE IF EXISTS myDB;
CREATE DATABASE myDB;

193 名前:デフォルトの名無しさん (ワイーワ2 FFbf-qwRG) [2020/06/24(水) 16:27:10 ID:6+kkBVmVF.net]
DROP すると等価ではないな



194 名前:デフォルトの名無しさん mailto:sage [2020/06/24(水) 16:40:01.38 ID:rxIn+gin0.net]
>>189
さんくすです、DROPすると以前のデータが消えてしまいそうで
ドロップしたらうまく動くんですが

195 名前:デフォルトの名無しさん mailto:sage [2020/06/24(水) 17:06:11.29 ID:ZBvJ9IFx0.net]
>>190
おお、そうだね
文法しか気にしてなかった

>>191
CREATE DATABASE文にはIF NOT EXISTSとかのオプションは無いから>>188はエラーになる
DROPはIF EXISTSのオプションが用意されてる

188と等価にしたいならT-SQLのIF-ELSE使って存在チェックして
DBが無い場合にだけ作成すればいい
(存在チェックはDB_IDかsys.databasesを読むか)

IF EXISTS ( … )

ELSE
CREATE DATABASE …

196 名前:デフォルトの名無しさん mailto:sage [2020/06/24(水) 17:13:36.03 ID:LZQGw3mN0.net]
で、それらc#なの?
SQLの話ならスレ違いだ

197 名前:デフォルトの名無しさん (ワッチョイ 8f01-2vNH) mailto:sage [2020/06/24(水) 19:42:09 ID:H9m4GMw80.net]
DDL文

198 名前:デフォルトの名無しさん mailto:sage [2020/06/24(水) 20:43:40.85 ID:rxIn+gin0.net]
>>192
さんくすです
> IF NOT EXISTSとかのオプションは無いから
なんと、あったら便利なのにね
IF-ELSEでがんばってみます

>>193
SQL文なので若干すれ違いかなっと
似たようなことがLINQtoSQLでできればとおもったのですが

199 名前:デフォルトの名無しさん [2020/06/24(水) 22:59:21.23 ID:G18p0mGY0.net]
Entity Frameworkでデータベースと連携したい場合

public class Book{
. public int Id { get;set;}
. public string Title { get; set;}
}

モデルは↑みたいな感じになるけど
実際には↓みたいな感じに色んなデータとふるまいを持ちたいとする
public class Book{
. public int Id { get;set;}
. public string Title { get; set;}
. public List<Picrture> Picture { get;set;}
.
. (以下振る舞い等)
}

この場合って下のデータモデルからから上のDTOに変換してデータベースに入れる(取り出す時は逆)って考え方でいいのかな?
多くのサイトがEntity Frameworkでのデータベースへの突っ込み方しか書いてなくて
実際に運用する場合のデータの持ち方の考え方がよう分からん
この辺りまで詳しい本とかサイトとかあったら教えてください

200 名前:デフォルトの名無しさん [2020/06/24(水) 23:58:21.16 ID:KiDLqidP0.net]
いいんじゃない?DTOは名前の通りデータをDAOと受け渡すためだけに使って、振る舞い持たせるのは違う気がする。

201 名前:デフォルトの名無しさん mailto:sage [2020/06/25(木) 00:07:24.74 ID:pPMcnwWPa.net]
単純なアプリだとDomainModelも単純だからEntity、DomainModel、ViewModelを同じインスタンスで済ませられる場合が多い
真面目にやるならそれぞれ別のクラスにしてマッピングするんだけどめんどくさいんだよな

202 名前:デフォルトの名無しさん mailto:sage [2020/06/25(木) 00:24:04.27 ID:GAspYPHa0.net]
めんどくさいけど、アプリ自体を拡張する可能性があると分けといたほうが後々良いことがあったりなかったり

203 名前:デフォルトの名無しさん (ワッチョイ 0fa7-eW5c) mailto:sage [2020/06/25(木) 01:37:48 ID:Q34w5rfS0.net]
>>199
やめた方が無難
拡張したい階層が2-3ズレるのはよくあること
たったそれだけなのに拡張のために付けた処理が邪魔になって
本当にやりたい改修が大きな工数になってしまうことはよくあること



204 名前:デフォルトの名無しさん mailto:sage [2020/06/25(木) 08:19:30.72 ID:+9vWEdNfr.net]
>>200
「ズレる」ようなのは設計と言えないし、そんな設計したことないけどなあ

205 名前:デフォルトの名無しさん mailto:sage [2020/06/25(木) 08:48:00.18 ID:Q34w5rfS0.net]
>>201
あるやろ?
色んなリストの表示方法(文字着色、並び替え、フォントサイズ個別指定、背景色着色)を実装できるようにしたけど
客の欲しいのはページングのある印刷機能だけだったみたいな
改修にときノリで入れたフォントサイズの変更や文字や背景色がページング印刷時にうまく出ない
→ああ、無いほうが簡単だったな

っとか

206 名前:196 [2020/06/25(木) 20:33:53.95 ID:42cionTC0.net]
ありがとうございます
勉強になりました

207 名前:デフォルトの名無しさん (ワッチョイ 0f87-plLw) mailto:sage [2020/06/26(金) 07:51:51 ID:a7mre53d0.net]
c#でアクティブウィンドウがosよりも先にキーボード入力を受けとる方法はありますか?

やりたいことはリモートデスクトップを全画面で繋げている場合、Alt+Tabキーの入力は呼び出し元のosではなく、リモートデスクトップ側が取得しているように見えます。
この挙動を自作のguiでもできればと考えています。

「アクティブウィンドウがosよりも先にキーボード入力を受けとる」の認識が間違っているかも知れませんが、リモートデスクトップのような挙動を実現する方法を教えてください。

208 名前:デフォルトの名無しさん (ワッチョイ 8f01-2vNH) mailto:sage [2020/06/26(金) 08:39:13 ID:EHOqkK/F0.net]
グローバルフックしか無いと思うな
SetWindowsHookEx を調べてみなされ

209 名前:デフォルトの名無しさん mailto:sage [2020/06/26(金) 09:07:56.65 ID:wYfFflLL0.net]
>>204
余計なお世話かもしれないけど、アプリの枠の外にあるOS側での共通の操作を、1アプリの都合で勝手にフックされて違う動作になるのは使う方からするとストレスになるから気を付けた方がいいかも。
リモートデスクトップはある意味OS内OSだし、そういう例外的なケースならばアリだと思うけど。

210 名前:デフォルトの名無しさん mailto:sage [2020/06/26(金) 09:43:44.08 ID:an36r83ud.net]
>205
ありがとうございます。調べてみます。

>206
今回は自分で使いたいものなんで。
将来的に業務で使う機会があれば考慮するようにします。ありがとうございます。

211 名前:デフォルトの名無しさん [2020/06/26(金) 13:15:51.31 ID:PjbtVFt+F.net]
キーロガー禁止

212 名前:デフォルトの名無しさん mailto:sage [2020/06/26(金) 20:47:00.03 ID:EHOqkK/F0.net]
Tik Tokの完全再現をw

213 名前:デフォルトの名無しさん mailto:sage [2020/07/01(水) 15:49:13.62 ID:BmoMMcjv0.net]
20年ぐらい前からプログラミングやりたいと思い続けてきた文系おじさんだけど
数年前から少しずつ勉強し始めて、
やっとのことでちょっとしたものをC#で作れるようになってきた
おもしろいわぁ



214 名前:デフォルトの名無しさん [2020/07/02(木) 08:48:04.62 ID:+yIU1z+T0.net]
https://freesoft-100.com/review/lightbulb.html
色温度をいじれる言語ってなんでしょうか?
pythonを主に使用しているのですが、C#系でないと色温度はいじれませんか?
色温度にもモニタ側、gpu側があると思います。

215 名前:デフォルトの名無しさん mailto:sage [2020/07/02(木) 09:03:57.94 ID:unw3xiWi0.net]
>>211
詳しくないから間違ってるかもしれないが、そのアプリ単体ではなく他のアプリも含めて画面の色温度を変えるという機能なら、OSがそういうAPIを提供しているということかな。それならそのAPIを利用できる言語ならばC#に限らずなんでもいいと思うけど。






[ 続きを読む ] / [ 携帯版 ]

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

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