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

■ このスレッドは過去ログ倉庫に格納されています
2021/05/16(日) 10:45:59.00ID:8qTwOc620
!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為)

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

■前スレ
ふらっと C#,C♯,C#(初心者用) Part150
https://mevius.5ch.net/test/read.cgi/tech/1616471904/
■関連スレ
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
2021/06/07(月) 23:39:17.69ID:aD+fnvJOd
>>220
こういう人って頭に障害があるのだと思う
238デフォルトの名無しさん (ワントンキン MM5a-Srd6)
垢版 |
2021/06/07(月) 23:46:04.25ID:TRkLBERBM
確かに丸写しすらできずに人に丸投げするような人は頭の病気だよね
2021/06/07(月) 23:47:49.16ID:6Fx6+h8R0
エフェクトの効いた直撮り画像に映る言葉を失うようなミステイク
実に趣深い…
2021/06/08(火) 00:01:40.82ID:C+l/FTdha
>>231
賢いなw
LINQ的な発想が苦手だからいい頭の体操になった
2021/06/08(火) 00:07:22.40ID:C+l/FTdha
>>223
この人もさあ、なんでもうちょっと他人に自分の問題を理解してもらう努力をしないの。
率直に言って何を言ってるのかさっぱり分からん。

別に罵倒したくて言ってるわけじゃなくて、どんなに善意の人でも
理解できない問題には答えようがないと思うよ
242デフォルトの名無しさん (スッップ Sdea-Wt59)
垢版 |
2021/06/08(火) 00:47:15.41ID:OFJQpY+5d
>>227
https://kizuki.or.jp/kbc-column/dd-adult/
2021/06/08(火) 01:47:59.42ID:ib/yEAMa0
あんまりいぢめてやるなよw
ミミズだって オケラだって 220だって
みんな みんな生きているんだ 友だちなんだ
トンボだって カエルだって 223だって
みんな みんな生きているんだ 友だちなんだ
2021/06/08(火) 02:46:10.20ID:ie1akZGa0
友達料の納付がまだのようですが?
2021/06/08(火) 05:24:55.94ID:zfzkcoOR0
あんぱん買ってこいよ
246デフォルトの名無しさん (スプッッ Sdea-cnok)
垢版 |
2021/06/08(火) 07:55:04.09ID:oPwax1u6d
>>224
選択した時に処理したいです。
2021/06/08(火) 08:41:49.03ID:cqfCDeVba
>>223
俺ならComboBoxのitemのTagにPointを入れとくかな
2021/06/08(火) 10:56:38.50ID:WywmmIjb0
>>246
google「c# コンボボックス 選択」で見つけた

https://www.itlab51.com/?p=3026
2021/06/08(火) 12:52:13.99ID:T+eZSKNrd
あんぱん買ってくるのでゴミみたいな質問をさせてください…

標準入力で
整数n
n文字の文字列

を取得して、n文字の文字列を1字ずつ縦に出力したい場合は何をどうすれば良いのでしょうか
検索する為のキーワードだけでもご教示いただければ嬉しい限りです…
250デフォルトの名無しさん (ラクッペペ MMde-+uhU)
垢版 |
2021/06/08(火) 13:01:29.32ID:iJBocUpIM
どこに出力するのですか?
2021/06/08(火) 13:39:59.73ID:WywmmIjb0
>>249
string str="unko";
str.Length←文字数

ループで回して

if(str.Length==n)出力

