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

レス数が950を超えています。1000を超えると書き込みができなくなります。
1デフォルトの名無しさん
垢版 |
2018/12/15(土) 10:46:07.45ID:Wu4Fx0bU
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください

>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
890デフォルトの名無しさん
垢版 |
2020/10/09(金) 12:19:00.25ID:a2KfB7NN
ヘルメット開発しろ

早く入力しないと高圧電流が流れる仕組みだ
2020/10/09(金) 13:26:43.53ID:IpDZ9RMp
設計・実装と運用が根本的にかみ合ってない予感
2020/10/09(金) 13:53:03.37ID:V1E2IEC6
- 照明を落として赤いパトランプ点灯

- SF映画で自爆装置が作動した時みたいな警報音を鳴らす

- 当然プシューという音とともにスモークを噴出させることも忘れずに
2020/10/09(金) 14:26:50.22ID:8xBy2vBw
そもそも何がタイムアウトしてるんだ?
真面目な話はそれからだ

まあ、設計が悪いと思うけど
2020/10/09(金) 14:42:02.91ID:6ktS8zpy
コネクション開きっぱなしでユーザーにフォーム入力求めてると予想。
895デフォルトの名無しさん
垢版 |
2020/10/09(金) 16:22:27.55ID:n+WfHqnB
>> 894
それっぽい場合はどのように処理をすればいいのでしょうか
2020/10/09(金) 16:32:01.61ID:nKkCxIzL
>>895
>>889
897デフォルトの名無しさん
垢版 |
2020/10/09(金) 16:32:12.90ID:n+WfHqnB
1.My.settingというものに書き込んでおけば呼び出すことが出来る
2.テーブルからデータをSELECTして画面に表示したら、Oracleとの接続を切って
画面の更新ボタンを押す際にOracleと接続すれば、タイムアウトすることはない

1.2.のような理解で正しいでしょうか。
898デフォルトの名無しさん
垢版 |
2020/10/09(金) 16:32:12.93ID:n+WfHqnB
1.My.settingというものに書き込んでおけば呼び出すことが出来る
2.テーブルからデータをSELECTして画面に表示したら、Oracleとの接続を切って
画面の更新ボタンを押す際にOracleと接続すれば、タイムアウトすることはない

1.2.のような理解で正しいでしょうか。
2020/10/09(金) 16:48:55.28ID:mOpqVRBo
何のタイムアウトか分からない
何でタイムアウトしてるのか分からない

この状態でどうすればいいか話しても無駄なので
まず上の2つを明らかにしないと
2020/10/09(金) 17:15:05.54ID:8xBy2vBw
>>897
1.はとりあえず関係ない
2.は改善する可能性はある

Oracleとの接続ってコネクション開いてるだけでもタイムアウトするのか?
タイムアウトしたといってる状況とエラーメッセージとか晒せ
2020/10/09(金) 17:20:48.89ID:IpDZ9RMp
そもそも、なんで「プログラマーじゃない」って言っている ID:n+WfHqnB が改善案を求めているのかが謎
2020/10/09(金) 19:01:42.52ID:IN0CEnyU
職業的なプログラマーじゃないけどちょっとは齧ってるからやらされてるって感じじゃなのかね
903デフォルトの名無しさん
垢版 |
2020/10/09(金) 19:28:05.97ID:phKb1ah1
データベースついでに教えて欲しいんだけどさ
内蔵のSQLiteって、あれって本家のSQLiteみたいにWALを吐かせることってできないの?
2020/10/09(金) 20:24:45.78ID:6ktS8zpy
内蔵って何の?
905デフォルトの名無しさん
垢版 |
2020/10/09(金) 21:27:28.10ID:a2KfB7NN
「なんか舐められてるからここらで一発英語連発しとくか」
2020/10/09(金) 23:27:36.61ID:760t1BpC
データベースとの接続を、したり切ったりするようなものは、見たことない。
普通、ずっと接続してる

テストでは接続を切って、始めからやり直すけど

