
前提
ここに質問の内容を詳しく書いてください。
(例)
UNITYでC#Scriptを使ってゲームログシステムを作っています。
セーブした直後に以下のエラーメッセージが発生しました。
コードに関して初心者で、調べながらやっています。
まだ言語としてある単語とそうでない単語がわかりません。
実現したいこと
ここに実現したいことを箇条書きで書いてください。
・テキストファイルを表示するプログラムをかくこと
発生している問題・エラーメッセージ
エラーメッセージ
Assets\Event Log.cs(34,13): error CS0246: The type or namespace name 'StringBuilder' could not be found (are you missing a using directive or an assembly reference?)
該当のソースコード
C#
1ソースコード 2```using System; 3using System.Collections; 4using System.Collections.Generic; 5using UnityEngine; 6using UnityEngine.UI; 7 8public class EventLog : MonoBehaviour 9{ 10 public enum LogType 11 { 12 All, 13 Time, 14 Event 15 } 16 17 [SerializeField] 18 private Text logText; 19 private List<string> allLogs; 20 private List<string> timerLogs; 21 private List<string> eventLogs; 22 23 [SerializeField] 24 private LogType logTypeToDisplay = LogType.All; 25 26 [SerializeField] 27 private int allLogDataNum = 10; 28 [SerializeField] 29 private int timerLogDataNum = 10; 30 [SerializeField] 31 private int eventLogDataNum = 10; 32 33 [SerializeField] 34 private Scrollbar verticalscrollbar; 35 private StringBuilder logTextStringBuilder; 36 37 38 void Start() 39 { 40 allLogs = new List<string>(); 41 timerLogs = new List<string>(); 42 eventLogs = new List<string>(); 43 logTextStringBuilder = new StringBuilder(); 44 } 45 46 public void AddLogText(string logText, LogType logtype) 47 { 48 allLogs.Add(logText); 49 if(logtype == LogType.Event) 50 { 51 eventLogs.Add(logText); 52 }else if(logtype == LogType.Time) 53 { 54 timerLogs.Add(logText); 55 } 56 if(allLogs.Count > allLogDataNum) 57 { 58 allLogs.RemoveRange(0, allLogs.Count - allLogDataNum); 59 } 60 if(timerLogs.Count > timerLogsDataNum) 61 { 62 timerLogs.RemoveRange(0, timerLogs.Count - timerLogDataNum); 63 } 64 if(eventLogs.Count > eventLogsDataNum) 65 { 66 eventLogs.RemoveRange(0, eventLogs.Count - eventLogDataNum); 67 } 68 if(logTypeToDisplay == LogType.All ||logTypeToDisplay == logType) 69 { 70 ViewLogText(); 71 } 72 } 73 74 public void ViewLogText() 75 { 76 logTextStringBuilder.Clear(); 77 List<string> selectedLogs = new List<string>(); 78 if (logTypeToDisplay == LogType.All) 79 { 80 selectedLogs = allLogs; 81 } 82 else if (logTypeToDisplay == LogType.Event) 83 { 84 selectedLogs = eventLogs; 85 } 86 else if (logTypeToDisplay == LogType.Time) 87 { 88 selectedLogs = timerLogs; 89 } 90 91 foreach (var log in selectedLogs) 92 { 93 logTextStringBuilder.Insert(0, log + Environment.NewLine); 94 } 95 logText.text = logTextStringBuilder.ToString().TrimEnd(); 96 UpdateScrollBar(); 97 } 98 public void UpdateScrollBar() 99 { 100 verticalScrollbar.value = 1f; 101 } 102} 103 104 105### 試したこと 10634行目の少し後のStringBuilderの後にスペースを入れてみた。 107 108ここに問題に対して試したことを記載してください。 109 110### 補足情報(FW/ツールのバージョンなど) 1112022.1.15fです。 112ここにより詳細な情報を記載してください。

Unity の話なら Unity のタグをつけてください。
https://docs.microsoft.com/ja-jp/dotnet/api/system.text.stringbuilder?view=net-6.0
System.Text.StringBuilder なので、そう書くか using を使いましょう。
読んで字のごとく。

あなたの回答
tips
プレビュー