でええんじゃないだろか?
2021/06/08(火) 14:16:53.52ID:qttYqnID0
標準入力からの行読み込み
文字列を整数に変換
文字列から文字取得 あるいは 文字列を配列に分割
改行 出力
2021/06/08(火) 14:26:06.75ID:eKo67trX0
バイト配列と、構造体の相互変換ですが、Marshal を使った方法
Marshal.PtrToStructure / Marshal.StructureToPtr ではリトルエンディアンしか対応していません。
ラージエンディアンとBCDに対応した相互変換のライブラリ等はありませんでしょうか。
.NET5 を想定しています。
2021/06/08(火) 14:42:51.35ID:bmgoTOXu0
>>249
その文字列の直前直後に改行がある場合はConsole.ReadLine()で読んでforeachで1文字ずつConsole.WriteLine
そうでないならConsole.Read()をn回呼んでConvert.ToCharしてConsole.WriteLine
2021/06/08(火) 15:07:20.57ID:bn01gd5kM
>>253
ないから自作するしかなかったような記憶が
ちょっと漁った限りでは
https://github.com/davidrea-MS/BitConverter/tree/master/EndianBitConverter
 → https://www.nuget.org/packages/EndianBitConverter/
https://github.com/jfoshee/UnpluggedIbmBits
なんてのはあるみたいだけど、この位なら自前で書いてもさほど手間は変わらないような
2021/06/08(火) 15:22:47.00ID:eKo67trX0
>>255
やっぱ無いですか。
とりあえずアトリビュートで場合分けしてやってみます。
2021/06/08(火) 18:22:07.24ID:+zfftH1n0
>>249
たぶん、プログラムの基本である、逐次実行を理解して無いんじゃなかろうか

上から処理するし、順に出力されるのが基本
縦に出力させたいなら、上から順に出力する方法が基本

一気に表示させる事は出来るが、結局内部で上から溜めて一気に吐き出してるだけ
258デフォルトの名無しさん (ワッチョイ 0ae6-+uhU)
垢版 |
2021/06/08(火) 18:33:56.39ID:/pGHNa0l0
逐次処理なんて時代遅れ!!
LINQとかで一撃でズバーっと解決しちゃうのがナウいッスよ
2021/06/08(火) 20:04:39.77ID:qmzAArb+d
>>249
任意の場所に縦に並べたいなら、Consoleのカーソル移動をさせるメソッドを使えば良いよ。
2021/06/08(火) 20:44:50.12ID:zQ8wWAP20
>>228
>>230
ありがとうございました。
エラーが出なくなりました。
2021/06/08(火) 20:46:14.31ID:zQ8wWAP20
>>236
ありがとうございました。
とても助かります。
2021/06/08(火) 23:24:49.74ID:MpN9Z3mi0
みんなどこでプログラム学ぶの?独学?有料スクール?会社入ってからの教育プログラム?
2021/06/08(火) 23:57:18.30ID:DII63xyt0
切っ掛けは独学だったり学校だったり新人研修が多いんじゃないかな
けどその後はみんな独学でしょ
264デフォルトの名無しさん (ワンミングク MM1d-Srd6)
垢版 |
2021/06/09(水) 03:51:36.11ID:D8wcA5EVM
>>260
>>261
で?またお前が間違えていたのか、それとも本が間違えていたのかそれくらい書けよ
だからバカだっての
2021/06/09(水) 07:14:35.45ID:lHuF4fd4a
>>262
最初は雑誌、次に趣味でゲーム作る
で、会社入ってOJT
2021/06/09(水) 07:41:07.30ID:T7a0fZeMd
>>265
雑誌はベーマガだった
2021/06/09(水) 07:59:02.17ID:1IFZDN1pM
>>262
昔と違って覚える範囲が広いから
最初はセミナー受けた方が楽じゃね
2021/06/09(水) 08:39:45.92ID:y9xSvLES0
>>267
事前学習無しでセミナーなんて金をドブにすてるだけ
入門書でも買っていくらか触ってみて疑問点をまとめてからうけるべき
2021/06/09(水) 09:56:27.08ID:1IFZDN1pM
あーはいはいそうですねー
2021/06/09(水) 10:29:54.65ID:tFTHFIz/0
質問です
System.Numerics.BigInteger型の整数を小数含めたfloatで乗算したいのですが、何か方法はありませんか?
2021/06/09(水) 11:07:43.11ID:m05KcYPg0
ASP.NETで作ったWEBアプリにグラフ追加したら、iOSでボタン押しても動作しなくなった。
原因分かる人いる?
2021/06/09(水) 11:09:12.94ID:aIWwtEZD0
グラフ追加したからじゃないかなあ
2021/06/09(水) 12:29:29.59ID:paDfdrYmM
>>270
doubleやdecimalで収まる程度の桁数なんだったらそれらに変換してから計算すりゃいい
収まらないんなら必要な精度を決めて予めfloatの方を10^n倍して整数化した上でBigIntegerに入れて乗算するとか
2021/06/09(水) 12:42:27.77ID:A3ai3bJf0
>>270
無駄に頑張っても疲れるし外部のライブラリを使うのが楽
BigDecimalとかでググれば色々見つかるよ
2021/06/09(水) 12:54:22.23ID:RdncRzI4a
>>270
(1) 与えられるBigIntegerの値の範囲
(2) 演算結果として欲しい型と精度

