This way
  <asp:GridView ID = "gvDirectories" runat="server" AutoGenerateColumns = "false">
        <Columns>
            <asp:BoundField DataField = "Text" HeaderText = "Directory Name" />
            <asp:BoundField DataField = "Value" HeaderText = "Directory Size" />
        </Columns>
    </asp:GridView>
 
using System.IO;
 
protected void Page_Load(object sender, EventArgs e)
{
    if (!this.IsPostBack)
    {
        string path = "C:\\SWTOOLS";
        List<ListItem> directories = new List<ListItem>();
        foreach (string directoryPath in Directory.GetDirectories(path))
        {
            directories.Add(new ListItem(new DirectoryInfo(directoryPath).Name, GetDirectorySize(directoryPath)));
        }
        gvDirectories.DataSource = directories;
        gvDirectories.DataBind();
    }
}
private string  GetDirectorySize(string path)
{
    DirectoryInfo info = new DirectoryInfo(path);
    long size = 0;
    foreach (string file in Directory.GetFiles(path, "*.*", SearchOption.AllDirectories))
    {
        size += new FileInfo(file).Length;
    }
    return Math.Round((double)size / (double)(1024 * 1024), 2).ToString() + " MB";
}