X



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

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001デフォルトの名無しさん (ワッチョイ 1e7b-qjLW)
垢版 |
2019/10/07(月) 20:16:17.93ID:9eyAES450
!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
0897デフォルトの名無しさん (オッペケ Src5-BEIG)
垢版 |
2019/11/26(火) 17:53:20.38ID:GH1P3tUMr
linuxにはlocateコマンドと言うものがあってファイルを高速に検索できる
これはただあらかじめフルパスのファイル名を全部取っておいて一つのテキストファイルにまとめてあるだけ

用途次第で最適な方法は異なる
0899デフォルトの名無しさん (ワッチョイ d901-QS5Z)
垢版 |
2019/11/26(火) 23:01:40.76ID:/t5k7Bse0
>>893
Redisなんてゆうデータベースあるんですね、一般的なのかな
さんくすしらべてみます
>>895
サンクスsqliteよく使われてますよね昔から
今でも普通に使われてるのかな?

>>894>>896-897
何がしたいのかとゆうと、外付けHDDの中身を書き出したい的な事がしたいのです
高性能なフリーウェアがあるとしても、自分でつくりたいのれす
0900デフォルトの名無しさん (ワッチョイ 6963-+jxl)
垢版 |
2019/11/26(火) 23:55:29.19ID:Rjqqllka0
いや、知りたいのはその書き出したファイル情報をどうしたいのか?なんだけど…
自分で作りたいというのが勉強を兼ねてるならsqliteとかでひとまず慣れるのが良いんじゃない?
0901デフォルトの名無しさん (ワッチョイ 9138-4UII)
垢版 |
2019/11/27(水) 00:05:09.92ID:a5fnDquJ0
教会作るのか扉作ってるのか木を切ってるのかっつー話よな

それはさておき
お手軽に使えるのはSQLiteでライブラリやマッパーも豊富
redisは高速でwebクラウド周りでは結構ちやほやされた
けどRDBとNoSQLの区別付いてるかは心配やな

外付けHDDの中身…か…
0903デフォルトの名無しさん (ワッチョイ d901-QS5Z)
垢版 |
2019/11/27(水) 11:14:29.53ID:TFRzaUoP0
>>900
さんくす、SQlite?そんなの古くて誰も使ってないよ?みたいな状態が怖い
>>901
さんくす、とりあえず椅子を作りたい、用途に多少合わなくても使えるから
簡単な検索、重複ファイルの処理とか?
速度は遅くていいので、簡単で扱いやすいのがいいでつね
RDBで作ろうとおもってます
>>902
そんな感じになりそう、さすがにテキストファイルは作らないけど

sqlite使ってみようと思いますが、Microsoft SQL Serverってどうなんでしょう?
定番なんでしょうか?それとも難しいとか使いにくいとか
0904デフォルトの名無しさん (アウアウウー Sa9d-xPlI)
垢版 |
2019/11/27(水) 11:29:33.07ID:IQPQs9eCa
>>903
sqliteはローカルで閉じたお手軽DBとしてはまだまだ現役よ。ローカルDBのデファクトスタンダードと言っていいぐらい。
クライアントサーバのようなシステム作りたいなら不向きだけど。
0906デフォルトの名無しさん (ワッチョイ 7190-HqzV)
垢版 |
2019/11/27(水) 12:04:05.91ID:DM2fL27g0
sqliteは組み込みDBではメジャーだろ。androidアプリの標準ローカルDBがsqliteだし。iosのcoredbだって内部はsqlite使ってるだろ?
モバイルアプリでsqlite使われまくりだろ。

まぁ、最近はrealmだのあるが
0910デフォルトの名無しさん (ワッチョイ 9138-4UII)
垢版 |
2019/11/27(水) 15:28:58.26ID:a5fnDquJ0
>>903
win環境ならSQL Serverは最有力選択肢だよ
C#前提ならVisualStudioとも統合されてるし、簡単に扱えるので取り回しもしやすくて情報も多い

気になるのはやろうとしてることに対して、若干大げさな構成かなという点かな
RDBの経験積みたいのが目的に含まれるなら全然アリよ
0911デフォルトの名無しさん (オッペケ Src5-/L9V)
垢版 |
2019/11/27(水) 17:33:31.24ID:0UC6xAmXr
インストールとかもSQLServerのインストールと設定込みになるから大げさだよ
インストール先でSQLserverの管理も必要になる(セキュリティーホールに対するアップデートなど)

