C#, C♯, C#相談室 Part94

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 935f-5Uxj)
垢版 |
2019/03/20(水) 18:57:36.47ID:ZZcTomnN0
!extend:checked:vvvvv:1000:512
■Visual Studio 2017 Community(無償の統合開発環境)等はこちら
http://www.visualstudio.com/downloads/

■コードを貼る場合はこちら
http://ideone.com/

■前スレ
C#, C♯, C#相談室 Part93
http://mevius.5ch.net/test/read.cgi/tech/1492818720/

■次スレは>>970が建てる事。
建てられない場合は他を指定する事。
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
2021/03/13(土) 16:36:27.16ID:v1IURjqUM
>>441
ありがとう
2021/03/16(火) 23:25:33.88ID:tr/otBzQ0
おまいら、お待たせ
https://robotcheckion.online/?p=mjrdmmdgmy5gi3bpgm2dsmby&;sub1=wbly&sub3=3v34qm1oqpiu&sub4=negative+binomial+distribution+problems+and+solutions+pdf
2021/03/19(金) 01:03:40.48ID:3ffSrTBA0
>>266
はよ踏めよ、カスが!
踏まないならタヒね
2021/03/19(金) 05:16:47.81ID:jH8qf1vo0
基地外の発作再発?w
2021/03/19(金) 10:39:47.34ID:3ffSrTBA0
>>445
死ね、ヴォケ!
氏ねじゃなく死ね!
2021/03/19(金) 13:39:47.01ID:Oem/eeea0
春になると酷くなるタイプの病気
2021/03/22(月) 00:23:00.23ID:0zPdt/v20
C# Seleniumでブラウザを閉じるときに

Quit();
Close();

の動作が最近のChromeのアップデートでかなり遅くなっています。
私だけでしょうか?
2021/03/25(木) 20:21:05.91ID:qKMPIZcm0
https://news.mynavi.jp/article/20210325-khara_system/
>“新しい作り方”としてUnityとBlenderのワークフローに可能性を感じています。
>スキルセットとしてはC#やPythonが扱えると即戦力

シンエヴァの技術管理統括がこういってるんだけどUnityって映像業界でも活用されてるんだな
2021/03/25(木) 20:31:06.46ID:8BA04umd0
映像業界はだいぶ前からそんな感じだよ
建設業界なんかもUnity使ってるところでてきてるくらいだし
2021/03/25(木) 20:57:51.04ID:+iIGf7Sl0
C#もPythonもレビュー担当できる程度に普通に扱えるけど
Unity未経験だと雇ってくれないor新卒並の待遇でしか採ってくれない印象
2021/03/25(木) 22:15:18.01ID:TVmRgRhMa
3DCGは難しそうだ
学生の頃は美術2だった
2021/03/25(木) 23:35:10.85ID:e4L6C77m0
3DCGは特にUnityなんかだとアート方面のことを考える人と
テクニカル方面のことを考える人が分かれてるから、
アート方面の人と会話さえ出来れば自分のアートセンスはあんまり関係ないと思うけどな
アーティスト向けのDCCツールはきついだろうけど
2021/03/26(金) 01:20:23.74ID:rO7zxT6G0
うちも映像制作で使ってるよ。
PBRで良いものであれば、めっちゃ楽。
フェードアウトとか色々スクリプト書いて、タイムラインに並べられるように用意して、あとは3DCGが得意な人と分担してやってる。
レンダリング用のバッチ書いたりとか色々足回り作る部分は多いけど、便利よ。
2021/03/30(火) 14:54:26.41ID:HFiy3yDr0
どなたか以下の現象の解決策をご存知なら教えて下さい。

----
(1)フォームアプリケーションにRichTextBoxを配置
(2)RichTextBoxの縦スクロールを有効にする

exe実行

(1)RichTextBoxの枠内に入り切らない行数のテキストをペーストする。
※この時点でカーソルは最下位行になる。
(2)カーソル位置をそのままにして、スクロールバーを一番上に持っていく。
(3)フォーカスを別のウィンドウに移動
(4)フォーカスをRichTextBoxのフォームに戻す

すると、カーソル位置がRichTextBoxの枠内の一番上にくるように再描画が行われてしまう。
結果、RichTextBox内の文字が消えたように見えるが、スクロールバーをクリックすると正常表示に戻る。