本番環境で接続処理をやり直していたら、遅くて話にならない。
ユーザー認証とか、接続の初期化処理から始めるわけだから
2020/10/09(金) 23:58:26.95ID:mOpqVRBo
普通はコネクションプール使うから
2020/10/10(土) 00:44:06.58ID:79v4aWeJ
>>907
それをやってないアプリケーションの可能性が高いよね
2020/10/10(土) 01:45:08.02ID:0SjnNOm9
普通そこら辺アーケードゲームみたいに
カードをピッで暗所番号入力とか
銀行ATMとかもさ、入力遅かったら
カウントダウンで自動ログオフするんじゃないの?
2020/10/10(土) 02:21:11.62ID:79v4aWeJ
どんな普通か知らんけど、
MySQLにアクセスしてテーブルの中身を表示して変更するアプリを自作したときのことを、いろいろ思い出した。
データベースのユーザーidとパスワードがあるわけだけど、それはアプリのセッティングに保存できるけど
毎回アプリ起動時に入力する。
データベースにconnectして、ユーザー操作を待つ。selectやupdateが必要になったとき、そのsql文を実行する。
connectionがある間は何度でも繰り返すことができる。
アプリ終了時にはconnectionをcloseする。
何だけど、これだとconnectionが使われない時間が長くなると、接続が切れる。タイムアウトするというやつ。
なのでバックグラウンドでconnectionを維持する(もしタイムアウトしたら、次に必要な時に自動でopenするとか、タイムアウトしないように、ダミーで何かする)ライブラリ機能が大抵はある。
これをコネクションプールと言う。
件のアプリは、そのあたりに問題を抱えているのではないか。
最初からコネクションプールがうまく使えていないのか、データベースかライブラリのバージョンアップでタイムアウトの設定が変わったのか
2020/10/10(土) 03:04:53.98ID:PieQlTcj
コネクションプーリングはタイムアウト対策じゃねえよ
2020/10/10(土) 03:08:30.31ID:PieQlTcj
オープンしただけのアイドル状態のコネクションがタイムアウトするならプーリング関係ない
プールに戻さないでタイムアウトするんだからな

まず何がタイムアウトしてるのかはっきりさせんと話にならん
まあどうせトランザクション開始してからユーザ入力待ってるんだろうけど
2020/10/10(土) 03:34:35.36ID:BjcbKuib
コネクションプールは、大量のアクセスに対して、事前に起動しておくもの

それで接続が速くなる
2020/10/10(土) 09:37:17.23ID:zxwCdOcf
普通のWebアプリはリクエスト/レスポンスのたびに毎回コネクションopen/closeしてる

タイムアウトの件とは関係ないがコネクションプーリングは
DBサーバーを使う場合の基本なのでちゃんと押さえておいたほうがいいyo
2020/10/10(土) 10:02:07.30ID:OrgjdyW8
いや、マジでいつまでスレチ続けんの
2020/10/10(土) 12:55:36.90ID:bjtm+bd1
話題もプールされているんだ
917デフォルトの名無しさん
垢版 |
2020/10/10(土) 16:50:19.84ID:i5KfYhU+
>>906
2020/10/11(日) 11:18:45.56ID:nehM9hsi
try~catch~finallyで質問です。
finallyを使うケース教えて下さい。
2020/10/11(日) 11:27:57.38ID:ErUdhCxH
プログラム板のスレッドの中で記述されていて
catchブロックの中でreturn文などにより処理が
スレッドの呼び出し元へ戻ってしまう場合には
try文の次に記述されたレスは実行されません。
finallyブロックを使った場合はcatchブロックの中でreturn文などが実行された場合でも必ず実行されます。
(ただしSystem.exit(0)によってプログラムが終了した場合を除きます)。
2020/10/11(日) 11:53:49.08ID:mzj9OHDg
finallyを使った記憶がないな
IDisposableを正しく実装してusingするのがC#流
2020/10/11(日) 11:56:36.28ID:2hFwVXKf
>>920
歪んだ初心者だな
2020/10/11(日) 16:21:37.29ID:SD6h9HSf
async/awaitで排他制御やる時にSemaphoreを使うけど、開放する時にfinally使うのが一般的
2020/10/12(月) 01:01:50.89ID:S+m0Jln7
必要だから実装されているのでは
924デフォルトの名無しさん
垢版 |
2020/10/12(月) 09:32:25.45ID:941JO02h
>>920 は間違ってはいないだろ
偏ってるかも知れないが

