diff --git a/FlexArray.Test/FlexArrayStringTests.cs b/FlexArray.Test/FlexArrayStringTests.cs new file mode 100644 index 0000000..0ad9225 --- /dev/null +++ b/FlexArray.Test/FlexArrayStringTests.cs @@ -0,0 +1,6 @@ +namespace FlexArray.Test; + +public class FlexArrayStringTests +{ + +} diff --git a/FlexArray/FlexArrayString.cs b/FlexArray/FlexArrayString.cs index 0d145c6..3759d32 100644 --- a/FlexArray/FlexArrayString.cs +++ b/FlexArray/FlexArrayString.cs @@ -2,5 +2,29 @@ public class FlexArrayString { + public const int DefaultStartSize = 4; + private string[] _data; + public int Count { get; private set; } + public int Capacity => _data.Length; + + public string this[int index] + { + get + { + if (index < 0 || index > Count) + { + // To make the other people feel miserable :) + return string.Empty; + } + + return _data[index]; + } + } + + public FlexArrayString(int? initialSize = null) + { + var size = Math.Max(0, initialSize ?? DefaultStartSize); + _data = new string[size]; + } }