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

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

新規登録して質問してみよう
ただいま回答率
85.48%
ニフティクラウドmobile backend

ニフティクラウドmobile backend (mBaaS)はニフティが提供するBaasサービスです。プッシュ通知、データストア、ファイルストア、会員管理・認証機能などのバックエンド機能をクラウドから提供しています。 Andoird/iOS/JavaScript/Unityと各種SDKに対応しています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

1回答

1056閲覧

NCMBのデータベースから配列を取得する方法【Unity”

Jejeje

総合スコア38

ニフティクラウドmobile backend

ニフティクラウドmobile backend (mBaaS)はニフティが提供するBaasサービスです。プッシュ通知、データストア、ファイルストア、会員管理・認証機能などのバックエンド機能をクラウドから提供しています。 Andoird/iOS/JavaScript/Unityと各種SDKに対応しています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

0クリップ

投稿2021/05/24 18:23

編集2021/05/26 00:41

Unityでニフクラを使用しています。
ニフクラのデータベースにint型の配列データを追加したのですが、その配列を取得する方法が調べても分かりませんでした。

ArrayList型で取得しているようなのですが、それをint型の配列にキャストする方法を調べて試してみたのですが、「キャストが無効」とエラーが出てしまいます。

解決策となる方法を教えてほしいです。どうかよろしくお願いします。

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

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

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

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

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

guest

回答1

0

IEnumerable にキャストして foreach 等でループ処理をするのが簡単だと思います。
参考: object型の中身のlist展開

csharp

1using System.Text; 2using System.Collections; 3using UnityEngine; 4using NCMB; 5 6public class NCMBTest : MonoBehaviour 7{ 8 [SerializeField] string _tableName = "TestTable"; 9 [SerializeField] string _columnName = "TestColumn"; 10 [SerializeField] int[] data = { 2, 83, 9, 13, 0 }; 11 12 public void GetData() 13 { 14 NCMBQuery<NCMBObject> query = new NCMBQuery<NCMBObject>(_tableName); 15 query.Limit = 10; 16 17 query.FindAsync((oList, e) => 18 { 19 if (e != null) 20 { 21 Debug.LogError(e.ToString()); 22 } 23 else 24 { 25 foreach(var o in oList) 26 { 27 var nums = (IEnumerable) o[_columnName]; // ここがポイント 28 StringBuilder sb = new StringBuilder(); 29 30 foreach (var n in nums) 31 { 32 sb.Append(n); 33 sb.Append(", "); 34 } 35 36 Debug.Log(sb.ToString()); 37 } 38 } 39 }); 40 } 41 42 public void Register() 43 { 44 NCMBObject obj = new NCMBObject(_tableName); 45 obj[_columnName] = data; 46 47 obj.SaveAsync(e => 48 { 49 if (e != null) 50 { 51 Debug.LogError(e.ToString()); 52 } 53 else 54 { 55 Debug.Log("Registration Completed."); 56 } 57 }); 58 } 59}

投稿2022/03/02 12:14

bboydaisuke

総合スコア5275

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問