!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為)
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください
>>980を踏んだ人は新スレを建てて下さい。>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっと C#,C♯,C#(初心者用) Part145
https://mevius.5ch.net/test/read.cgi/tech/1570446977/
■関連スレ
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#(初心者用) Part146
レス数が1000を超えています。これ以上書き込みはできません。
1デフォルトの名無しさん (ワッチョイ 9f0b-Fgt1)
2019/12/11(水) 22:12:11.28ID:d09CciDz0920デフォルトの名無しさん (ブーイモ MM3b-RXZG)
2020/02/11(火) 21:41:40.77ID:3nYIWZatM Dynamicに物故んだだけみたいだからcount取れるんだろうか?
921デフォルトの名無しさん (ワッチョイ 9f47-4cqo)
2020/02/11(火) 21:41:40.83ID:P5jh7Ggu0922デフォルトの名無しさん (ワッチョイ 9f01-OQuQ)
2020/02/11(火) 22:24:57.84ID:v/oRLdRM0 DynamicJsonはIEnumerableで返してるから無理っぽいね
JsonDocumentでParseしてGetArrayLength()
https://docs.microsoft.com/en-us/dotnet/api/system.text.json.jsondocument?view=netcore-3.1
https://www.nuget.org/packages/System.Text.Json/
JsonDocumentでParseしてGetArrayLength()
https://docs.microsoft.com/en-us/dotnet/api/system.text.json.jsondocument?view=netcore-3.1
https://www.nuget.org/packages/System.Text.Json/
923デフォルトの名無しさん (ワッチョイ bfe9-1Zh8)
2020/02/11(火) 22:44:21.66ID:kqe2ZtVl0 無理ですか
メソッドチェーンで1行で書けたら綺麗だなと思っていましたが地道にカウントします
ありがとうございます
メソッドチェーンで1行で書けたら綺麗だなと思っていましたが地道にカウントします
ありがとうございます
924デフォルトの名無しさん (ブーイモ MM3b-RXZG)
2020/02/11(火) 22:48:58.27ID:3nYIWZatM いやいやいや
一行で書きたいなら自分で何でも書けばいいだけだろうw
一行で書きたいなら自分で何でも書けばいいだけだろうw
925デフォルトの名無しさん (ワッチョイ 9f01-OQuQ)
2020/02/11(火) 22:50:04.90ID:v/oRLdRM0 そういう要望ならToList()すればいいのでは?
926デフォルトの名無しさん (アウアウウー Sa9b-YLe+)
2020/02/11(火) 23:06:04.07ID:gyjqP0lja DynamicJSONは実用品というよりPOCで、今時誰も使ってないよ
デファクトスタンダードはJSON.NETで、LINQもdynamicも使える
デファクトスタンダードはJSON.NETで、LINQもdynamicも使える
927デフォルトの名無しさん (ブーイモ MM3b-RXZG)
2020/02/11(火) 23:08:02.92ID:3nYIWZatM と言うのが古い認識です
928デフォルトの名無しさん (スププ Sdbf-4cqo)
2020/02/11(火) 23:47:04.21ID:H7ejfPaYd 俺もjson.netだな
929デフォルトの名無しさん (ワッチョイ de8c-gsGW)
2020/02/12(水) 00:19:48.97ID:rDGykg1a0 json.netはデファクトスタンダード感あるな
他だとsystem.jsonとかutf8jsonとかが代替じゃないのかな
他だとsystem.jsonとかutf8jsonとかが代替じゃないのかな
930デフォルトの名無しさん (ワッチョイ 1f1b-ZGJ3)
2020/02/12(水) 03:21:12.67ID:EzkrgFvF0 たまにminijson使っちゃう
931デフォルトの名無しさん (ワッチョイ c602-FeTH)
2020/02/12(水) 04:56:26.09ID:1hZ4lR9d0932デフォルトの名無しさん (ワッチョイ af97-hMlH)
2020/02/12(水) 10:32:34.34ID:w04clBR40 Json.NETって何だ、自分はNewtonsoft.JSONしか使ったことないけど大丈夫かと思ったら前者がライブラリ名、後者が名前空間名で同じものか、焦ったわ
933デフォルトの名無しさん (ワッチョイ 1f24-OxJ8)
2020/02/12(水) 10:34:51.51ID:mj8QFo9s0934デフォルトの名無しさん (ワッチョイ 5eda-GUQA)
2020/02/12(水) 12:13:24.49ID:25nTHRNQ0 utf8jsonは早いのかもしれないけど、publicメンバじゃないとダメとか
依存ライブラリが多いとかちょっと使い勝手がな。。
あと全体に言えるけど、
DateTime型をそのままJSONに変換したときに、JSONマッパ毎に結果が異なるのはどうにかならないかな
依存ライブラリが多いとかちょっと使い勝手がな。。
あと全体に言えるけど、
DateTime型をそのままJSONに変換したときに、JSONマッパ毎に結果が異なるのはどうにかならないかな
935デフォルトの名無しさん (オッペケ Src7-oFCC)
2020/02/12(水) 12:37:02.94ID:yEPI658rr 元々のjavascriptに準拠してないんだよな
jsで読み込めないのにJSONと言い張るなよとw
jsで読み込めないのにJSONと言い張るなよとw
936デフォルトの名無しさん (ブーイモ MM0e-V8UR)
2020/02/12(水) 15:00:35.67ID:wWj3ojieM >>933
Newtonでおけ
Newtonでおけ
937デフォルトの名無しさん (スププ Sd32-5Awg)
2020/02/12(水) 19:26:15.08ID:J+lwLLR4d >>933
Newtonsoft.Json==Json.Net
Newtonsoft.Json==Json.Net
938デフォルトの名無しさん (ワッチョイ 9259-GUQA)
2020/02/12(水) 20:32:47.74ID:seLTTpXD0 listの一部要素を切り出したい時ってインデックスの指定以外で早い方法ある?
要素100で0~8,3~21,10~30,50~61,~~みたいに切り出すとして切り出す長さは事前に与えられるケース
getRangeはコピーつくるみたいなので除外して、skipとtakeはどうなんだろと調べてみたらどうにも結果が安定しない
skipは先頭からn個目まで一気にスキップするわけではなくて、順番に数えてn個までの要素を跳ばしてるのかな
要素100で0~8,3~21,10~30,50~61,~~みたいに切り出すとして切り出す長さは事前に与えられるケース
getRangeはコピーつくるみたいなので除外して、skipとtakeはどうなんだろと調べてみたらどうにも結果が安定しない
skipは先頭からn個目まで一気にスキップするわけではなくて、順番に数えてn個までの要素を跳ばしてるのかな
939デフォルトの名無しさん (ワッチョイ df4f-OxJ8)
2020/02/12(水) 20:44:32.50ID:ytylQgpT0 JSONは既にJavaScriptの仕様から乖離してるからな。
53bitを超える整数リテラルはJSONでは合法だがJSでは読めるとは限らない。
53bitを超える整数リテラルはJSONでは合法だがJSでは読めるとは限らない。
940デフォルトの名無しさん (アウアウウー Sac3-+wK4)
2020/02/12(水) 20:58:26.58ID:dQ+MgkrDa941デフォルトの名無しさん (ブーイモ MMdb-oFCC)
2020/02/12(水) 21:23:01.24ID:l05i3q7zM structで作ってメモリコピーという荒業が…
942デフォルトの名無しさん (ワッチョイ ff35-uDFW)
2020/02/12(水) 21:29:06.10ID:CnJeTJ1J0 IEnumerableって順序ないのにSkipの説明には「シーケンス内の指定された数の要素をバイパスし、残りの要素を返します」って書いてるけどシーケンスって順序決まった列じゃないの?
943デフォルトの名無しさん (ブーイモ MM0e-oFCC)
2020/02/12(水) 21:34:16.23ID:t47o0dPHM それは単なる使う側の問題では?
その都度乱数を返すIEnumerableとかあったとしてもシーケンスとして扱うことは可能
再現性がないだけで
その都度乱数を返すIEnumerableとかあったとしてもシーケンスとして扱うことは可能
再現性がないだけで
944デフォルトの名無しさん (ワッチョイ d201-b83C)
2020/02/12(水) 22:21:27.16ID:39kCYFWR0 >>938
MoreLinqのSlice<T>はListならインデックスアクセスするよう最適化されてる
https://github.com/morelinq/MoreLINQ/blob/master/MoreLinq/Slice.cs
真似して自分でSliceList定義すれば?
MoreLinqのSlice<T>はListならインデックスアクセスするよう最適化されてる
https://github.com/morelinq/MoreLINQ/blob/master/MoreLinq/Slice.cs
真似して自分でSliceList定義すれば?
945デフォルトの名無しさん (ワッチョイ 932c-VKUZ)
2020/02/12(水) 22:49:54.10ID:d7YXngVH0 スライスリストってかっこいいな
946デフォルトの名無しさん (ワッチョイ 9259-GUQA)
2020/02/12(水) 23:47:21.81ID:seLTTpXD0 >>944
こんなのあるんだなあ。ありがとう
むしろこっちの書き方に混乱した
> sequence is IList<T> list
C#7からできるようになったみたいだけど、これのメリットって変数のスコープを限定できるって理解でいい?
こんなのあるんだなあ。ありがとう
むしろこっちの書き方に混乱した
> sequence is IList<T> list
C#7からできるようになったみたいだけど、これのメリットって変数のスコープを限定できるって理解でいい?
947デフォルトの名無しさん (ワッチョイ ff35-uDFW)
2020/02/13(木) 00:08:03.05ID:uK7heoRi0948デフォルトの名無しさん (ワッチョイ ef63-3blX)
2020/02/13(木) 00:34:22.49ID:naQLfQn80949デフォルトの名無しさん (ワッチョイ 126a-OxJ8)
2020/02/13(木) 00:46:57.66ID:+Aqu6VGA0950デフォルトの名無しさん (ワッチョイ c602-FeTH)
2020/02/13(木) 01:14:35.75ID:njwtr9+20 範囲アクセスの新しい構文できたよね
list[0..5]、list[5..10]、list[a..a+5]で5個ずつ抜き出し
使ったことないけど
list[0..5]、list[5..10]、list[a..a+5]で5個ずつ抜き出し
使ったことないけど
951デフォルトの名無しさん (ワッチョイ d201-b83C)
2020/02/13(木) 01:49:45.90ID:r7bSHOfr0 >>946
パターンマッチで一発でできるのがメリットでそれ以外は副産物じゃないかな
if (sequence is IList<T> list) {
return list[5..];
}
は
IList<T> list;
if (sequence is IList<T>) {
list = (IList<T>)sequence;
return list[5..];
}
と同じイメージで変数スコープはちょっと特殊
パターンマッチで一発でできるのがメリットでそれ以外は副産物じゃないかな
if (sequence is IList<T> list) {
return list[5..];
}
は
IList<T> list;
if (sequence is IList<T>) {
list = (IList<T>)sequence;
return list[5..];
}
と同じイメージで変数スコープはちょっと特殊
952デフォルトの名無しさん (アウアウウー Sac3-H6bD)
2020/02/13(木) 01:58:34.59ID:29zvuXGOa >>946
asと同じく、型チェックが1回で済むからisキャストに比べてちょっとだけ速い
asと同じく、型チェックが1回で済むからisキャストに比べてちょっとだけ速い
953デフォルトの名無しさん (スップ Sd32-nRwz)
2020/02/14(金) 17:41:03.02ID:IZamEETxd enumの比較をvbで書いたら違う型なのに真になった
なんじゃこりゃ
c#は問題ない
なんじゃこりゃ
c#は問題ない
954デフォルトの名無しさん (オッペケ Src7-LECa)
2020/02/14(金) 18:28:00.59ID:MYdX36hLr >>953
VBには暗黙の型変換があるから
VBには暗黙の型変換があるから
955デフォルトの名無しさん (スップ Sd52-nRwz)
2020/02/14(金) 18:41:24.16ID:AIitx2itd おお、ありがとう
暗黙変換禁止すればいいのかな
暗黙変換禁止すればいいのかな
956デフォルトの名無しさん (ワッチョイ cf88-3blX)
2020/02/14(金) 18:43:32.04ID:35QeCoo80 なぜvbスレじゃないのか
957デフォルトの名無しさん (アウアウウー Sac3-+wK4)
2020/02/14(金) 19:02:11.32ID:7R4aPKWba Option Strictは関係ないみたいね。
たぶんenumの型(intかshortかbyteか)で比較するんだろう。
別にそれでもいい気がする。
個人的にはC#の参照型の==演算子は既定で参照を比較する方が気持ち悪いと思うw
実装されてなければコンパイルエラーでよかったのに
たぶんenumの型(intかshortかbyteか)で比較するんだろう。
別にそれでもいい気がする。
個人的にはC#の参照型の==演算子は既定で参照を比較する方が気持ち悪いと思うw
実装されてなければコンパイルエラーでよかったのに
958デフォルトの名無しさん (ワッチョイ efda-GrpO)
2020/02/17(月) 13:08:35.25ID:x0CaePxl0 WinFormsのTreeViewで、CheckBoxの代わりにRadioButtonを使いたいのですが、
それらしい設定を見つけきれません。
どう設定すればよいのでしょうか?
それらしい設定を見つけきれません。
どう設定すればよいのでしょうか?
959デフォルトの名無しさん (ワッチョイ df01-Wqax)
2020/02/17(月) 13:10:56.08ID:AsvyPM/w0 ownerdraw
960デフォルトの名無しさん (ワッチョイ 932c-VKUZ)
2020/02/17(月) 22:08:17.03ID:dzSo2/zk0 element host使ってwpfのlist view使うのが一番楽だと思う
961デフォルトの名無しさん (ワッチョイ 975f-SbTe)
2020/02/18(火) 22:43:14.29ID:DxyDMMqU0 DBに接続するときに以下のようなContextがあるとしてMyEntities1、MyEntities2、MyEntities3のテーブルにデータが追加されているかをtimerを回してデータCountが変わっているか調べて追加されています。
これをデータが追加されたときのみでよいのですが、削除、変更等があったときにイベントを発生されることってできますか?
public partial class MyContext: DbContext
{
public MyContext(DbConnection connection) : base(connection, false)
{
}
public virtual DbSet<MyEntities1> MyEntities1 { get; set; }
public virtual DbSet<MyEntities2> MyEntities2 { get; set; }
public virtual DbSet<MyEntities3> MyEntities3 { get; set; }
}
これをデータが追加されたときのみでよいのですが、削除、変更等があったときにイベントを発生されることってできますか?
public partial class MyContext: DbContext
{
public MyContext(DbConnection connection) : base(connection, false)
{
}
public virtual DbSet<MyEntities1> MyEntities1 { get; set; }
public virtual DbSet<MyEntities2> MyEntities2 { get; set; }
public virtual DbSet<MyEntities3> MyEntities3 { get; set; }
}
962デフォルトの名無しさん (ワッチョイ 6338-zMV9)
2020/02/18(火) 23:05:48.43ID:9xbWknqa0 DBによってはEVENTを通知する仕組みがある
仕組み以外でもtriggerとかも使える
まあ対象テーブルへの変更がEF経由のみなら、それを一律で監視するのもアリ
MyContext内部とかそのラッパーとかでeventを発火させれば済む
仕組み以外でもtriggerとかも使える
まあ対象テーブルへの変更がEF経由のみなら、それを一律で監視するのもアリ
MyContext内部とかそのラッパーとかでeventを発火させれば済む
963デフォルトの名無しさん (ワッチョイ df01-Wqax)
2020/02/18(火) 23:12:15.02ID:0qGjhB4R0 DBMS_PIPEかな?
db2とかOracleなら
db2とかOracleなら
964デフォルトの名無しさん (ワッチョイ ff2f-LiuO)
2020/02/18(火) 23:19:02.38ID:NTzSIrcU0 MyEntitiesにイベント実装するだけじゃないのか
独自イベントでもいいし、INotifyPropertyChangedでもいいかもしれん
独自イベントでもいいし、INotifyPropertyChangedでもいいかもしれん
965デフォルトの名無しさん (ワッチョイ 975f-SbTe)
2020/02/18(火) 23:29:55.78ID:DxyDMMqU0966デフォルトの名無しさん (ワッチョイ 975f-SbTe)
2020/02/18(火) 23:35:16.65ID:DxyDMMqU0 後、変えられるのは監視したいアプリ側だけで
DBと 追加しているアプリは変えられないです。
DBと 追加しているアプリは変えられないです。
967デフォルトの名無しさん (ワッチョイ ff02-IdAT)
2020/02/19(水) 00:10:09.35ID:N9gqFXA+0 軽量でない処理を行ってその処理の内容次第で適切な区分値を返すメソッドがあるとすると
メソッド名はどんな感じにするべきですか?
つまりGetHogeKubunのようにGetをつけるのが簡単ですが、
軽量でない処理を呼び出すときはGetをつけないほうがいいという話がありますよね?
私はプロパティ構文のある.NETの場合は、
Getという文言がついているからといって軽量な処理を想定しないと思って
別に適切な命名が思いつかなければ軽量でない処理でもGetを使ってきたのですが、
その考えもどうなんだろうと思ってきました。
みなさんはどうしてますか?
メソッド名はどんな感じにするべきですか?
つまりGetHogeKubunのようにGetをつけるのが簡単ですが、
軽量でない処理を呼び出すときはGetをつけないほうがいいという話がありますよね?
私はプロパティ構文のある.NETの場合は、
Getという文言がついているからといって軽量な処理を想定しないと思って
別に適切な命名が思いつかなければ軽量でない処理でもGetを使ってきたのですが、
その考えもどうなんだろうと思ってきました。
みなさんはどうしてますか?
968デフォルトの名無しさん (オッペケ Sr07-p4c1)
2020/02/19(水) 00:12:52.45ID:2IDaZuEtr 処理の内容を英文で頭につければいいいよ
計算してるのか通信してどこかから取得してるのかで違うでしょ?
計算してるのか通信してどこかから取得してるのかで違うでしょ?
969デフォルトの名無しさん (ワッチョイ e363-qdXs)
2020/02/19(水) 00:19:22.70ID:7DzKXr/O0 処理が重いとか軽いとかでメソッド名は変えないな
非同期にするとか仕組みでカバーすることはあるかもしれないけど
非同期にするとか仕組みでカバーすることはあるかもしれないけど
970デフォルトの名無しさん (オッペケ Sr07-p4c1)
2020/02/19(水) 00:21:14.61ID:2IDaZuEtr 英語の解釈
getは、基本的に置いてある物などを入手する場合に使われます。
努力をしないで物を得る時に使われる事が多いです。口語として一般的に使われています。
getは、基本的に置いてある物などを入手する場合に使われます。
努力をしないで物を得る時に使われる事が多いです。口語として一般的に使われています。
971デフォルトの名無しさん (オッペケ Sr07-p4c1)
2020/02/19(水) 00:24:20.76ID:2IDaZuEtr Getはすでに計算してある結果などを取る感じ
じゃあ計算はどこでやっててどこに入れてあるのかなあと考える
じゃあ計算はどこでやっててどこに入れてあるのかなあと考える
972デフォルトの名無しさん (ワッチョイ ff02-IdAT)
2020/02/19(水) 00:25:53.50ID:N9gqFXA+0973デフォルトの名無しさん (ワッチョイ ff01-pEhb)
2020/02/19(水) 00:49:18.60ID:GM7mImOk0 >>965
DBへの変更はできない、DBを更新してるアプリの変更はできない、かつSQL Server 2000という条件で
データの追加・更新・削除を検知したいってことでいいのかな?
そういう検知ができるようにテーブル設計されてなければ正攻法では無理
カラム追加するなりストアド使うなりバージョン上げるなりするほうが早いし安上がり
DBへの変更はできない、DBを更新してるアプリの変更はできない、かつSQL Server 2000という条件で
データの追加・更新・削除を検知したいってことでいいのかな?
そういう検知ができるようにテーブル設計されてなければ正攻法では無理
カラム追加するなりストアド使うなりバージョン上げるなりするほうが早いし安上がり
974デフォルトの名無しさん (ワッチョイ 83de-FTwr)
2020/02/19(水) 01:08:57.84ID:nQPwUMQ20 クラサバ型のアプリなんだけど
サーバー側からイベントが欲しいって言ってんじゃね?
クライアント100台全部に通知ほしい?
また、その電文は投げっぱなしのジャーマンじゃなくて応答が欲しい?
凝ったことするときはレンサバでなければサーバー側にサービスとか動かして実現することが多いかな?
俺の経験だと
サーバー側からイベントが欲しいって言ってんじゃね?
クライアント100台全部に通知ほしい?
また、その電文は投げっぱなしのジャーマンじゃなくて応答が欲しい?
凝ったことするときはレンサバでなければサーバー側にサービスとか動かして実現することが多いかな?
俺の経験だと
975デフォルトの名無しさん (アウアウウー Sae7-icJa)
2020/02/19(水) 01:12:39.27ID:9hl10qC/a >>967
>軽量でない処理を呼び出すときはGetをつけないほうがいいという話
これは聞いたことないね
MSのガイドラインではプロパティのゲッターに重い処理を書いてはいけないとなってたと思うけど、
(つまりGetXXX形式にしろ)それを聞き間違えたんじゃないか。
もちろん例外はあると思うけど、メソッド名が十分適切に「何をするメソッドか」を表現できていれば、
普通はそれが重いかどうかだいたい想像がつくのでは?
まあ、非同期メソッドにしたら軽くないことは嫌でも伝わるね
>軽量でない処理を呼び出すときはGetをつけないほうがいいという話
これは聞いたことないね
MSのガイドラインではプロパティのゲッターに重い処理を書いてはいけないとなってたと思うけど、
(つまりGetXXX形式にしろ)それを聞き間違えたんじゃないか。
もちろん例外はあると思うけど、メソッド名が十分適切に「何をするメソッドか」を表現できていれば、
普通はそれが重いかどうかだいたい想像がつくのでは?
まあ、非同期メソッドにしたら軽くないことは嫌でも伝わるね
976デフォルトの名無しさん (オッペケ Sr07-p4c1)
2020/02/19(水) 10:20:36.95ID:2IDaZuEtr 効いたことないなら調べろよと
977デフォルトの名無しさん (ワッチョイ 8f02-Uarg)
2020/02/19(水) 12:35:15.24ID:/KKpt7jl0 967が独自で見聞きしたとくに重要とも思えない、間違っていそうな情報を調べるとか時間の無駄でしかないな
978デフォルトの名無しさん (オッペケ Sr07-p4c1)
2020/02/19(水) 15:02:50.04ID:2IDaZuEtr いやいやメソッドの命名法則の基本中の基本でしょ?
979デフォルトの名無しさん (ワッチョイ 6388-qdXs)
2020/02/19(水) 15:06:48.11ID:uQe4y4Pa0 基本なのにいつまで経っても議論が絶えないめんどくさい話
IDEのリファクタリング機能が優秀になったおかげで修正が楽だから結構適当につけて後から気に入らなかったら直すスタイルになった
命名で悩む時間が減ったら作業効率あがる
IDEのリファクタリング機能が優秀になったおかげで修正が楽だから結構適当につけて後から気に入らなかったら直すスタイルになった
命名で悩む時間が減ったら作業効率あがる
980デフォルトの名無しさん (ワイーワ2 FFdf-IPX/)
2020/02/19(水) 15:39:25.68ID:cGULNOoWF string[] a = new string[]{"a","b","c"};
に対して
System.Array.Reverse(a);
でaそのものが反転してSystem.Array.Reverse(a)は戻り値がありませんが
a.Reversed() で戻り値が反転した Array で元の中身は変えない
みたいになるメソッドってありますか?
に対して
System.Array.Reverse(a);
でaそのものが反転してSystem.Array.Reverse(a)は戻り値がありませんが
a.Reversed() で戻り値が反転した Array で元の中身は変えない
みたいになるメソッドってありますか?
981デフォルトの名無しさん (ワッチョイ ff01-pEhb)
2020/02/19(水) 16:00:07.98ID:GM7mImOk0 a.Reverse().ToArray()
982デフォルトの名無しさん (ワイーワ2 FFdf-IPX/)
2020/02/19(水) 16:29:59.82ID:cGULNOoWF 引数 0 を指定するメソッド 'Reverse' のオーバーロードはありません。
って出るんだけど何が変なのかな
って出るんだけど何が変なのかな
983デフォルトの名無しさん (ワッチョイ 9361-XOS8)
2020/02/19(水) 16:34:12.36ID:TvNfUAFk0 using System.Linq;
984デフォルトの名無しさん (ワイーワ2 FFdf-IPX/)
2020/02/19(水) 16:53:50.20ID:edMDbkMkF ありがとう
お詫びに脱ぎます
お詫びに脱ぎます
985デフォルトの名無しさん (ワイーワ2 FFdf-IPX/)
2020/02/19(水) 17:01:40.22ID:edMDbkMkF 980踏んだのでついでに御相談なのですが
ふらっと C#,C♯,C#(初心者用) Part146
https://mevius.5ch.net/test/read.cgi/tech/1576069931/
ここの次スレ (Part147 ?) は立てた方が良いのでしょうか?
既に
ふらっと C#,C♯,C#(初心者用) Part141
https://mevius.5ch.net/test/read.cgi/tech/1544838367/
というスレもあるようですが重複なので放置なのか使い切った方が良いのかどっち?
ふらっと C#,C♯,C#(初心者用) Part146
https://mevius.5ch.net/test/read.cgi/tech/1576069931/
ここの次スレ (Part147 ?) は立てた方が良いのでしょうか?
既に
ふらっと C#,C♯,C#(初心者用) Part141
https://mevius.5ch.net/test/read.cgi/tech/1544838367/
というスレもあるようですが重複なので放置なのか使い切った方が良いのかどっち?
986デフォルトの名無しさん (ワッチョイ 8f7c-kENX)
2020/02/19(水) 17:08:59.58ID:c1iFkMHs0 そっちはワッチョイなしのスレ こっちはワッチョイありのスレで別物よ
だからスレ立ての時に気を付けてね
だからスレ立ての時に気を付けてね
987デフォルトの名無しさん (エムゾネ FF1f-HF0o)
2020/02/19(水) 17:27:06.99ID:IsrGexiaF ふらっと C#,C♯,C#(初心者用) Part147
https://mevius.5ch.net/test/read.cgi/tech/1582100741/
https://mevius.5ch.net/test/read.cgi/tech/1582100741/
988デフォルトの名無しさん (ワッチョイ 8f02-Uarg)
2020/02/19(水) 19:31:48.47ID:/KKpt7jl0 >>978
命名規則なんてチーム開発での決め事でしかないんだから周り合わせりゃいいだけ
一人で作ってんなら好きにすりゃいい
そんなもんだろ
っで時間がかかる時にGetを付けるかどうかとか決め事にするほどでもない内容だわ
データ書き換えしてるとかならわかるけど
命名規則なんてチーム開発での決め事でしかないんだから周り合わせりゃいいだけ
一人で作ってんなら好きにすりゃいい
そんなもんだろ
っで時間がかかる時にGetを付けるかどうかとか決め事にするほどでもない内容だわ
データ書き換えしてるとかならわかるけど
989デフォルトの名無しさん (ワッチョイ 035f-Hhsf)
2020/02/19(水) 19:46:09.06ID:fm92UHAO0 >>962>>964
timerを回して下のようにデータ件数を取得して比較する
増えていたら必要な処理をおこなうぐらいしか思いつかないんですが
MyContext内の監視の仕方を教えてくれませんか
using (var context = new MyContext(connection))
{
datacount1 = context.MyEntities1.Count;
datacount2 = context.MyEntities2.Count;
datacount3 = context.MyEntities3.Count;
}
//比較処理
Proc(datacount1 ,datacount2 ,datacount3)
>>973>>974
既製品が既製品のDBにInsartだけしていて情報を表示する既製品のアプリもあるのですが
DBにアクセスはできるので情報を表示する既製品のアプリを別に作りたいなと思っています
>>そういう検知ができるようにテーブル設計されてなければ正攻法では無理
これはどんな感じに設定されているのでしょうか?インデックスの最大値を検知とか?
timerを回して下のようにデータ件数を取得して比較する
増えていたら必要な処理をおこなうぐらいしか思いつかないんですが
MyContext内の監視の仕方を教えてくれませんか
using (var context = new MyContext(connection))
{
datacount1 = context.MyEntities1.Count;
datacount2 = context.MyEntities2.Count;
datacount3 = context.MyEntities3.Count;
}
//比較処理
Proc(datacount1 ,datacount2 ,datacount3)
>>973>>974
既製品が既製品のDBにInsartだけしていて情報を表示する既製品のアプリもあるのですが
DBにアクセスはできるので情報を表示する既製品のアプリを別に作りたいなと思っています
>>そういう検知ができるようにテーブル設計されてなければ正攻法では無理
これはどんな感じに設定されているのでしょうか?インデックスの最大値を検知とか?
990デフォルトの名無しさん (ワッチョイ a301-H85D)
2020/02/19(水) 19:55:29.18ID:Jcw8mEdu0 トリガー作って監視用のテーブルに
情報を描きこむ。
DML トリガーでggr
情報を描きこむ。
DML トリガーでggr
991デフォルトの名無しさん (ワッチョイ 7338-T5WG)
2020/02/19(水) 20:21:28.78ID:BEiBw7Bx0 それが正攻法やなあ
更新時に通知するのが一番良いけど、そこは触れなそうだし、フックポイントを用意してる気の利いた作りでも無さそうだし
何が問題で、精度や頻度やデータ件数すらわからんので、禄なアドバイスできんが
C#要素薄いし
更新時に通知するのが一番良いけど、そこは触れなそうだし、フックポイントを用意してる気の利いた作りでも無さそうだし
何が問題で、精度や頻度やデータ件数すらわからんので、禄なアドバイスできんが
C#要素薄いし
992デフォルトの名無しさん (オッペケ Sr07-K8zV)
2020/02/19(水) 20:50:13.78ID:8xnvzjDzr sqlserver2000には誰もつっこまないのか
10年近く前にサポート切れてるだろ
10年近く前にサポート切れてるだろ
993デフォルトの名無しさん (ワッチョイ 7338-T5WG)
2020/02/19(水) 20:53:26.25ID:BEiBw7Bx0 どう見ても案件的にいろいろ終わってそうだからねえ
泥縄過ぎる気配
泥縄過ぎる気配
994デフォルトの名無しさん (ワッチョイ ff01-pEhb)
2020/02/19(水) 21:41:53.11ID:GM7mImOk0995デフォルトの名無しさん (ワッチョイ 035f-Hhsf)
2020/02/19(水) 21:47:53.23ID:fm92UHAO0 基本的にDML トリガー等でDB側に用意しておくものだってことか・・・
>>991
既製品のDBアプリはいじれないので
必要なtableのデータをsqlserver2010からsqlserver2019データを移動させるつもりなのですが
ほとんどのtableは1分に一回ぐらいチェックして別のDB入れるで十分だけど一部のtableはInsertされたらすぐに別のDBに入れたい
そうなると1秒間隔でtimer回して>>989のような処理ってどうなんだ・・・?tableは100ぐらいでレコード件数多いのは100万あるので
timer回さなくてもMyContextが自動でデータ変化をチェックできるようなもっといいやりかたない?って疑問があったので質問してました
>>962
>>まあ対象テーブルへの変更がEF経由のみなら、それを一律で監視するのもアリ
これが気になるんだけど変更を一律で監視ってレコード件数とかなのだろうか
>>994
>>Proc(datacount1 ,datacount2 ,datacount3)
前回のレコード件数と比較して変わってたら2019に移動のつもりで書いていました
>>991
既製品のDBアプリはいじれないので
必要なtableのデータをsqlserver2010からsqlserver2019データを移動させるつもりなのですが
ほとんどのtableは1分に一回ぐらいチェックして別のDB入れるで十分だけど一部のtableはInsertされたらすぐに別のDBに入れたい
そうなると1秒間隔でtimer回して>>989のような処理ってどうなんだ・・・?tableは100ぐらいでレコード件数多いのは100万あるので
timer回さなくてもMyContextが自動でデータ変化をチェックできるようなもっといいやりかたない?って疑問があったので質問してました
>>962
>>まあ対象テーブルへの変更がEF経由のみなら、それを一律で監視するのもアリ
これが気になるんだけど変更を一律で監視ってレコード件数とかなのだろうか
>>994
>>Proc(datacount1 ,datacount2 ,datacount3)
前回のレコード件数と比較して変わってたら2019に移動のつもりで書いていました
996デフォルトの名無しさん (ワッチョイ a3ad-7OSh)
2020/02/19(水) 22:04:05.84ID:nHKkxEMo0997デフォルトの名無しさん (ワッチョイ ff01-pEhb)
2020/02/19(水) 22:25:12.19ID:GM7mImOk0 >>995
なんでDBContextの話をしてたのかやっと理解できた
DBContextがデータベース側の変更を自動で検知するとかは無理
楽観的同時実行制御みたいな機能はあるけど求めてるものとは違う
DB移行で新旧オンラインのまま
一部テーブルを同期させたいというユースケースなら
トリガーよりも先にレプリを考えるな
詳しくはDB板で聞けば
なんでDBContextの話をしてたのかやっと理解できた
DBContextがデータベース側の変更を自動で検知するとかは無理
楽観的同時実行制御みたいな機能はあるけど求めてるものとは違う
DB移行で新旧オンラインのまま
一部テーブルを同期させたいというユースケースなら
トリガーよりも先にレプリを考えるな
詳しくはDB板で聞けば
998デフォルトの名無しさん (ワッチョイ ffad-mvZW)
2020/02/19(水) 22:34:34.71ID:c1z4lMBX0 EntityFrameworkならSaveChangesをoverrideしちゃえばできるんじゃね?
あんま読んでないけど
あんま読んでないけど
999デフォルトの名無しさん (ワッチョイ 035f-Hhsf)
2020/02/19(水) 22:39:28.51ID:fm92UHAO01000デフォルトの名無しさん (ワッチョイ ff6a-Nz9x)
2020/02/20(木) 00:18:43.15ID:C2E41YSR0 1000ならC#死亡
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 70日 2時間 6分 32秒
新しいスレッドを立ててください。
life time: 70日 2時間 6分 32秒
レス数が1000を超えています。これ以上書き込みはできません。