まずこういう要件を定義しないと何とも言えないのでは?
こまけーことはいいんだよならdoubleにキャストして演算するだけだろうけど
2021/06/09(水) 22:22:16.62ID:yp9eglBe0
form1にTabControlとボタン2つ配置。
ボタンはnextボタンとreturnボタンとしてボタンのclickに応じてtabpageを切り替える処理がしたいです。
※処理※
起動時tabpageは最初のページ。nextで次ペ頁、 returnボタンで1つ前の頁。
最終ページでnextなら最初の頁。最初頁でreturnならformを閉じる。

それぞれのボタンのイベントに処理はネットみて書けたんですが、うまいこと一つにまとめる方法が知りたいです。
2021/06/09(水) 23:05:51.15ID:7RnwuUIHa
うまいこと一つにまとめる、とは?
2021/06/09(水) 23:09:38.53ID:qAo90TQX0
剰余演算子をうまく使ってくだせえ
2021/06/10(木) 01:08:35.30ID:M7C9mR8+0
タブに順番なんかあったっけ?
ユーザーがドラックしたら移動できんかったか?
2021/06/10(木) 08:39:52.59ID:+OLSGNkTa
>>276
ボタンのイベントを同じメソッドにしてその中のsenderで処理を分ける
2021/06/10(木) 11:33:53.07ID:rur9wo/n0
class c {
public byte[] arr;
}

foo = new c(){
arr = new byte[10];
}

var ff = foo.GetType().GetFields(
BindingFlags.Instance |
BindingFlags.Static |
BindingFlags.Public |
BindingFlags.NonPublic |
BindingFlags.GetField
);

var f = ff[0];
var v = f.GetValue(foo);

この時 v は byte[] になりますが、v[0] にアクセスしたい場合はどうコーディングするのでしょうか。
そのままv[0]とすると、object型に[]を付けられないとエラー表示されます。

var zz=(byte[])v;
var z = zz[0];

とすればアクセスできる事は確認していますが、byte 部分が不明でもアクセスできるようにしたいのです。
2021/06/10(木) 12:01:03.65ID:GQazDyFH0
型が分からないのに配列でアクセスできるわけないだろ。
型制約でも付けてみれば?
2021/06/10(木) 12:04:21.64ID:rur9wo/n0
自己解決
var zz = (Array)v;
var z = zz.GetValue(0);
2021/06/10(木) 22:54:11.27ID:ZEfq1fzk0
ちょっととりとめのない質問なんですけど
社長が取ってきた仕事でどっかの会社が作ったC#アプリをうちの会社で修正するという仕事の担当になりました

んで中を調べてたら
edmxって言う拡張子があって
それがEntityFrameworkと言うことがわかったのです

データベースももらってきてビルドしたら通るように放ったのですけど
edmx内にあるcsファイル?(ッポイやつ)を開こうとしたらビルドエラーになってデザイナーが表示されなかったり
なんだか訳がわからなくて・・・