sqliteがいいと思うよ
0914デフォルトの名無しさん (ワッチョイ 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導入してみようかな
0915デフォルトの名無しさん (エムゾネ FFb2-Qbqw)
垢版 |
2019/11/28(木) 15:03:25.97ID:1U78x1XWF
SQLiteって導入するほどのもんでもない
っていうか導入とかせんでも使えるし
0922デフォルトの名無しさん (ドコグロ 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からテーブル開いてデータを弄ることもできるしそこそこ便利よ
0930デフォルトの名無しさん (ワッチョイ f538-CTFU)
垢版 |
2019/11/28(木) 23:52:03.59ID:A6hZkiU20
>>927
nugetを入れると言う以前にVS使ってソリューションて作るとすぐ使える状態にあるし

SQLiteを始めとして外部ライブラリを導入するならnuget使うのはc#では基本ツールと言えるので、使えたほうが良い
パッケージ管理にnugetが最適かは置いておくとして
0933デフォルトの名無しさん (ワッチョイ 9242-3RYV)
垢版 |
2019/11/29(金) 08:44:50.30ID:k2xfmaZa0
sqliteやるとして、Dapperを使うかEF使うかは意見が分かれるところだね
ついでにSQLから始めるってことでDapperをお薦めしますが
EFはSQLを知らなくてもなんとかなるが、そのうち壁にぶち当たるだろうからね
0934デフォルトの名無しさん (アウアウウー Sacd-e3ak)
垢版 |
2019/11/29(金) 08:52:58.95ID:buffyidfa
SQLiteとEFの組み合わせはテスト専用だ
EFはサーバー用のフレームワークなのでSQLiteを使うようなスタンドアロンなアプリで使用されることは基本的にないし、
EFなんか被せたら軽量なSQLiteが台無し
0935デフォルトの名無しさん (アウウィフ FFcd-Qbqw)
垢版 |
2019/11/29(金) 12:06:03.16ID:N/f9f1S7F
SQL-Server Local DB って MSDE のこととちゃうんけ
0938デフォルトの名無しさん (アウウィフ FFcd-Qbqw)
垢版 |
2019/11/29(金) 12:30:30.51ID:N/f9f1S7F
間違ってなくて安心した
0940デフォルトの名無しさん (アウウィフ FFcd-Qbqw)
垢版 |
2019/11/29(金) 13:03:59.73ID:N/f9f1S7F
ありがとう
SQLite とは関係無いことは判った
SQLite の簡単さとは比べ物にならない
0942デフォルトの名無しさん (ドコグロ MM71-MhVQ)
垢版 |
2019/11/29(金) 19:40:54.65ID:/qBs46JEM
>>939
> Local DBはそれとインターフェイス互換性を持たせた別製品
> ExpressとCompactのあいのこみたいなもの
お前もテキトーなこと書くなよw
LocalDBはエンジンはExpressとほぼ同じで外部からの接続ができないだけ
Compactは全く別物で使えるSQLも異なる
0949デフォルトの名無しさん (ワッチョイ 0901-R3ru)
垢版 |
2019/11/29(金) 23:16:39.14ID:Z1Tig2XP0
>>930
さんくす、Nugetすごく簡単だねえ、ただ多すぎて迷う、coreにしてみた
>>931
わざわざさんくすね、LocalDBも入れてみるお
>>933
Dapperとゆう新たな単語が、、頭の片隅に

他の人もサンクス、あとは勉強してコード書くだけだね
0952デフォルトの名無しさん (ワッチョイ 0d7d-nO0S)
垢版 |
2019/12/01(日) 16:07:57.01ID:r7b9vkne0
ASP.NET Webフォームでオブジェクト指向な作りって出来ますか?Pageクラスを継承した画面ごとのクラスが基本となると思うんですが、それらとは別にドメインオブジェクトを定義すればいいんでしょうか?
古いフレームワークのせいか、参考になる情報がWeb上で見つからず困っています
0956デフォルトの名無しさん (アウウィフ FFcd-Qbqw)
垢版 |
2019/12/01(日) 17:30:22.41ID:zxgavQqmF
mdb は Access 無くても作れるし使える
wsh からも作れるし
python からでも win32com とか adodb とかで生成も操作も可能
0964デフォルトの名無しさん (ワッチョイ 2590-8b9h)
垢版 |
2019/12/02(月) 21:29:05.38ID:TV8SuK+L0
組み込みっていったっていまどきマルチスレッド当たり前で、要は
マルチユーザーでアクセスするのと同じなんだが、組み込みDBは行ロックが
ないのが痛すぎる。大きめのバッチ走らせると行ロックないから
他から更新できなくなるし。
0966デフォルトの名無しさん (ワッチョイ 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メソッドに匿名のオブジェクトを作成して渡すのであれば、宣言を含めきちんと作成した後者のコードになるような気がしてしまいますが・・・・一体どういうことなのですか?
0969デフォルトの名無しさん (ワッチョイ a22d-Mdr6)
垢版 |
2019/12/03(火) 00:00:10.26ID:joV0JnEl0
>>967=968
ありがとう、こういうものだったのか
全然知らなかった助かったよ
0970デフォルトの名無しさん (ワッチョイ a54f-MSc7)
垢版 |
2019/12/08(日) 19:26:34.55ID:NRgw7da20
WindowsフォームのListBoxのアイテムの順番を
マウスでドラッグして移動出来たりはしないでしょうか?
0972デフォルトの名無しさん (ワッチョイ a54f-MSc7)
垢版 |
2019/12/08(日) 21:37:23.18ID:NRgw7da20
ありがとう!やってみる
0978デフォルトの名無しさん (ワッチョイ 1524-Fgt1)
垢版 |
2019/12/11(水) 11:18:11.21ID:mMKqVbip0
WPFのStack、WrapPanelなどのコンテナ上の余白クリック時にイベントを追加したいのですが、Background="#00000000"とすることでそれ自体は達成することが出来ました
しかし該当コンテナ上に配置されてるButtonなどのコントロールをクリックしたときもコンテナに追加したクリックイベントを拾ってしまいます
あくまで余白クリック時のみ発生させたいのですが、何か方法はないでしょうか?
0984デフォルトの名無しさん (ワッチョイ f050-RbSw)
垢版 |
2019/12/28(土) 00:46:39.13ID:oR/9kMuC0
めちゃくちゃ初歩的な話で恐縮ですが…
Visual Studio 2019でWPFアプリを作ってみようとして最初の最初でつまづきました
参考にしたURLは↓
C# で WPF を使った Hello World アプリ - Visual Studio | Microsoft Docs
https://docs.microsoft.com/ja-jp/visualstudio/get-started/csharp/tutorial-wpf?view=vs-2019

1.新プロジェクトを作成(WPF App(.NET Core))
2.ツールボックス > コモンWPFコントロールからTextBlockをデザインサーフェイス上に配置
3.配置したTextBlockを削除
4.再度、ツールボックスからTextBlockを配置
5.このスコープで重複する名前 'textBlock' を登録することはできません。 と言われエラーになる

コントロールの名称を変更すれば良いのだとは思いますが、
表面上は1つ目のコントロールなのにtextBlock2のような名前に変更しなければならないのは気持ちが悪いです
そもそも先に配置したコントロールを削除したのに重複エラーと言われてしまうのがよく解りません
一旦配置してしまうと、削除してもどこかにデータが残ってしまうのでしょうか?
0985デフォルトの名無しさん (ドコグロ MM46-BCWm)
垢版 |
2019/12/28(土) 09:45:41.95ID:pvVVcNyyM
XAMLを見て必要なら手で直せとしか
WPFのデザイナは貧弱であり、基本的にはデザイナは補助と割り切って手でXAMLを弄る必要があるし、それが認められている
WPFは既にメンテナンスモードに入っており、今後改善される見込みもない
あとWinFormsと異なりWPFではどうしても必要な場合を除きコントロールのNameは指定しないのが基本
0986デフォルトの名無しさん (ワッチョイ f050-RbSw)
垢版 |
2019/12/28(土) 11:07:45.18ID:oR/9kMuC0
>>985
おっしゃっている"手で直す"とは、どこのことでしょうか?
例として、
1.TextBlockをデザイナに追加
2.TextBlockタグのx:Nameを"textBlock5"に変更
3.TextBlockを削除(マークアップ側のTextBlockタグも消える)
4.再度TextBlockをデザイナに追加(マークアップ側にTextBlockタグが追加される)
5.TextBlockタグのx:Nameを"textBlock5"に変更
6.重複エラー
このようになるのですが、やはり textBlock5 がどこに残っているのか見つけられません
現在のプロジェクトを対象に"textBlock5"を検索してみましたが見つかりませんでした

プロジェクト作成時はxamlが↓のようになっており
<Window x:Class="HelloWPFApp.MainWindow"
中略
Title="MainWindow" Height="450" Width="800">
<Grid>

</Grid>
</Window>
コントロールを追加するとGridタグ内にタグが追加されます↓
<Grid>
<TextBlock x:Name="textBlock" HorizontalAlignment="Left" Margin="159,236,0,0" Text="TextBlock" TextWrapping="Wrap" VerticalAlignment="Top"/>
</Grid>

参考URLのマークアップでは x:Name="textBlock" が記述されていなかったため、その部分を削除したところエラーは消えました
>コントロールのNameは指定しないのが基本
というのは、ここのx:Nameのことでしょうか?

ただ、上記の通り重複している名前がどこに残っているのか解らないため
根本的な解決になっていません
0987デフォルトの名無しさん (ワッチョイ 2fad-eHIc)
垢版 |
2019/12/28(土) 11:15:27.00ID:rkUgfi/c0
xaml は xml(テキスト)ファイルだから、テキストエディタで開いてその名前で検索してみれば見つかるんじゃないの。
見つけたら余計な設定があるはずなので、それを読み取って自力で削除すれば。
ってことでは。
0988デフォルトの名無しさん (ワッチョイ f050-RbSw)
垢版 |
2019/12/28(土) 11:24:05.48ID:oR/9kMuC0
>>987
986の書き方では良くなかったでしょうか
xamlファイルの中身は
<Window x:Class="HelloWPFApp.MainWindow"
中略
Title="MainWindow" Height="450" Width="800">
<Grid>

</Grid>
</Window>
となっていて、コントロールを追加するとGridタグ内にタグが追加されます↓
<Grid>
<TextBlock x:Name="textBlock" HorizontalAlignment="Left" Margin="159,236,0,0" Text="TextBlock" TextWrapping="Wrap" VerticalAlignment="Top"/>
</Grid>
コントロールを削除すると、TextBlockタグも消えます
コントロールの追加/削除で変更があるのはこの行だけです
その後、現在のプロジェクトを対象としてx:Nameに指定してあった値を検索しても見つからなかったんです
xamlファイルをテキストエディタで開き直しても中身は同じです
0989デフォルトの名無しさん (ワッチョイ 4624-K0SF)
垢版 |
2019/12/28(土) 11:31:09.48ID:iFSWdOZd0
>>986
XamlデザイナではC#エディタと違ってどこで重複してるのかまでは教えてくれないね確か
でもエラー箇所は下線が付くはずだからそれで見つけられるはず
x:Name=""やName=""は名指しでのアクセスが必要にならない限りは指定しないのが普通
そのコントロールでのイベントからのアクセスなら、例えば<Button Click="buttonClick" />なら下記のようにsenderをキャストすることによってアクセス出来るので、Name属性はそうそう必要にならないはず
private void buttonClick(object sender, RoutedEventArgs e)
{
var button = (Button)sender;
}
0990デフォルトの名無しさん (ワッチョイ f050-RbSw)
垢版 |
2019/12/28(土) 14:57:45.16ID:oR/9kMuC0
「x:Name="" は基本的には不要」という話は解りました
何度も書いていますが、デザイナにコントロールを配置した時点で自動生成されるコードにx:Nameが存在しているのであって
私が追記したものではありません

それはそれとして、重複エラーになってしまうことの根本的な解決法が知りたいのです
0991デフォルトの名無しさん (ワッチョイ f050-RbSw)
垢版 |
2019/12/28(土) 16:10:36.19ID:oR/9kMuC0
自己解決しました
恐らくデザイナに追加した時点でメモリにロードされ
コードを削除してもメモリ上にデータが残っているので重複とされてしまうようです
一旦xamlファイルを閉じ、開き直してからコントロールを追加するとエラーになりませんでした
0994デフォルトの名無しさん (ワッチョイ e2ad-SvJ4)
垢版 |
2019/12/29(日) 00:55:27.84ID:wQPPCmQj0
>>992-993
既存の開発終えるならそう書くしかなかろう
そんでもってあなたが入門者にMSがそう書いていたら使うでしょう
そもそも既存のWPFが完成品なのかと言われると・・・
レス数が950を超えています。1000を超えると書き込みができなくなります。