QA@IT
«質問へ戻る

   

0
本文
 あるサイトを参考に実際にやってみたところ,
 配列に入らず困っています.
 どのようにすれば,うまく分割できるのでしょうか?
+
+Unity側プログラム
 **...
 
-var data = message.Split(
-             new string[] { "\t" }, System.StringSplitOptions.None);
-        if (data.Length < 5) return;
-        try
+ void Update()
+    {
+        if (isNewMessageReceived_)
         {
-            dataText1.text = data[0]; //unityテキスト表示
-            dataText2.text = data[1];
-            dataText3.text = data[2];
-            dataText4.text = data[3];
-            dataText5.text = data[4];
+            OnDataReceived(message_);
+            var data = message_.Split(
+            new string[] { "\t" }, System.StringSplitOptions.None);
+            if (data.Length < 5) return;
 
+            try
+            {
+                dataText1.text = data[0];
+                dataText2.text = data[1];
+                dataText3.text = data[2];
+                dataText4.text = data[3];
+                dataText5.text = data[4];
+            }
+            catch (System.Exception e)
+            {
+                Debug.LogWarning(e.Message);
+            }
+        }
+        isNewMessageReceived_ = false;
+    }
+
+**
+ private void Read()
+    {
+        while (isRunning_ && serialPort_ != null && serialPort_.IsOpen)
+        {
+            try
+            {
+                message_ = serialPort_.ReadLine();
+                isNewMessageReceived_ = true;
+            }
+            catch (System.Exception e)
+            {
+                Debug.LogWarning(e.Message);
+            }
+        }
+    }
 ...**

C#における文字列の分割,配列化について

Unity-Arduino間でシリアル通信を行おうとしています.

Arduino側プログラム
...
Serial.println(sensorValue0);
Serial.print("\t");
Serial.println(sensorValue1);
Serial.print("\t");
Serial.println(sensorValue2);
Serial.print("\t");
Serial.println(sensorValue3);
Serial.print("\t");
Serial.println(sensorValue4);
Serial.print("\n");
...

これらを分割、配列化したいと考えています.
あるサイトを参考に実際にやってみたところ,
配列に入らず困っています.
どのようにすれば,うまく分割できるのでしょうか?

Unity側プログラム
**...

void Update()
{
if (isNewMessageReceived_)
{
OnDataReceived(message_);
var data = message_.Split(
new string[] { "\t" }, System.StringSplitOptions.None);
if (data.Length < 5) return;

        try
        {
            dataText1.text = data[0];
            dataText2.text = data[1];
            dataText3.text = data[2];
            dataText4.text = data[3];
            dataText5.text = data[4];
        }
        catch (System.Exception e)
        {
            Debug.LogWarning(e.Message);
        }
    }
    isNewMessageReceived_ = false;
}

**
private void Read()
{
while (isRunning_ && serialPort_ != null && serialPort_.IsOpen)
{
try
{
message_ = serialPort_.ReadLine();
isNewMessageReceived_ = true;
}
catch (System.Exception e)
{
Debug.LogWarning(e.Message);
}
}
}
...**

Unity-Arduino間でシリアル通信を行おうとしています.

Arduino側プログラム
**...
  Serial.println(sensorValue0);
  Serial.print("\t");
  Serial.println(sensorValue1);
  Serial.print("\t");
  Serial.println(sensorValue2);
  Serial.print("\t");
  Serial.println(sensorValue3);
  Serial.print("\t");
  Serial.println(sensorValue4);
  Serial.print("\n");
...**
これらを分割、配列化したいと考えています.
あるサイトを参考に実際にやってみたところ,
配列に入らず困っています.
どのようにすれば,うまく分割できるのでしょうか?

Unity側プログラム
**...

 void Update()
    {
        if (isNewMessageReceived_)
        {
            OnDataReceived(message_);
            var data = message_.Split(
            new string[] { "\t" }, System.StringSplitOptions.None);
            if (data.Length < 5) return;

            try
            {
                dataText1.text = data[0];
                dataText2.text = data[1];
                dataText3.text = data[2];
                dataText4.text = data[3];
                dataText5.text = data[4];
            }
            catch (System.Exception e)
            {
                Debug.LogWarning(e.Message);
            }
        }
        isNewMessageReceived_ = false;
    }

**
 private void Read()
    {
        while (isRunning_ && serialPort_ != null && serialPort_.IsOpen)
        {
            try
            {
                message_ = serialPort_.ReadLine();
                isNewMessageReceived_ = true;
            }
            catch (System.Exception e)
            {
                Debug.LogWarning(e.Message);
            }
        }
    }
...**

質問を投稿

C#における文字列の分割,配列化について

Unity-Arduino間でシリアル通信を行おうとしています.

Arduino側プログラム
...
Serial.println(sensorValue0);
Serial.print("\t");
Serial.println(sensorValue1);
Serial.print("\t");
Serial.println(sensorValue2);
Serial.print("\t");
Serial.println(sensorValue3);
Serial.print("\t");
Serial.println(sensorValue4);
Serial.print("\n");
...

これらを分割、配列化したいと考えています.
あるサイトを参考に実際にやってみたところ,
配列に入らず困っています.
どのようにすれば,うまく分割できるのでしょうか?
**...

var data = message.Split(
new string[] { "\t" }, System.StringSplitOptions.None);
if (data.Length < 5) return;
try
{
dataText1.text = data[0]; //unityテキスト表示
dataText2.text = data[1];
dataText3.text = data[2];
dataText4.text = data[3];
dataText5.text = data[4];

...**

Unity-Arduino間でシリアル通信を行おうとしています.

Arduino側プログラム
**...
  Serial.println(sensorValue0);
  Serial.print("\t");
  Serial.println(sensorValue1);
  Serial.print("\t");
  Serial.println(sensorValue2);
  Serial.print("\t");
  Serial.println(sensorValue3);
  Serial.print("\t");
  Serial.println(sensorValue4);
  Serial.print("\n");
...**
これらを分割、配列化したいと考えています.
あるサイトを参考に実際にやってみたところ,
配列に入らず困っています.
どのようにすれば,うまく分割できるのでしょうか?
**...

var data = message.Split(
             new string[] { "\t" }, System.StringSplitOptions.None);
        if (data.Length < 5) return;
        try
        {
            dataText1.text = data[0]; //unityテキスト表示
            dataText2.text = data[1];
            dataText3.text = data[2];
            dataText4.text = data[3];
            dataText5.text = data[4];

...**