using は構文糖衣
925デフォルトの名無しさん
垢版 |
2020/10/12(月) 16:12:50.06ID:2Z4zotkW
usingっていまいち分かってないんだけど、例外が起きたときにも破棄されるの?
2020/10/12(月) 16:26:28.81ID:sR+xz/oc
されるよ、むしろそのため
2020/10/12(月) 18:48:18.31ID:8cHhoAHg
using変数宣言とref structで無駄なヒープ確保をせずにDisposeを呼べるようになったのは良いね
ネイティブ周りで重宝する
928デフォルトの名無しさん
垢版 |
2020/10/13(火) 16:23:58.19ID:401SSeVR
ASP.Net Coreで使用しているデータベースを、他の種類のデータベースに移行する手段があれば教えてください
具体的には、SQLServer Expressから月500円の激安マネージドMariaDBに乗り換えたいんです
2020/10/13(火) 16:48:03.80ID:mavYzj73
あるよ。
930デフォルトの名無しさん
垢版 |
2020/10/13(火) 16:50:21.93ID:XwYEVn5U
>>928
やれるかどうかじゃない
やるかどうかだ
931デフォルトの名無しさん
垢版 |
2020/10/13(火) 17:00:55.89ID:cMrfgH2T
月500円の激安マネージドMariaDBに問い合わせろ
932デフォルトの名無しさん
垢版 |
2020/10/13(火) 17:16:14.21ID:401SSeVR
MariaDBで動かして見て、どんな感じのテーブルが作られるか自分で確認して、手動で移行するしかないのかな?
933デフォルトの名無しさん
垢版 |
2020/10/13(火) 17:33:50.55ID:qH5Vi/SO
こんな質問するような馬鹿には無理では?
2020/10/13(火) 17:45:52.97ID:/Rq/oe7M
EFとか使ってれば差異はある程度吸収してくれるけど、
生SQLベッタベタに書いてたら厳しいだろうな
2020/10/13(火) 19:34:28.59ID:RxzDulGv
SQLiteでええやん
936デフォルトの名無しさん
垢版 |
2020/10/13(火) 19:57:12.80ID:qH5Vi/SO
↑追加の馬鹿が来た
937デフォルトの名無しさん
垢版 |
2020/10/13(火) 22:03:08.89ID:401SSeVR
まあ無理そうだけど、どうやるんかな
なんか手段が用意されてないんだったら難しいわ
938デフォルトの名無しさん
垢版 |
2020/10/14(水) 00:03:56.10ID:uO7Ua6+h
あまりに頭が悪そうでコメントすると泥沼化しそう
こんなの雇ってるクソ会社あるのか
2020/10/14(水) 00:08:35.62ID:NlzTC5au
頭悪い奴「頭が悪そう」
940デフォルトの名無しさん
垢版 |
2020/10/14(水) 00:48:34.18ID:BYmezqa4
結論はこれ
「馬鹿には無理」
2020/10/14(水) 01:51:56.07ID:ZvC0XGAE
そのソフトはデータベースを変更できるように作られているのだろうか
多分なってないのでソースコードレベルで変更が必要なのではないだろうか
2020/10/14(水) 05:50:47.73ID:z5Uy/Vd3
Ruby on Rails では、sqlite, postgresql, mysql の3大DB を、
単一のRuby ファイルで定義できる

それを実行したら、各DB の型に合わせて、表が作られる。
表の型などを抽象化してる
2020/10/14(水) 07:38:24.52ID:MAVLXRyI
それだと最大公約数になるからDBのポテンシャルを発揮できない
2020/10/14(水) 07:42:41.11ID:ntkkf+xd
なんで突然ruby?
945942
垢版 |
2020/10/14(水) 08:08:27.41ID:z5Uy/Vd3
その代わり、個別のDB の特別な機能を使うと、可搬性が無くなる

どちらを選ぶか、難しい
2020/10/14(水) 15:55:52.84ID:/YzYSvC9
>>944
別言語だけど Railsでは、そういう実装になってて
C#でも同様の実装になっていればデータベースを替えるのも簡単

という話だとおもうけど、そのアプリがMS SQL ServerとMariaDBと
どっちでも動作するようになっているのなら、インストールし直せば
OKなんじゃないかな
2020/10/14(水) 16:06:12.99ID:xu8Uupog
このruby荒らしは実際に使ったこともないただの頭の悪い人とバレたな
2020/10/14(水) 16:56:46.74ID:PQeg+6lO
>>946
インストールし直せばってなんじゃい

ORM使ってDBMSに依存したSQLを書いてなければ
設定変更でアプリの修正は終わるって話
それはRails(ActiveRecord)でもEF Coreでも同じ

