Index: /trunk/ab5.0/ablib/src/Classes/System/String.ab
===================================================================
--- /trunk/ab5.0/ablib/src/Classes/System/String.ab	(revision 705)
+++ /trunk/ab5.0/ablib/src/Classes/System/String.ab	(revision 706)
@@ -607,19 +607,25 @@
 		End Function
 
-		Static Function Join(separator As String, strings As System.Collections.Generic.List<String>) As String
+		Static Function Join(separator As String, strings As System.Collections.Generic.IList<String>) As String
 			Return Join(separator, strings, 0, strings.Count)
 		End Function
 
-		Static Function Join(separator As String, strings As System.Collections.Generic.List<String>, startIndex As Long, count As Long) As String
-			If (startIndex+count > strings.Count) or (startIndex < 0) or (count < 1) Then
+		Static Function Join(separator As String, strings As System.Collections.Generic.IList<String>, startIndex As Long, count As Long) As String
+			If ObjPtr(strings) = NULL Then ' IsNothingだとエラーになる
+				Throw New ArgumentNullException("strings")
+			ElseIf (startIndex+count > strings.Count) or (startIndex < 0) or (count < 0) Then
 				Throw New ArgumentOutOfRangeException("String.Join: One or more arguments are out of range value.", "startIndex or count")
 			End If
 
-			Dim string As String
-			Dim i As Long
-			For i = startIndex To startIndex + count - 2
-				string += strings[i] + separator
-			Next
-			Return string + strings[i]
+			If count = 0 Then
+				Return ""
+			Else
+				Dim string As String
+				Dim i As Long
+				For i = startIndex To startIndex + count - 2
+					string += strings.Item[i] + separator
+				Next
+				Return string + strings.Item[i]
+			End If
 		End Function
 
@@ -687,5 +693,5 @@
 			sb.Append(c, total - m_Length)
 			sb.Append(This)
-			Return sb.ToString
+			Return sb.ToString()
 		End Function
 
@@ -704,5 +710,5 @@
 			sb.Append(This)
 			sb.Append(c, total - m_Length)
-			Return sb.ToString
+			Return sb.ToString()
 		End Function
 	Private
