X



ふらっと C#,C♯,C#(初心者用) Part152
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん (ワッチョイ 3f2c-RUy2)
垢版 |
2021/08/25(水) 19:44:16.81ID:tgvUkE6r0
!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為)

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

■前スレ
ふらっと C#,C♯,C#(初心者用) Part151
https://mevius.5ch.net/test/read.cgi/tech/1621129559/
■関連スレ
C#, C♯, C#相談室 Part94
https://mevius.5ch.net/test/read.cgi/tech/1553075856/
■コードを貼る場合は↓を使いましょう。
https://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/
https://docs.microsoft.com/en-us/dotnet/standard/class-libraries
https://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
0107デフォルトの名無しさん (アウアウクー MM7d-RsuP)
垢版 |
2021/09/10(金) 13:27:04.04ID:2x+uyMAnM
IEnumerable<int?>からint?へのキャストはどのように行うのでしょうか?
キャストの方法を調べても見つけられず、とても初歩的な質問で申しわけありませんが教えてください
0108デフォルトの名無しさん (ワッチョイ e6bb-kRcQ)
垢版 |
2021/09/10(金) 13:37:39.15ID:LCboCW1+0
Razor Pagesのチュートリアルをやってるんだけどさあ
Sqliteを使った時って、app.dbとかいうファイルが作られるけど、これどうやって中身を見れるの???
$ sqlite3 app.db
みたいにしたら、暗号化されてるかもしくはデータベースではないって言われてしまう
暗号化されてるとしても暗号化キーなんて知らんぞ・・・・
0115デフォルトの名無しさん (アウアウウー Sa21-xJJl)
垢版 |
2021/09/10(金) 16:30:51.57ID:GiqDbYXEa
>>110
Selectって名前から連想して複数の要素の中から一つを選択するメソッドだと
思ったのかもしれないけどそうじゃない(そうだとしてもそのコードは奇妙に見えるけどw)

Selectは数学で言えば集合の要素に変換関数を適用して写像(別の集合)を作るメソッド。

LINQのチートシートみたい記事ないかなと思って今検索してみたら
書いてくれてる人がいっぱいいるみたいなので、そういうの読んで自分が求めているのは
どれなのかよく考えた方がいいと思う
0117デフォルトの名無しさん (ワッチョイ 3d24-wHYb)
垢版 |
2021/09/10(金) 16:43:33.35ID:RmQ4ECJ80
>>110
IEnumerable<int?>はint?の複数形なのは理解してる?
つまり複数形を単数にキャストしたいと言われても複数あるうちのどれ?ってなる
んで具体的なコードまで書いてもらいたいならnumbersの型まで書いいたほうが良い
orderNumがメンバ要素なのかインデックス変数なのかでみんな混乱してる

メンバってことで先頭が欲しいなら>>112でもいいしnumbers.FirstOrDefault()?.orderNum;の方がスマートかもしれない
0119デフォルトの名無しさん (ワッチョイ f1e4-RsuP)
垢版 |
2021/09/10(金) 18:34:13.47ID:LP/p1r6F0
遅くなってすいません。
皆さんがおっしゃる通り、Selectの挙動が理解出来ていないまま使っていました。

EFでデータベースとやり取りをしており、numbersはテーブルを表し、
orderNumはその中のひとつのカラムです。
情報も不足していてすいません。
このテーブルにはひとつのレコードしかなく(numbers[0]の意味) Selectすれば要素を取得出来るだろうと考えていました。
0120デフォルトの名無しさん (ワッチョイ eae4-qx3O)
垢版 |
2021/09/10(金) 18:43:21.63ID:3/k8+9750
>>93
コントロールコネクションとデータコネクション処理の区分けしていない、どんな
順番で実行しているかも分からないのでどこがおかしいとか言うのは無理かな
プロトコルの実装はシーケンスが見えないとアドバイスのしようがないよ

1.は単純にいえば確保したバッファのサイズを越えて読み込もうとしているか、
グルグルReciveでバッファの割り当て忘れているかだと思うけど