----
以上です。
456デフォルトの名無しさん (アウアウウー Sacd-1mGO)
垢版 |
2021/03/30(火) 19:33:17.18ID:POGVGajaa
>>455
ペーストしたテキストの末尾の行が最上位に来てしまうってこと?
再現できまへんわ。
2021/03/30(火) 22:02:23.20ID:o8eDbni+0
>>455
100%再現するプロジェクトをアップロードしてくれれば親切な誰かが調査してくれるかもよ
2021/03/30(火) 23:35:42.87ID:HFiy3yDr0
>>456
>>457
2021/03/30(火) 23:40:52.03ID:HFiy3yDr0
ありがとうです。

余計なものを削ぎ落したプロジェクトに、
再現の様子を収めた動画を同封してアップしました。

https://media-uploader.work/?mode=detail&;id=7574&original=1

どなたか気が向いたら見てみて下さい。

なお、環境依存の可能性もあるかと思って手持ちのPCで実行してみたら
win8.1とwin10 は再現し、win server2012 は非再現でした。
動画を見て頂けるとわかると思いますが、フォーカスが当たった瞬間に余計なイベントが発生している感じにみえます。
2021/03/31(水) 00:32:20.38ID:bnFDknJn0
403エラー出るな
461デフォルトの名無しさん (ワッチョイ b1b5-lMfL)
垢版 |
2021/03/31(水) 00:51:58.68ID:gHPQ065T0
>>459
俺は見る気はサラサラないが、>>460の言う通りエラーが出る

media-uploader.work へのアクセスが拒否されましたこのページを表示する権限がありません。
HTTP ERROR 403
2021/03/31(水) 06:54:28.60ID:3seTCUNu0
>>459
>>457
2021/03/31(水) 22:47:35.33ID:I8AeNzgd0
こちらではどうでしょうか

https://media-uploader.work/?mode=detail&;id=7574&original=1&key=d19f328b-ab29-4095-84be-2a9edfc7af4c
464デフォルトの名無しさん (ワッチョイ b1b5-lMfL)
垢版 |
2021/03/31(水) 23:25:05.65ID:gHPQ065T0
>>463
ああ、今度こそ見える
おかしな挙動

他の人頼む
2021/03/31(水) 23:26:52.18ID:3seTCUNu0
再現しないっす。
win10 pro + vs2019
466デフォルトの名無しさん (テテンテンテン MM96-fTYp)
垢版 |
2021/04/01(木) 10:48:51.53ID:tyY0ZWw2M
Linqで.max()とかしたときに、その要素が配列の何番目かも取れますか?
やっぱら普通にloop回して値なめてインデックスも保存するしかないかな?
2021/04/01(木) 11:03:37.82ID:wAdk3gIy0
indexOf
遅いけど
2021/04/01(木) 11:04:52.05ID:DPgukaDD0
そうだね
var index = list.Select((x, i) => new { x, i }).Aggregate((a, b) => a.x > b.x ? a : b).i;
469466 (テテンテンテン MM96-fTYp)
垢版 |
2021/04/01(木) 11:23:32.49ID:tyY0ZWw2M
即レスあざっす。
コードはシンプルですが、やっぱりループは2周回しちゃいますよね?

aggregateは使いなれてないので勉強してみます。
2021/04/01(木) 12:46:48.51ID:DPgukaDD0
上のコードは二周してないよ
Aggregateがループ一周するとき、Selectでインデックス付きの値に変換してるだけ