EntityFrameworkを猫でもわかるように解説してるところってないですか?
2021/06/10(木) 23:13:12.60ID:RKq3rAMR0
只のXMLなので開いてみるべし
2021/06/10(木) 23:28:07.46ID:0U76cbOA0
というか。
それはきちんと全てのファイルを開ける状態を要求しなければダメなパターンでは。

ああ。無駄な要求だと言うことは分かってるけど。
2021/06/11(金) 00:22:08.49ID:6smqcHVx0
EF3のModel Fistとかだったり…
2021/06/11(金) 00:58:16.80ID:kVdsE3UJ0
public class PropertyCls {
public int PropertyInt{ set; get;}
}

class Program {
static void Main() {
PropertyCls p = new PropertyCls();
p.PropertyInt = 32;
Console.WriteLine(p.PropertyInt);
}
}

GetSetの壁にぶち当たってます。調べてもこんなコード等しか出てないし使い所が分かりません。
Mainの中にint p=32で終わりじゃんとか思えないんですが...
ひとつじゃ使わないけど、PropertyIntの他にもNameとかAgeとか複数の構造体?風な事が変数風?に出来るよって感覚ですか?
社員番号とかの例とかよく見ますが、他によく使うパターンとか教えて下さい。
2021/06/11(金) 01:06:01.10ID:qvzRqpry0
xmlファイルと言っても開いてどうなるのでしょうか・・・

とりあえずドキュメントは取説だけあって
doxygenでクラス関連図とか抜き出してみたけどコメントないし名前の付け方も訳がわからないので動かしながら見るしか無いという地獄・・
Totigiとかそんな感じのクラスがあって・・・
2021/06/11(金) 01:34:48.60ID:rjcQbITm0
>>288
無理して使う必要はないよ
以上
2021/06/11(金) 03:39:29.02ID:SAQrE1k60
つかなんで使いどころがないと進めないんだ?
学校の勉強でいちいち使いどころとか考えてたか?
2021/06/11(金) 07:17:53.54ID:oCvSjx8Y0
getsetなんか俺はゴミだと思う
2021/06/11(金) 09:38:54.03ID:Pc6dU7Wud
get setは構造化の基本
データの塊はこーゆー設計がいいよねって話

データの塊なので、利用、登録は意識しない
(なるべく他に依存しない)

ただ、オブジェクト指向だからって、車のネジ一本から作るのは間違い
そのアプリが目的としている形のオブジェクトでいい
トラックなのか乗用車なのか、とか、車なのか電車なのか
2021/06/11(金) 10:22:39.64ID:N5qPgvwKM
×構造化
〇カプセル化(情報隠蔽)
2021/06/11(金) 10:48:58.40ID:Pc6dU7Wud
すまんね。
ただ「プログラムの構造・設計」って意味で言ったので間違ってないよ
(俺自身は隠蔽する意味を見出していない、日本語訳が間違ってるだけ?)

ちなみに、質問者のプログラムだと、登録と利用が同時に行われてるので、get setの意味は全く無い
意味ないと思うのは当然
2021/06/11(金) 12:12:38.48ID:WhHgYbh2a
訳分からん俺様用語を使っている時点で本当は自分で何も調べてもいなければ
他人とコミュニケーションする意思もないことは明白。

getsetの壁って何やねんw
2021/06/11(金) 12:36:14.35ID:9brEePq50
>>288
初心者の域をでない俺だけど
そういう理屈っぽい所理解したいなら
ちゃんとした書籍買って読むといいと思うよ
その辺順を追って説明されてるから
2021/06/11(金) 12:57:23.03ID:/Ldzrd4UM
>>288
社員番号、入社年度、年齢、性別とか沢山の項目があるなら構造化する
ひとつならたいして意味ない。ただし項目によってはValueObjectにしたほうがいいかもしれない。

