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

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

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

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

Q&A

4回答

10460閲覧

C# int型をsplitできるか

4ete4tfwegtr43

総合スコア13

C#

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

0グッド

0クリップ

投稿2017/05/26 07:48

C#で入力を受け付けて、半角スペース区切りで入力された数字を配列に格納するのですが、int型はsplitできないのですか?
一度string型に変換しないとだめなのでしょうか?

例えば 1 2 のように入力された数字です。

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

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

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

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

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

ozwk

2017/05/26 07:51

現時点でのコードください。
guest

回答4

0

多分splitした結果をそのままint型の配列に入れようとして失敗し、
「int型はsplitできない」と謎の考えに至ったのかと思いますが、

splitした結果はstring[]型で、int[]型じゃないというただそれだけの理由です。
splitした結果の各要素をintにparseしましょう。

投稿2017/05/26 07:59

ozwk

総合スコア13521

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

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

0

「半角スペース区切りで入力された数字」=「文字列」=「string型」
ですよね?
(例:"1 2 3 4 5")
TextBoxに入力された値をTextプロパティから取得した時点ではstring型です。
ですので、int型にするのはそのstringをsplitしたあとの話では?

投稿2017/05/26 07:53

編集2017/05/26 08:31
workaholist

総合スコア559

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

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

0

そもそもint型にスペースを含む数値は格納できません。
現在格納されている変数はstring型なのではないですか?

投稿2017/05/26 07:52

ttyp03

総合スコア16998

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

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

0

Consoleにせよ、TextBoxにせよ、一般的にキーボードから入力された数字は字であり、string型となります。
なので、そもそもstring型への変換は不要です。

表記のように空白区切りの数字を整数型にするには、下記のようになるかと。(誤入力がないパターンとあるパターンがあります)

csharp

1 2using System; 3using System.Collections.Generic; 4using System.Linq; 5 6namespace ConsoleApp7 7{ 8 internal class Program 9 { 10 private static void Main(string[] args) 11 { 12 Console.WriteLine("数字を空白区切りで入力してください"); 13 var ret = Console.ReadLine(); 14 15 //誤入力が絶対無い前提(失敗したらFormatExceptionが飛んでくる) 16 var array = ret.Split(' ').Select(str => int.Parse(str)).ToArray(); 17 18 //失敗したら読み飛ばすならこっち 19 var list = new List<int>(); 20 21 foreach (var s in ret.Split(' ')) 22 { 23 if (int.TryParse(s, out var i))list.Add(i); 24 } 25 } 26 } 27} 28 29

投稿2017/05/26 08:05

Tokeiya3

総合スコア260

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問