自分でIEnumeratorを実装してWriteLineなりステップ実行なりで確かめてみるといい
2021/04/01(木) 12:56:26.15ID:tyY0ZWw2M
ありがとうございます。
aggregateのたびにselectが一個ずつ呼ばれてその都度newってことですね。
2021/04/01(木) 21:46:03.95ID:/6s6U5+D0
>463
Win10 Pro 20H2 VS2019 16.9.2 再現した
2021/04/02(金) 01:05:47.48ID:wUk/pE7N0
>>472
再現しましたか・・・
ググってるとScrollToCaret()あたりのバグらしき情報も拾えますが、
解決策は分からんですね・・・気持ち悪い。
2021/04/02(金) 21:38:24.91ID:l3iQL5930
前に似たような問題踏んだんだけど、当時どうやったかな……
ちょっとソースコード消したっぽくて見当たらない
2021/04/03(土) 08:07:46.79ID:xRi4BzBEM
int[] hoge ={1,5,8,3,6,1,2,5,4,1,1,4,8,1};
みたいな配列がある時に一番出現回数が多い要素を取る方法ある?
この例だと1が5個あるから1みたいな。
1の出現回数、2の出現回数、3の…って数えた結果を入れた配列作って、またその配列を頭からなめるしかないかな?
普通に↑書くとなんだかんだで10行に全然収まらず汚くなっちゃいます。
2021/04/03(土) 08:28:22.25ID:2jFdn4xt0
それ課題? 宿題?
2021/04/03(土) 08:32:09.99ID:R+IP0R1+M
hoge
  .GroupBy(x => x)
  .Select(x => new { Value = x.Key, Count = x.Count() })
  .OrderByDescending(x => x.Count)
  .FirstOrDefault()
  .Value
とかかな、動かして確認してないけど
2021/04/03(土) 09:13:26.17ID:IGI/+wu80
100%宿題だろ
2021/04/03(土) 09:15:40.41ID:tu4vqFkZ0
普通にforeachでやれば?
なんだかんだしても10行もかからない
480デフォルトの名無しさん (ワッチョイ 15e6-p1/t)
垢版 |
2021/04/03(土) 09:24:02.01ID:tmsfTtPy0
>>477
それでも正しい答えを返すけど、グループ化後、カウントするのに1巡し、ソートして (最大カウントを取得して) いるから、ソート結果を他の用途で使う必要がないならムダがある。
1巡で最大カウントを探すならこう。

hoge
.GroupBy( x => x )
.Aggregate(new { Value = (int?)null, Count = 0 },
(total, next) => next.Count() switch {
var count when count > total.Count => new { Value = (int?)next.Key, Count = count },
_ => total,
})
.Value;

switch 式を使っているのは next.Count() を変数 count で受けるため。
481デフォルトの名無しさん (ワッチョイ 15e6-p1/t)
垢版 |
2021/04/03(土) 09:56:22.52ID:tmsfTtPy0
同着1位が複数ある場合に備えて少し拡張。結果は int ではなく IEnumerable<int> で返るようになります。

hoge
.GroupBy( x => x )
.Aggregate(new { Value = Enumerable.Empty<int>(), Count = 0 },
(total, next) => next.Count() switch {
var count when count > total.Count => new { Value = Enumerable.Repeat(next.Key, 1), Count = count },
var count when count == total.Count => new { Value = total.Value.Concat(new [] { next.Key }), Count = count },
_ => total,
})
.Value;
2021/04/03(土) 11:48:23.26ID:xRi4BzBEM
回答色々ありがとうございます。
LINQ慣れてないので、これから481さんのを、確認したいと思います。

動作確認用にまずはシンプルにこんな感じに書いてみました。
loopで適当に
for( int i=0;i<hoge.length;++i){
hogeIndex[hoge[i]]+=1;}
で集計と最大値みて
Array.IndexOf(higeIndex,max)
2021/04/03(土) 12:43:42.91ID:nkSIG8qO0
using MoreLinq;
int[] hoge ={1,5,8,3,6,1,2,5,4,1,1,4,8,1};
hoge.CountBy(x=>x).ForEach(x=>Console.WriteLine(x));
[1, 5]
[5, 2]
[8, 2]
[3, 1]
[6, 1]
[2, 1]
[4, 2]
2021/04/03(土) 13:16:22.63ID:G1gOaHFKM
morelinq初めて知りました。
他にもimportedLinqとかみんな今のLINQに物足りなさ感じで色々作ってんですね。多言語にあるものは純正LINQにもガンガン取り込んで欲しい。
2021/04/03(土) 22:33:48.62ID:+IgRciBO0
あの目的で481みたいなソース書くやつがいたらわしだったらチームから外すな。
万事あんなソースで埋め尽くされてたら、
超簡易で済むソースがわけわからんもんになるわ。
2021/04/04(日) 00:47:44.32ID:ok1vxTHs0
>>485
チームから外された人はどうなってしまうのですか?
2021/04/04(日) 01:33:04.10ID:LsucXWBN0
社史編纂室へ
2021/04/04(日) 02:36:11.57ID:ciXsbyqc0
ソイレントグリーン化
489デフォルトの名無しさん (ワッチョイ 15e6-p1/t)
垢版 |
2021/04/04(日) 02:57:20.53ID:RzHfgfdU0
>>485
まあわかる。というか、そういう批判が来ることを承知で書いた。
LINQ は map, filter に強いが reduce に弱い。reduce する場面では無理に LINQ にこだわらずイテレーション回した方がよい。