2.で1.を削るっていうのが何の処理を削ったのかよく分からないけど、PASVで
「226」は返ってこないはずなので、サーバがおかしいのでなければコントロール
コネクションの制御が間違っていて他のコマンドのレスポンスを見ているか、
以前のコマンドのレスポンスを見ているのではないかな
0122デフォルトの名無しさん (ワッチョイ a95f-dGLa)
垢版 |
2021/09/10(金) 21:46:29.33ID:EWGbhKdq0
https://www.c-sharpcorner.com/article/using-oxyplot-with-xamarin-forms/
上記サイトを参考にグラフを表示させたんだが、背景が黒になってしまうので白にしたい。
どうすればいいでしょうか?

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms";
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml";
x:Class="testxamarin2.Pages.Gurafu2"
xmlns:oxy="clr-namespace:OxyPlot.Xamarin.Forms;assembly=OxyPlot.Xamarin.Forms" xmlns:local="clr-namespace:testxamarin2.Pages">


<ContentPage.BindingContext>
<local:OxyExData />
</ContentPage.BindingContext>

<oxy:PlotView Model="{Binding PieModel}" />

</ContentPage>
0125デフォルトの名無しさん (ワッチョイ 4a47-aIS6)
垢版 |
2021/09/11(土) 11:05:16.93ID:svdFBuj80
>>123
C#だろ
0127デフォルトの名無しさん (ワッチョイ ea79-Ix9S)
垢版 |
2021/09/11(土) 18:25:58.13ID:E5TnD1wu0
データ集計用にSystem.Windows.Forms.DataVisualization.Charting.Chartを使ってグラフを描画して画像保存をやっています。
特定のX軸のグラフのプロット座標をスクリーン座標かクライアント座標として得たいのですが、何か方法はあるでしょうか。
目的はグラフのY軸のピーク値とかのプロット地点の横に注釈を入れることです。
ChartオブジェクトのPostPaintイベントを追加してSystem.Drawing等でChartコントロール上に描画はできることは確認できていますが、
描画するにもグラフの各座標が判らなくて困ってます。
0131デフォルトの名無しさん (ワッチョイ 66b5-wHYb)
垢版 |
2021/09/11(土) 21:52:55.11ID:8euuf7tr0
Visual Studio 2019でC#の単体テストのプロジェクトを新規作成する場合、
MSTest
NUnit
xUnit
と三つあるのですが、どれがお勧めですか?
最も一般的なのを教えてほしいです。

ちなみに、OSはWindows 10で、.NET Coreを使い、
GUIを用いないデスクトップ・アプリケーションのテストをしたいです。
0134デフォルトの名無しさん (ワッチョイ 66b5-wHYb)
垢版 |
2021/09/15(水) 01:25:28.31ID:YP1Us53j0
単体テストで使うAssert()などのコードは、
バージョン管理ツールで保存するときは一緒に保存しますか?
単体テストで使うコードは本番環境にも入れたままにするのですか?
0140デフォルトの名無しさん (アウアウウー Sa21-xJJl)
垢版 |
2021/09/16(木) 12:32:37.57ID:f8nFECPPa
>>138
むしろ「それ」をあえてインスタンスメソッドにする必要があるのか、
と考えるべきだろうね。

普通はないはずだと思うけどあると確信できるなら別にいいんじゃないの?
普通はないはずだと思うけどねw
0148デフォルトの名無しさん (ワッチョイ f72f-fBlf)
垢版 |
2021/09/20(月) 18:11:02.65ID:IjMClDHV0
>>146
でもわたしはあなたの頭がハゲってるのが心配なんですよ
0152デフォルトの名無しさん (ワッチョイ ffa7-UBH7)
垢版 |
2021/09/20(月) 20:53:43.86ID:gtjvoIz80
>>144
スレッド
注意点一覧

・シングルコアで動くか?
・応答がないときに自決するか?
・失敗時のメモリリークはないか?
・タイムスケジュールはあるか?(例:1分の内AスレッドはX秒、BスレッドはY秒等)
・生存確認方法はあるか?
・実行中の状態は取得できるか?
・ログは出力できるか?
・最大使用メモリは把握できているか?
・失敗時のリザルトの受け取り方法は適切か?
・処理が複数失敗する可能性は考慮できているか?(例:ファイルオープン成功→ファイル書き込み失敗→ファイルクローズ失敗→tempフォルダ削除成功のとき何が返る?)

