I don't really get why you want to fetch the folders based on the guid, if you can fetch the guid you probably already have the folder.
I would typically solve this using extensions. Here is a variant of what you are looking for
using Microsoft.SharePoint;
using System;
using System.Collections.Generic;
using System.Linq;
namespace Herlitz.Common.Extensions
{
public static class SPListItemCollectionExtensions
{
/// <summary>
/// Get a folder by it's guid
/// </summary>
/// <param name="spListItemCollection"></param>
/// <param name="uniqueId"></param>
/// <returns>SPFolder or Null</returns>
public static SPFolder GetFolderByGuid(this SPListItemCollection spListItemCollection, Guid uniqueId)
{
var firstOrDefault = spListItemCollection.Cast<SPListItem>().FirstOrDefault(x => x.UniqueId.Equals(uniqueId));
return firstOrDefault != null ? firstOrDefault.Folder : null;
}
}
}
And to query
using (SPSite site = new SPSite(spSiteUrl))
{
using (SPWeb web = site.RootWeb)
{
SPList myList = web.GetList("thelist");
SPFolder theFolder = myList.Folders.GetFolderByGuid(new Guid("{c4819d5f-276e-4923-81cd-a3b014f1db6g}"));
}
}