質問するログイン新規登録

回答編集履歴

9

コード追記

2021/01/14 13:26

投稿

SHOMI
SHOMI

スコア4079

answer CHANGED
@@ -6,4 +6,9 @@
6
6
  ```diff
7
7
  - private void LapTimeCount(float lapTime,int lapMinute,string timeStoring,string rap)
8
8
  + private void LapTimeCount(ref float lapTime,ref int lapMinute,out string timeStoring, string rap)
9
+ ```
10
+ もしくは
11
+ ```diff
12
+ - private void LapTimeCount(float lapTime,int lapMinute,string timeStoring,string rap)
13
+ + private void LapTimeCount(ref float lapTime,ref int lapMinute,ref string timeStoring, string rap)
9
14
  ```

8

コード修正

2021/01/14 13:26

投稿

SHOMI
SHOMI

スコア4079

answer CHANGED
@@ -6,16 +6,4 @@
6
6
  ```diff
7
7
  - private void LapTimeCount(float lapTime,int lapMinute,string timeStoring,string rap)
8
8
  + private void LapTimeCount(ref float lapTime,ref int lapMinute,out string timeStoring, string rap)
9
- {
10
- var minute = 60; // 分
11
-
12
- lapTime += Time.deltaTime;
13
- if (lapTime >= minute)
14
- {
15
- lapMinute++;
16
- lapTime = lapTime - minute;
17
- }// ラップのタイムを保存
18
- timeStoring
19
- = string.Format($"LAP{rap} ") + lapMinute.ToString("00") + ":" + string.Format("{0:0#.000}", lapTime);
20
- }
21
9
  ```

7

コード修正

2021/01/14 13:22

投稿

SHOMI
SHOMI

スコア4079

answer CHANGED
@@ -1,18 +1,11 @@
1
1
  引数に渡された変数に値を格納して返したいのであれば`out`もしくは`ref`をつけて参照渡しにしてください。
2
- ```diff
3
- -private void LapTimeCount(float lapTime,int lapMinute,string timeStoring,string rap)
4
- +private void LapTimeCount(float lapTime,int lapMinute,out string timeStoring,string rap)
5
- ```
6
2
 