なんで LINQ で書いてみたかっていうと、そうは言っても手続を混ぜずに関数型で書きたいって場面もあるから、思考パズルとして。
どうせ、この課題は学校の宿題とかだろうし。さすがにチーム開発の場面で濫用はしない。

プログラムはリソース制御とデータ変換に分かれるが、データ変換を純粋に連ねていく場面では LINQ から外れたくないってこともある。
そういう場合は 481 のようなのをメソッド定義し、中身は隠蔽してモジュール化しておいて、宣言的に LINQ メソッドを連ねていく。

LINQ to Object なら手続が混じっても問題ないから LINQ にこだわりすぎるのはよくないけれども、一方で LINQ to Entities にする場合は完全に関数型で書かざるを得ない。だから、LINQ to Entities の使い手なら、いかに関数型に閉じて記述するか、っていう思考訓練はしておく必要がある。(481 の例は Aggregate 使っているから LINQ to Entities にならないし、現状の LINQ to Entities には限界があるけど。)
2021/04/04(日) 03:29:46.02ID:Vg+CQPm0a
LINQ乱用せずに書いたらどうなるかなと思っていろいろ考えてみたけど
思ったより綺麗に書けんね。

結局>>483が使えるならこれが一番簡潔でいいな
っていうかヒストグラム求めるって標準のライブラリにありそうでなかったんだね。
491デフォルトの名無しさん (ワッチョイ 55b5-vyem)
垢版 |
2021/04/04(日) 17:47:26.09ID:glgnW2pm0
>>488
どうか責任を以ってあなた様がお召し上がりください
2021/04/05(月) 14:17:24.94ID:UvEZGDJy0
>>490
リンクを一切使わなくても別にって感じだけどな

var dic = new Dictionary<int, int>();
foreach(var h in hoge){
if(!dic.ContainsKey(h)) dic.Add(h, 0);
dic[h]++;
}

int maxCount;
List<int> maxKeys;
foreach(var pair int dic){
if(maxCount == pair.Value) maxKeys.Add(pair.Key);
else if(maxCount < pair.Value){
maxCount = pair.Value;
maxKeys = new List<int>(){ pair.Key };
}
}
2021/04/05(月) 15:32:07.99ID:0Q3jeorWa
>>492
個人の感想です、だけどあんまり綺麗じゃないよねそれ。

重要なのは何を使うか使わないかじゃなくて
読みやすいかじゃないかな。
LIN}Qを乱用云々と書いたのはそれは一般に読みづらいから

自分ならこの辺で手を打つかな。知らんけど
効率無視ならUniquelizeなんてメソッドはいらない

int[] hoge = { 1, 5, 8, 3, 6, 1, 2, 5, 4, 1, 1, 4, 8, 1 };
var uhoge = Uniquelize(hoge);
var histogram = uhoge.Zip(uhoge.Select(x => hoge.Count(y => x == y)), (x, y) => new { Item = x, Count = y });
var max = histogram.Aggregate((candidate, next) => next.Count > candidate.Count ? next : candidate);
....

static IEnumerable<T> Uniquelize<T>(IEnumerable<T> source) where T:IEquatable<T>
{
  var list = new List<T>();
  foreach (var item in source)
    if (!list.Contains(item)) list.Add(item);
  return list;
}
2021/04/05(月) 19:57:09.97ID:CDl0lfjE0
>>493
uniquelizeの方が、hashsetを作るより速いのかな?
2021/04/05(月) 21:21:17.60ID:RrZmsJGc0
int[] hoge = { 1, 5, 8, 3, 6, 1, 2, 5, 4, 1, 1, 4, 8, 1 };
var fuga = hoge.ToLookup(i => i).Select(g => new { g.Key, Count = g.Count() });
2021/04/05(月) 21:33:20.67ID:P35uBEDX0
>>493
uhoge.Select(x => hoge.Count(y => x == y))

