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

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

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

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

String

Stringは、ゼロ以上の文字から連続してできた文字の集合を扱うデータ型です。基本的にテキストを表すために使われます。

Q&A

解決済

2回答

8013閲覧

C# IEnumerableからstringへ変換することができない

sktzky81004

総合スコア16

C#

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

String

Stringは、ゼロ以上の文字から連続してできた文字の集合を扱うデータ型です。基本的にテキストを表すために使われます。

0グッド

0クリップ

投稿2017/10/24 05:38

C#

1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4using Newtonsoft.Json; 5using System.Linq; 6 7public class api : MonoBehaviour { 8 9 // Use this for initialization 10 void Start () { 11 var parm = new Dictionary<string, object>(); 12 parm["type"] = 1; 13 parm["count"] = "50000"; 14 parm["format"] = "json"; 15 16 var urlParam = string.Join("&", parm.Select(item => string.Format("{0}-{1}", item.Key, item.Value)); 17 var url = string.Format("http://seiji.kpi-net.com/api/?{0}", urlParam); 18 19 var client = new WebClient(); 20 client.Encoding = System.Text.UTF8Encoding.UTF8; 21 var text = client.DownloadString(url); 22 23 var result = JsonConvert.DeserializeObject<List<Politician>>(text); 24 25 } 26 27 // Update is called once per frame 28 void Update () { 29 30 } 31} 32
var urlParam = string.Join("&", parm.Select(item => string.Format("{0}-{1}", item.Key, item.Value));

上記1文で「エラー CS1503 引数 2: は 'System.Collections.Generic.IEnumerable<string>' から 'string[]' へ変換することはできません。」と出てしまうのですが、変換の仕方が分かりません。

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

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

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

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

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

guest

回答2

0

ベストアンサー

Ⅰ. はじめに

現在、Unityで使える.NET Frameworkのバージョンは3.5です。
string.Joinで第二引数にIEnumerableが指定できるのは.NET Framework 4.0以上です。
参考

つまり、第二引数をToArraystring[]に明示的に変換する必要があります。

cs

1var urlParam = string.Join("&", parm.Select(item => string.Format("{0}={1}", item.Key, item.Value)).ToArray());

Ⅱ. 以下2点間違いがありました。

1. )が足りていない

cs

1var urlParam = string.Join("&", parm.Select(item => string.Format("{0}-{1}", item.Key, item.Value));

cs

1var urlParam = string.Join("&", parm.Select(item => string.Format("{0}-{1}", item.Key, item.Value)));

2. =ではなく-になっている。

cs

1var urlParam = string.Join("&", parm.Select(item => string.Format("{0}-{1}", item.Key, item.Value)));

cs

1var urlParam = string.Join("&", parm.Select(item => string.Format("{0}={1}", item.Key, item.Value)));

投稿2017/10/24 06:02

編集2017/10/24 06:19
aglkjggg

総合スコア769

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

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

sktzky81004

2017/10/25 00:37

ミスを見つけてくださりありがとうございます!
guest

0

ちゃんとは見ていないのですが、)が足りてないからではないのですか?

投稿2017/10/24 05:56

lain

総合スコア161

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

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

sktzky81004

2017/10/25 00:37

ミスを見つけてくださりありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問