データ移行は別途必要
2020/10/14(水) 18:54:47.87ID:MAVLXRyI
将来的にやるかどうかもわからないRDB移行を楽にするためのものというよりは
システム管理者がバックエンドのストレージを選べるメリットのほうが価値としては大きい
2020/10/15(木) 00:54:01.16ID:VyNwlTHB
ああ、あのrubyの変な人だったのか
2020/10/15(木) 19:28:50.37ID:WZPJX9UA
NGワード:uby
2020/10/15(木) 21:16:23.76ID:j3TfrCLP
ぅゅ……
953デフォルトの名無しさん
垢版 |
2020/10/16(金) 02:23:53.26ID:kSQNYYOM
using System;

namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
int[,] ma = new int[,] { { 1, 2, 3 }, { 4, 5, 6 } };
int[,] mb = new int[,] { { 6, 3, 4 }, { 5, 1, 2 } };
int[,] mc = new int[2, 3];

for (int i = 0; i < 2; i++)
{
for (int j = 0; i < 3; j++)
mc[i, j] = ma[i, j] + mb[i, j];
}
for (int i = 0; i < 2; i++)
{
for (int j = 0; j < 3; j++)
Console.Write(string.Format("{000}", mc[i, j]));
}
}
}
}
System.IndexOutOfRangeException: 'Index was outside the bounds of the array.'
というエラーが起きます
配列のレンジをはみ出してはいないと思うのですが、どう直したらいいんでしょうか
2020/10/16(金) 02:39:52.51ID:YCT/0knJ
2番目のforの条件式がjじゃなくてiになってるよ
2020/10/16(金) 02:44:43.74ID:SmZ3YqvD
添字はこの手の問題が頻発するからなあ
2020/10/16(金) 02:45:43.56ID:SmZ3YqvD
C#なんだから型使えばいいのに
957953
垢版 |
2020/10/16(金) 02:52:28.99ID:kSQNYYOM
ありがとうございました..
全然気づかなかったです
勉強法がわからないんで手持ちのC言語の参考書の例題をC#で一つづつ書き直してるところです
958デフォルトの名無しさん
垢版 |
2020/10/16(金) 03:04:54.86ID:mkv3kCzf
>>953
iとjの間違いじゃ?
×for (int j = 0; i < 3; j++)
○for (int j = 0; j < 3; j++)
やりたい事と合ってるかどうか知らんが
Console.Write(string.Format("{000}", mc[i, j]));

757968で、エラーなしで出力されます。
2020/10/16(金) 03:10:59.01ID:mkv3kCzf
実行確認してたら亀レスだったorz
CとC#は別物では?新しく買い直した方が良いのでは?
2020/10/16(金) 03:15:48.03ID:rCAM8r34
>>953
linqなら1ステップで行けそうだな。
ビバLINQ
2020/10/16(金) 03:17:33.49ID:I/ihOPsA
>>957
vs使ってないの?エラーの箇所すぐわかるじゃん
2020/10/16(金) 03:21:23.72ID:kSQNYYOM
新・標準プログラマーズライブラリ なるほどなっとく C#入門
この本注文したんですがプライムデーで混んでるのか全然届かなくて。

年内にある程度使えるようになりたい
2020/10/16(金) 03:22:18.38ID:kSQNYYOM
>>961
今回エラーが出なかったんですよ
実行中に例外で止まるんですが止まる行が
mc[i, j] = ma[i, j] + mb[i, j];
の行でした
2020/10/17(土) 19:12:24.84ID:PP8bTAlg
馬鹿には無理な例だな
2020/10/17(土) 21:07:09.85ID:9iD8hqCl
>>964
馬鹿じゃないお前はRuby使ってろ
馬鹿
2020/10/17(土) 23:10:24.08ID:hr8QrpsO
>>965
ID:kSQNYYOMの馬鹿さ加減がわからない馬鹿
2020/10/17(土) 23:47:43.36ID:5+/OiZrO
>>962
本を読むよりDOBON.NETを読んだりしながら適当なツール自分で作った方が上達は早いぞ
そして掲示板で聞く前にVSのデバッガを使いこなしたり自分で何でもググって調べる癖をつけるようにした方がいい
ネットで質問するのはググって5分で見つかることを回答してもらうまでずっと待つということだから効率が悪すぎる
2020/10/18(日) 00:21:45.35ID:Oa0gZ2cf
俺は本「も」読むのがいいと思う
ネットの情報でつまみ食いばかりしてると
流れが身につかなくて何も作れないままってなる鈍臭いやつもいるから

