title: compile error CS0305 Using the generic type List
body: <p>While <code>csc /t:library strconcat.cs</code> with <code>using System.Collections.Generic;</code> I get an error</p>
  <pre><code>strconcat.cs(9,17): error CS0305: Using the generic type
          'System.Collections.Generic.List&lt;T&gt;' requires '1' type arguments
  mscorlib.dll: (Location of symbol related to previous error)  
  </code></pre>
  <p>The .cs code is taken from <a href="https://www.simple-talk.com/sql/t-sql-programming/concatenating-row-values-in-transact-sql/#_Toc205129487" rel="nofollow noreferrer">here</a>: Using Common Language Runtime.<br />
  I checked <a href="http://msdn.microsoft.com/en-us/library/ms379563%28VS.80%29.aspx" rel="nofollow noreferrer">description</a> on msdn but can't compile till now</p>
  <pre><code>using System;
  using System.Collections.Generic;
  using System.Data.SqlTypes;
  using System.IO;
  using Microsoft.SqlServer.Server;
  [Serializable]
  [SqlUserDefinedAggregate(Format.UserDefined,  MaxByteSize=8000)]
  public struct strconcat : IBinarySerialize{
          private List values;
          public void Init()    {
              this.values = new List();
          }
          public void Accumulate(SqlString value)    {
              this.values.Add(value.Value);
          }
          public void Merge(strconcat value)    {
              this.values.AddRange(value.values.ToArray());
          }
          public SqlString Terminate()    {
              return new SqlString(string.Join(&quot;, &quot;, this.values.ToArray()));
          }
          public void Read(BinaryReader r)    {
              int itemCount = r.ReadInt32();
              this.values = new List(itemCount);
              for (int i = 0; i &lt;= itemCount - 1; i++)    {
                  this.values.Add(r.ReadString());
              }
          }
          public void Write(BinaryWriter w)    {
              w.Write(this.values.Count);
              foreach (string s in this.values)      {
                  w.Write(s);
              }
          }
  }
  </code></pre>
  <p>I'm running Windows 7 x64 with <code>c:\Windows\Microsoft.NET\Framework\v2.0.50727</code> as well as <code>c:\Windows\Microsoft.NET\Framework64\v2.0.50727&gt;</code><br />
  How to compile? Sorry, I am just starting with c# - I searched some other questions here on SO and those advices did not make a progress for me (</p>