ふらっと C#,C♯,C#(初心者用) Part152
■ このスレッドは過去ログ倉庫に格納されています
!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 >>55
じゃあ、キャッシュと関係ないレスなんでしたの?w
バグってるだろw >>56
どういうレスしようが5chなんてそれぞれの勝手だろ?
まぁそういう意味じゃお前が虚報を撒こうが勝手だけどそれを非難するのも俺の勝手だからな
主題で反論できないと分かるや論点ずらして小さい箇所で一点突破を目指すってまるでF爺にコテンパンにやられた西村博之みたいなカスだなお前 文字化けってほんとつらいっす
ありとあらゆるところに文字化けが潜んでて作業の邪魔する
ぐぐりまくって、バイト列に変換してから目的の文字コードに直す方法を習得したんだけど
これはもしかして万能な方法なんじゃないかと期待してるんだけど
まぁそのうち試してみよ・・・ >>60
予め文字コードが分かってるなら何も難しい話は無いはずだけど、
色んなテキストファイル読み込んだり色んなHTML巡ったりしてて文字コードが不規則って事? >>57
半年くらい前にひろゆきがオブジェクト指向の説明をしようとして非OOPなただのMath系関数の説明し始めてて悲しかった
2ch開設者って言うからプログラミングの腕もそれなりだと思ったら初歩的な事も理解してないレベルだった あめぞうBBSに手を加えただけだし、
転送量危機の時だって本人は何もしてない >>62
ひろゆきはパクリこそ至高ってゆってるぞ
ソースなんてパクッってナンボ、ほんで文系 >>61
今やってるのはメール受信ですわ
テストのために同じメーラーから同じ文章をgmailアカウントに送っているんだけど
なぜかアプリで受信したときの件名や本文とかの文字コードがUS-ASCIIになったりISO-2022-JPになったり。
ISO-2022-JPで送られてきたものをISO-2022-JPで変換すると、これまた文字化けすることに気づいて、対象の文字コードをまず取得して、それから変換しなきゃいけないと気づいてようやく今解決ですわ (解決したと思い込んでる段階 >>67
メール関連全く分からんけどヘッダのContent-Typeにcharset書かれてるならHttpClientみたいに自動エンコしてくれないん? つかまあ7bitとかいいながらSHIFT_JISで送ってくるメーラーとかあるけどな おぢちゃんたち、ありがとうございます
これ>>67、わかりやすそうなのでいろいろ考えてみます
今日は疲れたのでまた明日にでも。
ずっと没頭してやってたんで、プログラム自体はいい感じに動くようになってきました
今回の文字コードの問題は再現性が低くてやっかいです
FromやToでこういう↓日本語交じりのアドレスを使ってテストしてると
ごちゃん株式会社<***@***.com>
ほんと、たま〜に「ごちゃん株式会社」の部分の文字がおかしくなる
連続してテストしても再現しないけど、時間置くとたまーに・・・
これきた、と思ってもう一度やると再現しない
もちっと勉強してきます MIME-B や MIME-Q ってエンコードは知ってる?その仕様に合わないものが届いたりするってこと? 全く同じもの送りつけて再現しないならRFC以前の問題な気もするけど >>71
馬鹿、ここは若い衆多いぞ
ちょっと目を離すとレスバトルだ 他の人が投げたメールを自分で作ったメールクライアントで受けると化けるものが
あるってい場合には、すべてに自動で対応するのは不可能に近いかな
みんながみんなちゃんとした完全なメールクライアントである保証(設定も含めて)は
ないから
自分で作ったメールクライアント同士で化けることがあるなら、基本は実装を
疑ってみる必要があるけど途中のメールサーバに問題があるとかないかな
本文は何かのエンコードでパック化しちゃえば問題起こらないだろうけど、
あて先とかSubjectはサーバ側でいじることも出来るので何か変えられて
いるとか・・・最近はそういうことないのかな Xamarinで他のタプページの値を取得しようとしてますが上手くいきません。
kadou.xamal.cs)
public sbyte Eigyou_kaisi => sbyte.Parse(eigyou_kaisi.Text);
public sbyte Eigyou_owari => sbyte.Parse(eigyou_owari.Text);
kihon.xaml.cs)
set_eikaisi = kadou.Eigyou_kaisi;
//営業時間の開始
set_eisyuryou = kadou.Eigyou_owari;
//営業時間の終了(時) >>76
経過報告ありがとう。
引き続き調査よろしく。 >>77
kadou k1 = new kadou();
set_eikaisi = k1.Eigyou_kaisi;
//営業時間の開始
のようにインスタンスを作成したらエラーが直りました。 vs2017から2019移行してInstallerProjectをいれたところ
setupプロジェクトのビルドで失敗します
2017のときはエラー一覧に成功数とかでてたのですが
2019では何も出力されないのですが
ここにエラー出す方法ありますか?
ツール、オプションのビルド設定で出力の詳細を
かえてみたものの変わりありません 重いループ処理で「くるくる」を表示させたいのですが、上手くいきません。
ボタンを押したら、10秒以上固まったような状態になります。
try
{
cvLayer.IsVisible = true;
frLayer.IsVisible = true;
MyActivityIndicator.IsRunning = true;
//await Task.Run(() =>
//{
//長い処理を記述
do
{ Xamarin.Formsで重い処理の待ち時間に「くるくる」を表示させたいだけです。
コメントアウトは特に関係ありません。 Xamarin.Formsを使ったことないからアレだけど、根本的なところを間違ってるんじゃないかという予感
とりあえず、ちょっとググったら↓みたいなのは見つかる
https://blog.okazuki.jp/entry/2016/11/22/225735 インスタンス作り忘れるレベルの初心者には協力してあげたいがそのコード例だけじゃエスパーしかできん
固まるって事はTask.Runがコメントアウトされてる通りに同期処理になってるって事じゃないの?
ボタン押す → そのままTask作らずdo whileしたらそのwhileから抜け出すまでフォームは固まる事になる >>85
await Task.Delay(1);
をループ文の前に追加したら解決しました。
VBの「Do event」にあたる処理を追加したかっただけです。 https://anderson02.com/cs/xamarin1/xamarin-34/
このサイトを参考にして「ボタン押す」→Do-while処理中にActivityIndicator IsRunning="True"で「くるくる」表示
ループを抜けたらActivityIndicator IsRunning="false"で「くるくる」非表示にしてるだけです。
アプリの見た目上は問題ないんですが、、、 フォームが固まる事を問題だと思っているんだろうよ
フォームは固めておいたほうが問題がない フォームが固まったらくるくるも固まるから問題って事じゃなくて?
await Task.Delayを追加しただけで解決したってのもよく分からないけど、一回コード全部張ったほうが良いと思う おかしいな…
IObservable<T>のSubscribeメソッドってラムダを受け取る拡張メソッドが見つからない
IObserver<T>を受け取るメソッドはあるっぽいんですが…
前からこんなんでしたっけ? あ、書いた直後に自己解決しました
System名前空間にあるんですね
Rxチームのパッケージ配置センスなさすぎでは…? 質問です。
xamarinとC#でAndroidアプリを作成していて、ボタン押下でPCに構築したFTPサーバとテキストファイルの送受信をする機能を作ったのですが、ログインは成功していて、サーバへのファイル送信は出来ているのですが、androidへの受信時に下記2点の問題が発生しています
1.ファイル受信自体はできているが、受信時のコマンド"RETR"のものとは別に受信後にsocket.Receive処理を行った際に数分待ちが発生して、nullのExceptionが返されてエラーとなる。(ファイル受信時のsocket.Receiveの戻り値は"226 Transfer complete.")
2.上記1.の処理を削除してみると、サーバのテキストファイル内容の取得のために1ファイル受信する毎に"PASV"コマンドで戻ってきた"227"のIPアドレス・ポートでsocketを開く処理をしているのですが、そこで戻り値が"226 Transfer complete."になってしまい、IPアドレス・ポートが取得できずエラーとなる。(また、IPアドレス・ポートを取得してsocketを開ける場合もあるが、ファイル内容を取得できていて、writeで書き込まれているはずだが、受信したファイルに内容が反映されない。)
上記1か2の解決方法について何か心当たりがあればお教えいただけますでしょうか? FTPなんてめんどいもん使わずにHTTP使った方がいいでしょ みんなFTPやめるらしいな
ここ十年使ってなかったから関係ないけど! Gopher、Netnews、Archie、telnet等に続いてとうとうFTPも廃れてしまうのか 個人的にはSMTP/POP/IMAPにはやく消えて欲しい
あれHTTPSじゃ駄目なんか? IReadOnlyDictionaryじゃなくてIEnumerable<KeyValuePair>使うメリットってあるかな?
理屈の上ではIEnumerableの方が軽い? 実感は到底無理な範囲で >>103
httpsはメール転送プロトコルじゃないやん >>101
そういえばそうね
自分でも気付いたけどIEnumerableならkey重複もいけるのか、というかそれが一番大きな違いか IEnumerable<int?>からint?へのキャストはどのように行うのでしょうか?
キャストの方法を調べても見つけられず、とても初歩的な質問で申しわけありませんが教えてください Razor Pagesのチュートリアルをやってるんだけどさあ
Sqliteを使った時って、app.dbとかいうファイルが作られるけど、これどうやって中身を見れるの???
$ sqlite3 app.db
みたいにしたら、暗号化されてるかもしくはデータベースではないって言われてしまう
暗号化されてるとしても暗号化キーなんて知らんぞ・・・・ >>107
IEnumerable<int?>は複数のint?を持っているものなのにそれを一個のint?にキャスとしたいという状況が理解できないんだが >>109
説明が足らずすいません
int? test = numbers.Select(x => x.orderNum)
このように複数の要素からひとつだけ抜き出して、それをint?にしたいと考えています >>110
int? test = numbers.Select(x => x.orderNum).FirstOrDefault(); >>108
GUIのフリーソフトでSQLite対応のやつあったと思うけど名前は忘れた >>110
勝手にorderNum番目の要素が欲しいと仮定して
int ? test = numbers.Skip( orderNum ).FirstOrDefault(); >>110
Selectって名前から連想して複数の要素の中から一つを選択するメソッドだと
思ったのかもしれないけどそうじゃない(そうだとしてもそのコードは奇妙に見えるけどw)
Selectは数学で言えば集合の要素に変換関数を適用して写像(別の集合)を作るメソッド。
LINQのチートシートみたい記事ないかなと思って今検索してみたら
書いてくれてる人がいっぱいいるみたいなので、そういうの読んで自分が求めているのは
どれなのかよく考えた方がいいと思う WhereとSelectはSQLに寄せた結果何だろうけど紛らわしいから
JavaScriptみたいにFilterとMapにして欲しかった >>110
IEnumerable<int?>はint?の複数形なのは理解してる?
つまり複数形を単数にキャストしたいと言われても複数あるうちのどれ?ってなる
んで具体的なコードまで書いてもらいたいならnumbersの型まで書いいたほうが良い
orderNumがメンバ要素なのかインデックス変数なのかでみんな混乱してる
メンバってことで先頭が欲しいなら>>112でもいいしnumbers.FirstOrDefault()?.orderNum;の方がスマートかもしれない Selectを最初に当たった要素抜き出しと勘違いしてるのか 遅くなってすいません。
皆さんがおっしゃる通り、Selectの挙動が理解出来ていないまま使っていました。
EFでデータベースとやり取りをしており、numbersはテーブルを表し、
orderNumはその中のひとつのカラムです。
情報も不足していてすいません。
このテーブルにはひとつのレコードしかなく(numbers[0]の意味) Selectすれば要素を取得出来るだろうと考えていました。 >>93
コントロールコネクションとデータコネクション処理の区分けしていない、どんな
順番で実行しているかも分からないのでどこがおかしいとか言うのは無理かな
プロトコルの実装はシーケンスが見えないとアドバイスのしようがないよ
1.は単純にいえば確保したバッファのサイズを越えて読み込もうとしているか、
グルグルReciveでバッファの割り当て忘れているかだと思うけど
2.で1.を削るっていうのが何の処理を削ったのかよく分からないけど、PASVで
「226」は返ってこないはずなので、サーバがおかしいのでなければコントロール
コネクションの制御が間違っていて他のコマンドのレスポンスを見ているか、
以前のコマンドのレスポンスを見ているのではないかな >>119
ならnumbers[0].orderNumでいいんじゃないのか 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> ひょっとしてダークモード使ってるなんてことはない? 正解はXamarinスレへじゃないかw
Microsoft Xamarin part8 [.NET MAUI]
https://mevius.5ch.net/test/read.cgi/tech/1627778316/ データ集計用にSystem.Windows.Forms.DataVisualization.Charting.Chartを使ってグラフを描画して画像保存をやっています。
特定のX軸のグラフのプロット座標をスクリーン座標かクライアント座標として得たいのですが、何か方法はあるでしょうか。
目的はグラフのY軸のピーク値とかのプロット地点の横に注釈を入れることです。
ChartオブジェクトのPostPaintイベントを追加してSystem.Drawing等でChartコントロール上に描画はできることは確認できていますが、
描画するにもグラフの各座標が判らなくて困ってます。 ValueToPixelPositionでできました。
Chartは情報が中々得難いですね。
Excelのグラフのがよかったかな。 >>128
今それを書こうと思ってた
まあチャートなんか使ったことないんだけどねw
佐藤さんて人がchmを作ってくれてるよ。
それを見たら1分でそれにたどり着いた
http://www.kanazawa-net.ne.jp/~pmansato/ >>129
貴重な情報源ですね。ありがとうございます。 Visual Studio 2019でC#の単体テストのプロジェクトを新規作成する場合、
MSTest
NUnit
xUnit
と三つあるのですが、どれがお勧めですか?
最も一般的なのを教えてほしいです。
ちなみに、OSはWindows 10で、.NET Coreを使い、
GUIを用いないデスクトップ・アプリケーションのテストをしたいです。 >>132
では、xUnitにしてみます。
ありがとうございました。 単体テストで使うAssert()などのコードは、
バージョン管理ツールで保存するときは一緒に保存しますか?
単体テストで使うコードは本番環境にも入れたままにするのですか? if(debugger.isattached)debugger.break();
みたいにやればデバッガとつながってるときだけ止まるので入れておいても害はない >>134
バージョン管理するのは当然
単体テストはプロジェクトを分けるだろうから、本番環境にデプロイされることはない >>135-136
ありがとうございます。
デバッガーに繋がっているときだけ止めれるので入れておいても害はないけど、
プロジェクトを分ける場合は本番環境には入れないんですね。 先生 インスタンスメンバーにアクセスしないメソッドはstaticにマークしたほうがいいんですか?う゛ぃじゅあるすたじお先生がそう言ってるんですけど >>138
むしろ「それ」をあえてインスタンスメソッドにする必要があるのか、
と考えるべきだろうね。
普通はないはずだと思うけどあると確信できるなら別にいいんじゃないの?
普通はないはずだと思うけどねw ttps://www.youtube.com/watch?v=6pF07zSHVjA
さっきまで見てたのはこれ C#での非同期処理のキモがハマりどころも含めてわかりまくりの決定版みたいな記事どっかにない? >>144
気軽に建てたスレッドの99%はバグってるので安心して欲しい >>146
でもわたしはあなたの頭がハゲってるのが心配なんですよ >>144
https://www.kekyo.net/async
俺はこれが参考になった記憶あるな
調べたのって何年も前だから、もっと良い記事あるかもだけど >>144
スレッド
注意点一覧
・シングルコアで動くか?
・応答がないときに自決するか?
・失敗時のメモリリークはないか?
・タイムスケジュールはあるか?(例:1分の内AスレッドはX秒、BスレッドはY秒等)
・生存確認方法はあるか?
・実行中の状態は取得できるか?
・ログは出力できるか?
・最大使用メモリは把握できているか?
・失敗時のリザルトの受け取り方法は適切か?
・処理が複数失敗する可能性は考慮できているか?(例:ファイルオープン成功→ファイル書き込み失敗→ファイルクローズ失敗→tempフォルダ削除成功のとき何が返る?)
決めるのが面倒なら使うべきでないと思う >>151
おお、これは素晴らしい
ありがとうありがとう c# プログラマの書いたコードは美しい音楽のようだった。
タリバンは音楽家を処刑してるので、c# プログラマを対象に加えるべき。
c# って普通に考えたら音楽の符号だし、c# プログラマがすすめてくる「リーダブルコード」って本はどう見ても音楽関連。
https://i.imgur.com/nmlX1tw.jpg ■ このスレッドは過去ログ倉庫に格納されています