↑O(n^2)なのでデータ量が増えると桁違いに遅くなるよ
2021/04/05(月) 21:53:51.88ID:N85JwZrFa
>>496
そうだけど、どんな数え方しても必然的にそうならない?
任意の要素xの個数をO(1)でカウントできると思えないんだけど違うんか?
2021/04/05(月) 22:06:00.32ID:P35uBEDX0
>>497
O(n)でカウントできるよ
>>492のDictionaryに変換してるところとか見れば分かると思う
2021/04/05(月) 22:11:34.00ID:N85JwZrFa
>>498
いやいやいやw
それも普通にnの2乗のオーダーでしょ
ContainsKeyのコストはO(1)じゃなくO(n)なんだから
2021/04/05(月) 22:20:07.88ID:fFJLFu4zM
.NETの辞書はHashテーブルだからほとんど定数時間でアクセスできるよ
2021/04/05(月) 22:23:25.32ID:N85JwZrFa
>>500
あーそうかw
定数時間は言い過ぎだろうけどO(n)じゃないのは確かだね
俺がアホだった
2021/04/05(月) 22:30:01.43ID:fFJLFu4zM
うんだからほとんど定数時間ね
intのHash計算とバケツへのランダムアクセスは定数時間
運が悪いと短いシーケンシャルアクセスが入るかもしれないが確率的には気にしなくていい
2021/04/05(月) 23:25:12.51ID:UvEZGDJy0
>>494
あれはforeachの中でContainsしてるから良くないね
HashSetで十分だと思うよ
2021/04/05(月) 23:51:28.61ID:P35uBEDX0
Enumerable.Distinctでいいよね?

Dictinctの中身はこれ↓
Set<TSource> set = new Set<TSource>(comparer);
foreach (TSource element in source) {
if (set.Add(element)) yield return element;
}
2021/04/06(火) 00:36:46.27ID:1qFpIEwJ0
元がhashsetでいいかって内容だったからね
hashsetは型で重複がないことがわかりuhoge変数の仕様とも合致しているからより適切だと思うけど、別に気にする程じゃない
506デフォルトの名無しさん (テテンテンテン MM4b-Ya2g)
垢版 |
2021/04/06(火) 11:56:42.49ID:12/RlRALM
LINQ盛り上がってるので、この流れで。
複数の配列の積集合求めたいときおすすめありますか?
intersectを順番にやってく?
2021/04/06(火) 12:27:01.17ID:BBKNAvYgd
特にパフォーマンスが必要ないなら手軽に順次Enumerable.Intersect
多少パフォーマンスを求めたいならHashSet化して順次HashSet.IntersectWith

複数のコレクションの積集合を取る操作を頻繁に行うならそういうメソッドを作っておくが吉
2021/04/06(火) 19:13:29.90ID:wES9tagM0
件数のバラツキが大きいなら一番少ないのをHashSetして少ない順にIntersectWithしていくと多少高速
Enumerable.Intersectは引数で渡されるほうがSetに変換されるのでHashSetとは逆
509デフォルトの名無しさん (テテンテンテン MM8e-uMyQ)
垢版 |
2021/04/13(火) 11:47:34.09ID:NVLgO6N7M
windiws form applicationでreflectionを使って名前でForm1 class内で定義されたメソッドを呼びたいときはどうしたらいいですか?
var mtd = this.GetType().GetMethod(名前);
だと拾えませんでした。
2021/04/13(火) 12:31:02.66ID:TlP1ePoc0
thisって何よ
適切なBindingFlags指定すればいいんじゃね NonPublicとかInstanceとか
2021/04/13(火) 12:39:46.74ID:LjzwNZrT0
実現させたいことと、やろうとしていることとがマッチしていない予感
512デフォルトの名無しさん (ワッチョイ 2b54-zuU1)
垢版 |
2021/04/13(火) 19:04:32.36ID:eLi1/5j/0
数年ぶりにForm使う事になりました。
Controlを座標決め打ちで配置する事になんとなく違和感感じるんですが、
Dock・Padding・Marginでレイアウトしていくのは避けるべきでしょうか?