決めるのが面倒なら使うべきでないと思う
0155デフォルトの名無しさん (ワッチョイ f79b-deHC)
垢版 |
2021/09/21(火) 00:20:00.53ID:wZ9Exopu0
c# プログラマの書いたコードは美しい音楽のようだった。

タリバンは音楽家を処刑してるので、c# プログラマを対象に加えるべき。

c# って普通に考えたら音楽の符号だし、c# プログラマがすすめてくる「リーダブルコード」って本はどう見ても音楽関連。

https://i.imgur.com/nmlX1tw.jpg
0158デフォルトの名無しさん (ワッチョイ ff33-BRxd)
垢版 |
2021/09/21(火) 08:28:39.59ID:Tfcqtuvs0
>>157
自分の場合プログラム経験無しから「独習c#」を概ね理解しながら独学で読み進めるのに3ヶ月かかった。
LINQ やTaskなどは実践や実務でないと本だけでは習得は難しいと思う。
0160デフォルトの名無しさん (ブーイモ MMcf-JfpL)
垢版 |
2021/09/21(火) 10:40:19.83ID:iEeiy+NhM
>>158
それな
実際どういうコード組んでるかとか不文律の部分がてんでわからん
型の宣言にしたって最初にまとめておいたほうが良いのか、なら使い捨て変数なら使うところで良いのかとか
0162デフォルトの名無しさん (ワッチョイ ff33-BRxd)
垢版 |
2021/09/21(火) 12:21:47.37ID:Tfcqtuvs0
>>161
まあ不安が無くなってきたのは、2周目の読破が2ヶ月、3周目が1ヶ月で、合計半年過ぎた頃ですけどね。
c#もバージョンが上がって機能が増えて、初見さんには段々難しくなってきてると思う。
0163デフォルトの名無しさん (ワッチョイ 9f01-OeDJ)
垢版 |
2021/09/21(火) 14:33:26.01ID:MozgKoB30
先生質問です。Bitmapの保存でエラーです
問題を単純化するために空のBitmapを保存して試して見たところ再現したので貼ってみます
デスクトップを始めとして特定のフォルダにだけ保存できません!
新規に作ったフォルダは大丈夫です。以前からあるフォルダでも保存出来るものもあります
セキュリティの関係かと思い、フォルダ右クリ→プロパティ→セキュリティのタブ で
比較したのですが全く同じであるにも関わらず一方だけ保存できません(ちなみにwin7)
VisualStudioのdebugフォルダの中だと保存可能です
考えられる原因、なにかありますか?

using (Bitmap bmp = new Bitmap(100, 100))
using (Graphics g = Graphics.FromImage(bmp))
{
var fullPath = "";
fullPath = @"E:\SS\aa.png";//× このフォルダの名前をSSSに変更すると〇
//fullPath = @"SS\aa.png";//〇 相対パス(debugフォルダ内)
///fullPath = @"F:\test\aa.png";//〇
//fullPath = @"E:\SSS\aa.png";//〇
//fullPath = @"C:\Users\(ユーザー名)\Desktop\aa.png";//×

bmp.Save(fullPath, ImageFormat.Png);
//↑ここでエラー
//System.Runtime.InteropServices.ExternalException: 'A generic error occurred in GDI+.'
}
0167デフォルトの名無しさん (ワッチョイ ff33-vsO7)
垢版 |
2021/09/21(火) 17:05:44.52ID:iohS1gPI0
typoしてんじゃね?と実験してみたら存在しないフォルダ名を指定していたら System.IO.DirectoryNotFoundException が投げられるのか
手元じゃ再現しないからわからんなぁ
Environment.GetFolderPath(Environment.SpecialFolder.Desktop) とか使ってもダメなんかね?
0168デフォルトの名無しさん (アウアウウー Sa5b-W1il)
垢版 |
2021/09/21(火) 18:10:56.43ID:nmJq7owza
>>163
たぶんシステム側のバグを疑ってるから質問してるんだろうけど、
それは自分で十分に検証した後でやること。

private void SaveDummyPng()
{
  var bmp = new Bitmap(100, 100);
  var path = AskUserForPngName();
  if (path != "") bmp.Save(path, ImageFormat.Png);
}

private string AskUserForPngName()
{
  var sfd = new SaveFileDialog();
  sfd.AddExtension = true;
  sfd.DefaultExt = "png";
  sfd.ShowDialog();
  return sfd.FileName;
}