7
3
  [out(C# リファレンス)](https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/keywords/out-parameter-modifier)
8
4
  [ref(C# リファレンス)](https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/keywords/ref)
9
5
 
10
- ---
11
-
12
- stringを一つ返したいだけならば、わざわざ参照渡しにせずとも戻り値で返せば良いと思います。
13
6
  ```diff
14
7
  - private void LapTimeCount(float lapTime,int lapMinute,string timeStoring,string rap)
15
- + private string LapTimeCount(float lapTime,int lapMinute,string rap)
8
+ + private void LapTimeCount(ref float lapTime,ref int lapMinute,out string timeStoring, string rap)
16
9
  {
17
10
  var minute = 60; // 分
18
11
 
@@ -22,8 +15,7 @@
22
15
  lapMinute++;
23
16
  lapTime = lapTime - minute;
24
17
  }// ラップのタイムを保存
25
- - timeStoring
18
+ timeStoring
26
- - = string.Format($"LAP{rap} ") + lapMinute.ToString("00") + ":" + string.Format("{0:0#.000}", lapTime);
19
+ = string.Format($"LAP{rap} ") + lapMinute.ToString("00") + ":" + string.Format("{0:0#.000}", lapTime);
27
- + return string.Format($"LAP{rap} ") + lapMinute.ToString("00") + ":" + string.Format("{0:0#.000}", lapTime);
28
20
  }
29
21
  ```

6

文言修正

2021/01/14 13:18

投稿

SHOMI
SHOMI

スコア4079

answer CHANGED
@@ -9,7 +9,7 @@
9
9
 
10
10
  ---
11
11
 
12
- stringを一つ返したいだけならば、わざわざ参照渡しにせずとも戻り値で返せば可能でが…
12
+ stringを一つ返したいだけならば、わざわざ参照渡しにせずとも戻り値で返せば良いと思いま
13
13
  ```diff
14
14
  - private void LapTimeCount(float lapTime,int lapMinute,string timeStoring,string rap)
15
15
  + private string LapTimeCount(float lapTime,int lapMinute,string rap)

5

ref追加

2021/01/13 14:56

投稿

SHOMI
SHOMI

スコア4079

answer CHANGED
@@ -1,11 +1,11 @@
1
- 引数に指定した変数値をメソッド内では使用せず、値を格納して返したいのであれば`out`をつけて参照渡しにしてください。
1
+ 引数に渡された変数値を格納して返したいのであれば`out`もしくは`ref`をつけて参照渡しにしてください。
2
-
3
2
  ```diff
4
3
  -private void LapTimeCount(float lapTime,int lapMinute,string timeStoring,string rap)
5
4
  +private void LapTimeCount(float lapTime,int lapMinute,out string timeStoring,string rap)
6
5
  ```
7
6
 
8
- [out パラメーター修飾子 (C# リファレンス)](https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/keywords/out-parameter-modifier)
7
+ [out(C# リファレンス)](https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/keywords/out-parameter-modifier)
8
+ [ref(C# リファレンス)](https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/keywords/ref)
9
9
 
10
10
  ---
11
11
 

4

書式修正

2021/01/13 14:31

投稿

SHOMI
SHOMI

スコア4079

answer CHANGED
@@ -23,7 +23,7 @@
23
23
  lapTime = lapTime - minute;
24
24
  }// ラップのタイムを保存
25
25
  - timeStoring
26
- = string.Format($"LAP{rap} ") + lapMinute.ToString("00") + ":" + string.Format("{0:0#.000}", lapTime);
26
+ - = string.Format($"LAP{rap} ") + lapMinute.ToString("00") + ":" + string.Format("{0:0#.000}", lapTime);
27
27
  + return string.Format($"LAP{rap} ") + lapMinute.ToString("00") + ":" + string.Format("{0:0#.000}", lapTime);
28
28
  }
29
29
  ```

3

文言修正

2021/01/13 14:06

投稿

SHOMI
SHOMI

スコア4079

answer CHANGED
@@ -9,7 +9,7 @@
9
9
 
10
10
  ---
11
11
 
12
- stringを一つ返したいだけならば、参照渡しにせずとも戻り値で返せば良いように思いますが
12
+ stringを一つ返したいだけならば、わざわざ参照渡しにせずとも戻り値で返せば可能ですが
13
13
  ```diff
14
14
  - private void LapTimeCount(float lapTime,int lapMinute,string timeStoring,string rap)
15
15
  + private string LapTimeCount(float lapTime,int lapMinute,string rap)

2

戻り地で返す場合を追記

2021/01/13 14:04

投稿

SHOMI
SHOMI

スコア4079

answer CHANGED
@@ -1,8 +1,29 @@
1
- `out`をつけて参照渡しにしてください。
1
+ 引数に指定した変数の値をメソッド内では使用せず、値を格納して返したいのであれば`out`をつけて参照渡しにしてください。
2
2
 
3
3
  ```diff
4
4
  -private void LapTimeCount(float lapTime,int lapMinute,string timeStoring,string rap)
5
5
  +private void LapTimeCount(float lapTime,int lapMinute,out string timeStoring,string rap)
6
6
  ```
7
7
 
8
- [out パラメーター修飾子 (C# リファレンス)](https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/keywords/out-parameter-modifier)
8
+ [out パラメーター修飾子 (C# リファレンス)](https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/keywords/out-parameter-modifier)
9
+
10
+ ---
11
+
12
+ stringを一つ返したいだけならば、参照渡しにせずとも戻り値で返せば良いように思いますが。
13
+ ```diff
14
+ - private void LapTimeCount(float lapTime,int lapMinute,string timeStoring,string rap)
15
+ + private string LapTimeCount(float lapTime,int lapMinute,string rap)
16
+ {
17
+ var minute = 60; // 分
18
+
19
+ lapTime += Time.deltaTime;
20
+ if (lapTime >= minute)
21
+ {
22
+ lapMinute++;
23
+ lapTime = lapTime - minute;
24
+ }// ラップのタイムを保存
25
+ - timeStoring
26
+ = string.Format($"LAP{rap} ") + lapMinute.ToString("00") + ":" + string.Format("{0:0#.000}", lapTime);
27
+ + return string.Format($"LAP{rap} ") + lapMinute.ToString("00") + ":" + string.Format("{0:0#.000}", lapTime);
28
+ }
29
+ ```

1

文言修正

2021/01/13 14:01

投稿

SHOMI
SHOMI

スコア4079

answer CHANGED
@@ -1,3 +1,5 @@
1
+ `out`をつけて参照渡しにしてください。
2
+
1
3
  ```diff
2
4
  -private void LapTimeCount(float lapTime,int lapMinute,string timeStoring,string rap)
3
5
  +private void LapTimeCount(float lapTime,int lapMinute,out string timeStoring,string rap)