質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

SDK

SDK(software development kit)は特定のハードウェアのプラットフォーム、開発環境又はソフトウェアパッケージでソフトウェアをつくるのに必要な開発ツールのセットです。SDKはAPI、IDE又は他の開発ツールとフレームワークを組み合わせたもので構成されていることがあります。

Q&A

解決済

1回答

749閲覧

C#のSDKを元にした情報取得のやり方

nariboy423

総合スコア1

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

SDK

SDK(software development kit)は特定のハードウェアのプラットフォーム、開発環境又はソフトウェアパッケージでソフトウェアをつくるのに必要な開発ツールのセットです。SDKはAPI、IDE又は他の開発ツールとフレームワークを組み合わせたもので構成されていることがあります。

0グッド

0クリップ

投稿2022/04/30 06:40

編集2022/05/01 09:15

前提

あるSDKをダウンロードして使いたく、先日初めてVisualStudioもダウンロードして中身を見ています。
C#も初めてで、一通りの解説も目は通したのですが、まだ理解が及ばないので教えてください。
ダウンロードしたSDK自体は使えており、それを作り変えて使いたいのですが、困っています。

実現したいこと

接続したRFIDリーダーの接続ポートを取得させて、コンソールにそのポート名を表示させたいです。

発生している問題・エラーメッセージ

サンプルはポート名をフォームに表示させるものだったので、そのサンプルの不要と思われる部分(フォームに関すると思われる部分)を削除してみましたが、うまくいきません。
出力をコンソールに出すようにシンプルに作ってみたのですが、
「現在のコンテキストに'_host'という名前は存在しません となりビルドできず行き詰っています。

何が間違いで何が足りないか、教えていただけないでしょうか。
よろしくお願いします。

補足情報

ちなみに使っているSDKは https://rfid.tss21.co.jp/download/sdk.html のTS100用で、
そのSDK内のSearchReaderのMainForm.csを元にしています。

該当のソースコード

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using com.gigatms; namespace ConsoleApp1 { class Program { static void Main(string[] args) { _host = new Host(); List<string> ports = _host.GetPortNames(); Console.WriteLine(ports); Console.ReadLine(); } } }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

現在のコンテキストに'_host'という名前は存在しません

エラーメッセージで検索してみて下さい。エラーの原因が書かれているかと思います。

■ コンパイラ エラー CS0103
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/compiler-messages/cs0103

投稿2022/04/30 07:07

cx20

総合スコア4632

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nariboy423

2022/04/30 08:07

■ コンパイラ エラー CS0103のページ参考に修正してみました。 namespace以下をこのように変更したらエラーは出なくなりましたが、 コンソールには”System.Collections.Generic.List`1[System.String]”が表示され 思っている結果ではないのです。 この表示の意味を検索してみましたが、私にはその説明の意味がわかりません。 もう少しご指導いただけないでしょうか。 namespace ConsoleApp1 { class Program { static void Main(string[] args) { Host _host = null; _host = new Host(); List<string> ports = _host.GetPortNames(); Console.WriteLine(ports); Console.ReadLine(); } } }
episteme

2022/04/30 08:21

Console.WriteLine(ports); 改め foreach ( string port in ports ) Console.WriteLine(port); ではいかが?
cx20

2022/04/30 08:53

既に episteme さんが回答済みですが・・ > コンソールには”System.Collections.Generic.List`1[System.String]” 確かにメッセージとしては分かりづらいかも知れないですね。 コレクションをそのまま WriteLine() で出力するとそのような表示になります。 別の書き方としては、 ----------------------------------------------- Console.WriteLine(String.Join("\n", ports)); ----------------------------------------------- と言った書き方でも表示が行えるかと思います。コレクションの内容を「改行」区切りの文字列に変換するやり方になります。 その他、コレクションの使い方については、下記が参考になるかと思います。 ■ C# ガイド / プログラミング ガイド / プログラミングの概念 / コレクション (C#) https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/concepts/collections それとプログラミング言語自体が初めてということでしたら、SDK を使う前に、何かしら C# の入門書を読んでから始めた方が良いかと思います。
nariboy423

2022/05/01 00:15

皆様ありがとうございます。 ご提示いただいた方法でうまくいきました。 はじめてこちらで質問したのですが、丁寧にご回答いただき助かりました。 今から40年位前までの古い言語しか経験がなく、質問の前にC#の入門サイトを読んではみていたのですが、概念からなかなか理解が難しく困っておりました。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問