なんでこの程度のことを最初にやらないの?
0169デフォルトの名無しさん (ワッチョイ 9f01-OeDJ)
垢版 |
2021/09/21(火) 22:36:08.81ID:MozgKoB30
>>166
InnerExceptionPrefix " ---> " string
_COMPlusExceptionCode -532462766 int
さっぱりです><
>>167
最初はEnvironment〜を使っていたのですがだめでした
>>168
それ行けました
でもこれ↓はだめです

public static void Test_MakePNG4()
{
var bmp = new Bitmap(100, 100);
var path = @"E:\SS\aa.png";
if (path != "") bmp.Save(path, ImageFormat.Png);
}

なんでなのおおおおおおおおおおお
0170デフォルトの名無しさん (ワッチョイ 7778-qDHA)
垢版 |
2021/09/22(水) 00:11:49.84ID:x9hzo5Uv0
・using (Graphics g = 〜) の外側でSave()を実行する
・Save()で直接ファイルに書き込まず、一度MemoryStreamに入れた後にファイルに書き込んでみる

思いつくのはこの辺りかな
0172デフォルトの名無しさん (ワッチョイ 9f47-P0JL)
垢版 |
2021/09/22(水) 00:47:04.48ID:FM+g1li10
>>169
そもそも同じディレクトリにテキストファイルは生成出来るの?

public static void Test_MakePNG4()
{
var path = @"E:\SS\aa.png.txt";
using (var writer = new StreamWriter(path))
{
writer.WriteLine("こんにちは");
}
}
0175デフォルトの名無しさん (アウアウウー Sa5b-W1il)
垢版 |
2021/09/22(水) 01:40:01.68ID:7jHG7vlFa
>>172
っていうか普通のセンスの人ならまず

(1) コードで指定しているパスのディレクトリをエクスプローラの
アドレスバーにコピペして開けるかどうか確認

(2) 開けたらそこで何等かのファイルの新規作成が可能かどうか確認

このぐらいはやるよね。

当たり前のことをやらずにエラーが出ます、どうしてでしょうって言われても知らんがなとしか
0177デフォルトの名無しさん (ワッチョイ 9f01-OeDJ)
垢版 |
2021/09/22(水) 04:40:06.14ID:GGT0XQOL0
先生、解決しますた・・・
忘れていました、、、うちのPCには暴れん坊のアバストさんがいることを・・・・
あいつ、最近勝手にランサムウェアシールドっていうのの保護対象にE:\SSやデスクトップを追加してたみたいで・・・
ぐぐってみたら同様に勝手に保護対象を増やされたという報告がいくつか

>>172先生が当たりでした
System.UnauthorizedAccessException: 'Access to the path 'E:\SS\aa.png.txt' is denied.'

やばそうな常駐アプリは切って再起動して確認してたつもりが
なんと一番やばいアバストさんがそのままだったという愚かさ
先生方お騒がせしました・・・
0179デフォルトの名無しさん (ワッチョイ d773-Yq6o)
垢版 |
2021/09/22(水) 17:41:14.68ID:UxQCWMGf0
そういやマカフィーもVSでC++のデフォルトテンプレのHello Worldをデバッグコンパイルするだけで、
ウィルス認定で50%以上の高確率で削除するしなw

winに最初からあるDefenderの方が誤動作少ないし機能も十分な気がする。
0190デフォルトの名無しさん (ワッチョイ f737-tt/w)
垢版 |
2021/09/22(水) 22:51:39.25ID:d5y6nh1w0
じゃあ2で
0193デフォルトの名無しさん (アウアウウー Sa5b-hED7)
垢版 |
2021/09/23(木) 00:18:07.56ID:1QHTb9H7a
Hoge hoge();
0196デフォルトの名無しさん (ワッチョイ d75f-P0JL)
垢版 |
2021/09/23(木) 06:17:51.94ID:knB3B2Kp0
3だな
0198デフォルトの名無しさん (ワッチョイ 775f-4bEA)
垢版 |
2021/09/23(木) 10:45:10.69ID:zah9lHsX0
1か3
varはjsっぽくていや
■ このスレッドは過去ログ倉庫に格納されています

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