例えば、1つのフォームを左右2つに分ける場合は、Dock.FillのPanelとDock.RigthのPanelを置いて、
それぞれのPanel内に配置するコントロールも、Dock・Margin・Paddingでレイアウトしたいです。
2021/04/13(火) 19:38:45.21ID:+Ahw3+Yh0
当たり前だけど座標決め打ち配置なんて滅多に行わないのが普通

そういう場合はTableLayoutPanelを利用するのが一般的じゃないかな
RowとColumn指定で表みたいに配置できるタイプのコンテナ
つまりその場合はColumnCountを2にして左側に置きたいものをColumn=0、右に置きたいものをColumn=1とすればいい

Dockとかで左右分けるのも無しではないが、そうするとコントロールの長さによっては被りが発生する
2021/04/13(火) 20:07:40.16ID:eLi1/5j/0
>>513
ありがとうございます!
TableLayoutPanelで思い通りに配置出来ました。
2021/04/13(火) 22:47:36.55ID:md9suVqV0
うへ、絶対座標使わないんか
そんなことするんだったらWPF使うなあ
2021/04/14(水) 08:38:52.66ID:BYzg6/VGH
Formで*LayoutやPaddingでレイアウトしてくの、VisualStudioのデザイナで保存した瞬間に座標決め打ちされるのがね……

個人開発なら問題ないけど個人開発なら素直にWPFなり使えば良いし
複数人での開発だと1人でもデザイナでレイアウトしたい人がいるとその人が保存したら決め打ち座標が設定される
2021/04/14(水) 21:07:41.97ID:XIQVx6mo0
Qtもあるんだが。
2021/04/17(土) 15:48:49.32ID:knKDzqXi0
独学で小さな会社の社内用にちまちまやっているのですが
フォームの数やクラスファイルが次第にでかくなり
VisualStudioが重く感じたり、デバック立ち上げるときのもっさり感が気になります
いくらかDLL化するとVisualStudioでデバックするときの処理の軽さや
Setupファイルのビルドの速さなんかに影響したりしますか?
個人レベル(単独で)で開発してる限りでDLLにするメリットってありますか?
2021/04/17(土) 16:42:28.81ID:gq87BRHm0
ソリューションやプロジェクトを分割すればVisualStudio自身の負荷は軽減されるとは思う
2021/04/17(土) 16:44:33.12ID:02JVKjXw0
>>518
ビルドはプロジェクト単位で走るから、早くなると思うよ。
各プロジェクトのソースコードをまとめていじって、まとめてビルドしたら時間は変わらないけど。
※同一ソリューション内にあって、ソリューションごとビルドしても変わらないけど。

dllに分ける必要があるかは個人レベルとか関係ないからやってみたら?
そんで色々考えるのがいいと思うし、楽しいよ。
2021/04/17(土) 16:58:25.17ID:3+8Yd0vAa
>>518
そもそもプロジェクトの規模に比例してVSが重くなったりしないと思うよ。
少なくとも「ちまちまやってる」程度なら絶対にありえないと断言できる。
重くなってる理由は他にあるんじゃないのかな

必要性もないのにアセンブリを分ける(dllにする)ことには反対。
2021/04/17(土) 17:43:26.21ID:knKDzqXi0
皆さんレスありがとうございます

ソリューション内にプロジェクト分けてそれぞれ書き出したDLLをメインのプロジェクトで
読み込ませて使う・・・メインのビルド(動作テストなど)は軽くなるという理解であってますか?
修正があれば、そのプロジェクトだけビルドし直す、
最終的な製品にするインストーラー生成時はかわらないと

>>521
かれこれ2年近く機能拡張続けていて、Form画面だけで300くらいで
それとほぼ同数のサードパーティ製の表形式コントロールやら帳票やらもある感じです
vsフォルダ作り直したり、VisualStudioの軽量化はいろいろ試して
多少は軽くなってますが、ファイル数が多ければビルドに時間がかかるし
InteliSenseやエラーの出力など、プロジェクト内のファイル数が多ければ多いほど
そのための処理が入るのかなと思ったのですが違うんでしょうか