で、入社年度から在籍年数をクラス内で計算してgetできるようにするとか。そういったロジックをクラスに用意する。

ただこういうクラスの場合はsetを使うより
コンストラクタで渡すほうがよい。
で、get; private set;
にする
2021/06/11(金) 13:05:02.82ID:FNOyhnqL0
>>298
今はコンストラクタで初期化するならprivate setは不要
2021/06/11(金) 14:47:45.55ID:Pc6dU7Wud
わかったよ
入門者はget setに注目してるから、訳がわからなくなるんだな

大事な方は、データの塊の持ち方であって、取り方入れ方は副産物

本来はgetって書いてあるから取ってるんだねって一発でわかる様になってたが、今は書かない様になったから、getメソッドのメリットが薄くなってる
2021/06/11(金) 14:55:57.07ID:gX7+uLUh0
>>288
「GetSetの壁」より先に
「公式リファレンスの壁」を越えるといいよ
https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/classes-and-structs/using-properties
2021/06/11(金) 15:00:19.14ID:hChWWabk0
根本的な疑問は
プロパティじゃなくて(公開)フィールドで良いんじゃないか、ってことじゃないのかね
2021/06/11(金) 16:12:18.68ID:OoWb95ZEa
>>302
恐らくその通りだと思うけど、聞いてる方も答えてる方も
コミュニケーション能力が低すぎてなんか滑稽なことになってるねw

そして、これが肝心だけど、そういうことなら普通
こんなところで質問する前に「プロパティ フールド 使い分け」
とかで検索する。

getsetの壁とか訳わからんこと言ってることから分かるように、
この質問者さんは普通の人がまずやることを何もやってない。
2021/06/11(金) 18:01:38.21ID:SAQrE1k60
コミュニケーションの壁を感じますね(適当)
2021/06/11(金) 18:06:02.90ID:snOiqcmLd
俺がコミュ症とはひどいなぁ(文才が無いだけ)
人生口先だけで生きてきたよ
それは置いといて

質問者は「Mainの中にint p=32」と言ってる時点で、データ外出しに気づいてないなと思ったよ
2021/06/11(金) 19:22:00.59ID:+sJHqm0v0
>>288
この例ではpを表示してるのは確認の為で主目的ではないね

プロパティはクラスのフィールドみたいな物
フィールドはクラスの変数で、寿命はクラスを作ってから破棄まで
例えば、個人情報のクラスなら住所や電話番号がフィールド

いくつかの理由でフィールドに直接アクセスするのは良くないとされている
つまり
✕personal.phone=09012345678とかnum=personal.phone
○personal.SetPhone(09012345678)やnum=personal.GetPhone()

でも下の表記はクラス側にSetxxx/Getxxxを書かなくてはならず詰まらないコード量が増える

そこでC#は呼出側は上の記述が使え、クラス内では最低限のコード量で書くプロパティが考案された
2021/06/11(金) 19:52:45.88ID:95OnglC4d
以前は{ get; set; }って記述は出来なかったよね。
必ずprivateの保存先に読み書きしたり、なんかロジックとか固定値で値を返したり。
さらにラムダ式とか多様な定義が出来るようになったから、着いていけない人も居るのかも。
自分も自信ない。無駄な書き方してないだろうかと。
2021/06/11(金) 20:13:06.43ID:rguC8k2o0
ここは
>「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」
だからな