そうでない才気あふれる人間なら何やっててもすごくなるけど
2020/10/18(日) 04:34:48.20ID:l893GX8C
ネットの情報は新旧入り乱れてるからことが多いから前提となる知識のない初心者は混乱しがち
2020/10/18(日) 09:19:26.79ID:DMDt9rkO
>>962
注文した後に言うのもアレだが、C#は各言語の中で最も日本語WEBサイトが充実してるから本は不要なんだけどな
上でも言われてるDOBON.NETやufcpp.netの2サイトだけで上級者レベルまで学べる
2020/10/18(日) 10:46:36.68ID:NS/00dNr
そうかなあ
今時はC#も主流はWeb開発なわけだけど、ASP.NET Coreを学べる日本語のサイトなんてMS公式以外にはほとんど無いぞ
2020/10/18(日) 10:49:21.41ID:S5nNaIhQ
今の.NET界隈はMSが米で主流な内製開発の軽いノリに迎合しすぎて、もはやジャップSIには全く適さない代物になってしまってる
2020/10/18(日) 10:52:34.27ID:+vZczgoX
今はどの言語もまず最初に公式チュートリアルから始めて
その後に本で理解を深めていくのが良いと思う
https://docs.microsoft.com/ja-jp/dotnet/csharp/tutorials/
https://docs.microsoft.com/ja-jp/learn/browse/?terms=C%23&;resource_type=learning%20path

>>971
言語を学ぶこととフレームワークを学ぶことは分けて考えないと
2020/10/18(日) 11:17:16.00ID:JEwJ8IKM
そもそもmsのドキュメントの機械翻訳のレベルが低すぎるっていう
975デフォルトの名無しさん
垢版 |
2020/10/18(日) 11:41:29.97ID:H1xH1BRx
ほんそれ
2020/10/18(日) 11:42:23.08ID:FUmO+ya0
最近特に酷いな😅
2020/10/18(日) 11:57:14.63ID:hLOQkzaY
WOWを「わお」とか訳してくれたことに比べれば
2020/10/18(日) 12:53:53.68ID:Lw+GI6g9
昔と違って今は何でもかんでも日本語訳される時代じゃないからね
英語で読めない人は取り残されるだけ
2020/10/18(日) 17:12:04.66ID:GgXa8sFd
>>978
「昔と違って今は何でもかんでも日本語訳される時代じゃない」
まるで昔は何でも日本語訳されていたかのような
2020/10/18(日) 17:16:12.19ID:FUmO+ya0
スキあればマウンティング。
オートマウンティングデーモンか
981デフォルトの名無しさん
垢版 |
2020/10/18(日) 18:46:10.75ID:bt0xe+ws
switch文も式になるけど、何でもかんでも式になる方がいいことなのか?
2020/10/18(日) 19:31:06.35ID:S5nNaIhQ
いいかどうかはともかく流行りではある
ついていけないなら引退するしかない
2020/10/18(日) 19:48:17.38ID:pSLLNISm
switchって縦にコードが長くなるしね。。
2020/10/18(日) 19:49:30.22ID:6x+7Jy+N
昔のVBVCは単語でF1押せばとりあえず日本語ヘルプが出てきた
ここでも国力の低下を実感するよね
2020/10/18(日) 21:12:02.46ID:L/8uXyJY
>>981
副作用のないコードを書くのが少しでも楽になるならいいことだ
2020/10/18(日) 21:16:43.91ID:o5mWc93K
人手で翻訳したバージョンが提供されたのは確かVS2010の時代が最後じゃなかったかな。
どっちにしろ別に最近の話じゃないね。

日本の国力というよりMSの経営方針が変わったんだろうね。
知らんけどたぶんバルマーさんの発言力がその頃弱くなったんじゃないか

いわゆる"as is"でいいから手動翻訳された古いバージョンも読めるようにしておいてくれればいいのにね。
別に英語でも読めるけど日本語の方がやっぱり早く読めるし斜め読みもしやすいよね
2020/10/18(日) 21:21:16.65ID:FUmO+ya0
WIN32APIのHELPはVS2までだっけな
2020/10/19(月) 00:11:08.07ID:QQYfduDC
>>983
if分みたいにcase毎にアウトラインを畳めればなあ(visual studio)
2020/10/19(月) 05:42:05.38ID:bpzVn112
英語で表示してgoogle 翻訳使ってる
レス数が950を超えています。1000を超えると書き込みができなくなります。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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