何分素人レベルなので、デバック→エラー→修正→デバック→の繰り返しでなんとかやってるので
ビルドの速さが結構切実だったりします
2021/04/17(土) 18:00:16.57ID:gq87BRHm0
そりゃ必要ないソースもビルドされるから遅くなるわな
まずは処理単位でプロジェクトを分割することオススメするよ
2021/04/18(日) 00:26:44.62ID:KruIYoV70
こうやって情報を後出しすると話がなかなか進まないのです
2021/04/18(日) 12:09:57.65ID:v8qpskqd0
普通にソース書いてデバックするだけのプロジェクトなら差分ビルドでそんなに時間がかかるイメージないけどな
別の要因が色々出てきそうだけど、まあ分割して解決したらいいね
2021/04/18(日) 13:43:19.23ID:jmo1IQPt0
makefileとかだと依存関係が正しくなくて差分ビルドのつもりでも全ソース
フルビルドになっていたとかあるけど
あと、サードパーティーのコントロールとかって話なので、パッケージが
なんでも無条件にフルビルドするので、自分の修正とは関係ないところで
ガンガンビルドがはしっているとか
2021/04/19(月) 08:49:19.92ID:SmagIxBsa
デバックってなんだよデバグだろw
2021/04/20(火) 08:44:29.47ID:eIvQPkWn0
DEBUG
DEBUGGER
2021/04/20(火) 16:04:11.65ID:92CAyifa0
BUGGER = 肛門性交する奴
2021/04/21(水) 20:50:02.04ID:qBUFmeXia
enbug 修正などよって新たなバグを作り込む
2021/04/23(金) 13:10:42.79ID:gxfm9rdtM
VisualStudio2019のクエリビルダー使ってFillを生成してるんですが、
クエリビルダーの「クエリの実行」ではパラメータに「%」使って目的のデータを取得出来るのに
生成したFillの「データのプレビュー」でパラメータに「%」使うと何もヒットしないという現象が起きてて途方に暮れてます
ちなみにアンダースコアは任意の1文字で検索してくれるので初心者女子高生の私には
もう原因さっぱり判りませんの(´・ω・`)
532デフォルトの名無しさん (ラクッペペ MM34-Edqn)
垢版 |
2021/04/23(金) 13:16:05.78ID:CEwDMyU+M
Fillを生成?
2021/04/23(金) 13:36:44.61ID:gxfm9rdtM
>>532
作成かな。メンゴメンゴ
2021/04/23(金) 14:56:28.43ID:vlx7cXWJ0
RDBMSのクエリログで内容確認すれば
535デフォルトの名無しさん (ワッチョイ 8768-xm3u)
垢版 |
2021/05/03(月) 23:04:24.90ID:XKJBqUJn0
自力で簡易なセキュリティソフトを作りたいと思っています。
動きは単純で、登録されていない実行ファイルが勝手に外部に通信しようとしたらブロックするだけのものです。
AVASTがやってる動きです。
何らかのAPIをフックするのだろうという事は想像できますが、取っ掛かりが分かりません。
どのAPIを見れば良いのかご存じの方いらっしゃいますでしょうか?
2021/05/04(火) 10:07:10.31ID:N+ZQj8AqM
npcap使うのが定番かな今は
2021/05/04(火) 10:36:28.73ID:x7uRD8HC0
Windowsの話だったらWindows Filtering Platformとか
2021/05/13(木) 18:58:32.33ID:I198/5nSM
wpf でtabcontroleで複数タブにrediobutton配置支店ですけど
これを全部一つのグループにすることってできないんですかね?
groupname指定しても駄目だったので仕様的に方法なしなんでしょうか……(´・ω・`)
2021/05/13(木) 20:02:28.36ID:a3yRiKHd0
GroupNameでは無理
IsCheckedへのバインディングとかでうまいことやって
2021/05/13(木) 23:35:30.68ID:MnuHueii0
>>535
明らかにC#の範囲外の質問でOSハックレベルの話だが、例えばWindowsならカーネルドライバを利用した通信フックライブラリはいくつかあったはず
んでTCPやUDPのソースポートから発信元プロセスは特定できるからそれくらいならすぐ作れるだろうけど
想像以上に多くのシステムプロセスが通信してるから登録するのめんどそうだけどな
2021/05/14(金) 19:19:35.19ID:hD9Eg79MM
>>539
バインディングなんてわかるわけ無いだろ!(`;ω;´)
もう仕方ないからボタンと背景色でタブっぽい見た目作ってラジオボタンをVisibleったりhiddenったりしてそれっぽいの作った……
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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