>>288は、まずプロパティという概念を理解できているのか?
そしてそれがC#ではどのように実装されるのかを理解できているのか?
(今のC#のプロパティにはいろんな書き方ができるのでわかりにくい)

その上でフィールドとの使い分けなら
クラスの外部に公開するものはプロパティにする
単純に値を格納するだけのもの以外はプロパティにする
が基本方針だと思えばいい
2021/06/11(金) 20:37:00.28ID:fG/j16u90
アルゴリズム云々じゃなくてとりあえずコーディングの練習したいときの手軽な問題って何があるかな?

今は競技プログラミングの簡単な問題を最近の記法使いつつ解いてるのだが他に何かあれば知りたいです
2021/06/12(土) 00:34:16.72ID:5WmNz19V0
>>309
テトリスでいい
2021/06/14(月) 11:10:57.15ID:pnoKn6oo0
Debugger.Breakメソッドってリリースビルドで落ちますか?
2021/06/14(月) 11:30:41.88ID:pnoKn6oo0
とりあえず
Debugger.isAttachedで解決しました
313デフォルトの名無しさん (ワッチョイ ff05-W6T4)
垢版 |
2021/06/14(月) 20:09:02.57ID:BmiJqBp+0
株価チャートは作れますか?
2021/06/14(月) 20:10:32.46ID:mg3Aqqn/M
作れるけど自分で使う用ならPythonの方がいいよ
2021/06/14(月) 23:03:12.79ID:JUMQWHQ70
Python遅くない?
2021/06/15(火) 02:51:49.51ID:sfSEzJaG0
完成するまでの時間を考慮すればペイするよ
初心者がC#で完成させるのは不可能だから、速度はゼロだ
2021/06/15(火) 06:00:09.68ID:KK4WQfQVd
Pythonとjupyter notebookですぐに欲しい結果が出せるのが良いよね。
実効速度で比較する意味はないってことか。
2021/06/15(火) 07:49:35.29ID:KkBjFpYc0
>>314
ありがとうございました。
2021/06/15(火) 09:42:34.43ID:7x06OJH8M
そもそもグラフィカルなアプリは人間の知覚や操作がボトルネックになるので、単純なコードの実行速度にはあまり意味がない
2021/06/15(火) 22:28:24.77ID:YIKkkAYj0
アプリの設定情報の保存がイマイチよくわかってない自分。
2021/06/15(火) 23:06:30.86ID:vcMBupBl0
<ブックリスト>
<アイテム id="11">
<タイトル>XML</タイトル>
<筆者>鈴木</筆者>
<カテゴリ>1</カテゴリ>
</アイテム>
<アイテム id="22">
<タイトル>WORD</タイトル>
<筆者>田中</筆者>
<カテゴリ>2</カテゴリ>
</アイテム>
</ブックリスト>
こんなxmlをID指定で読みたい。ID 22ならば、WORD、田中、2が得られるように。

調べると下のようなものが出てきました。指定で読み込みたいのでforeachでなく読んだ結果を直に欲しいです。(foreachの中身のような)
IEnumerable<XElement> infos = from item in xml.Elements("??") select item;
foreach (XElement info in infos){
info.Element("タイトル")
info.Element("カテゴリ)
}

指定で読むにはどうしたら良いですか?
2021/06/16(水) 00:27:44.40ID:/wNWjCZd0
findByIdはないです
なんで無いのかは知らないです
実用性を無視した意味不明なこだわりを持ってるライブラリ設計者っていますけど、たぶんその類だと思いますね
別の言語ですがElementTreeの設計に関しても似たような後継を見ましたね
XMLは変な設計者を引きつけるのかも知れない
323デフォルトの名無しさん (ワッチョイ ffe6-U+vn)
垢版 |
2021/06/16(水) 00:34:43.94ID:5mM/xZpb0
XPathで一発じゃんか
Linqはコレクション向けの機能だからな
2021/06/16(水) 01:16:30.17ID:jt20Rl6v0
>>321
読んでみないとわかんないじゃん?
だから全部読むよ
id=22だけっつったって
ネスト入りのテキストである以上全部読まなきゃどんな構造かわからんよの
325デフォルトの名無しさん (アウウィフ FF67-U3V2)
垢版 |
2021/06/16(水) 17:36:15.53ID:uJQ6HHCXF
>>321
bs = BeautifulSoup(xml, features='lxml')
for item in bs.find(id='22'):
if type(item) != bs4.element.NavigableString:
print(item.text)
2021/06/16(水) 18:57:39.81ID:/wNWjCZd0
bsのfindはリストやシーケンスを返さないよ(Tag or Noneを返す)
よってTypeErrorで動かない
2021/06/16(水) 21:45:08.91ID:6jJilgqa0
Ruby, Nokogiri では、XML もHTML のように使える。
CSS セレクターも使える

require 'nokogiri'

doc = Nokogiri::XML(<<EOT)
<root><books>
<book id="1">
<title>one</title>
</book>
<book id="2">
<title>two</title>
</book>
</books></root>
EOT

element = doc.at_css( "#2" )
puts element.at( "title" ).content #=> two
328デフォルトの名無しさん (ワッチョイ 8f67-MHI0)
垢版 |
2021/06/16(水) 23:24:04.21ID:nxmBk19h0
初心者だけどVBAのノリでgosub return使おうとしてコンパイラにエラー出されて悩んだ
goto使えるんならこっちも使えてもいいじゃん
2021/06/16(水) 23:38:57.75ID:5dGb7KxN0
>>321
var doc = XDocument.Load("BookList.xml");
var item = doc.XPathSelectElement("//booklist/item[@id='22']");
Console.WriteLine(item.Element("title"));
2021/06/17(木) 00:41:59.71ID:3qVDU9gDa
>>328
ローカル関数やラムダ式は使えるよ。
どうでもいいけどGoSubなんてまともな人はVBAでも使わないよw
そんなのは80年代の遺物だ
2021/06/17(木) 03:03:58.98ID:ZAUwj7CW0
質問失礼いたします。
0.5秒間隔に、3回連続で2枚の画像を交互に表示させたいのですが、2つ目の画像しか表示されません。
開発環境はVisual Basic Studio、言語はC#です。
プログラムは下記の通りです。
どうぞよろしくお願いいたします。

private void button1_Click(object sender, EventArgs e)
{

Timer timer = new Timer();
timer.Interval = 500;
timer.Start();

int count = 0;

pictureBox1.ImageLocation = @"ファイル名";

pictureBox1.ImageLocation = @"ファイル名";

if (count < 3)
{
count++;
}

else
{
MessageBox.Show("終了");
timer.Stop();
}
2021/06/17(木) 05:52:30.68ID:8FKshyx30
>>331
何が悪いとかのレベルじゃない
特定の行でF9でブレークポイントが設定できデバッグ実行を止めることができる
その後F10で一行ずつデバッグ実行を進めることができるから想定している動きになってるか確認することから始めた方がいい
2021/06/17(木) 05:54:28.97ID:Y5lXnysMd
>>328
特定の処理を呼んで返したいなら、メソッドに切り出せば良いんじゃないのかな。
2021/06/17(木) 15:21:46.42ID:WS39elSMa
>>331
private bool mIsBusy = false;
private async void StartSlideShow()
{
  if (mIsBusy) return;
  mIsBusy = true;
  var dir = @"C:\Windows\Web\Wallpaper\Theme2";
  var names = new[] { "img7.jpg", "img8.jpg", "img7.jpg", "img8.jpg", "img7.jpg", "img8.jpg" };
  foreach (var name in names)
  {
    var path = System.IO.Path.Combine(dir, name);
    pictureBox1.ImageLocation = path;
    await Task.Delay(500);
  }
  mIsBusy = false;
}
2021/06/17(木) 16:07:14.40ID:tBktLRON0
>>330
いや、寧ろGoSub使わずに一つのサブルーチンにすべてを書くやつがコボラーの亡霊です
2021/06/17(木) 16:09:36.15ID:4w07t7GO0
ローカルメソッドはどうなんだろうね
外出せばいいじゃん派と他で使わないならローカルにしとけよ派で争うのかな
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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