You are tasked with implementing a simple undo functionality using a stack. Design a C# program where a user can input strings, and each input is pushed onto a stack. When the user inputs "undo", the program should pop the last input from the stack and display it as the current string. If the stack is empty and the user enters "undo", display an appropriate message indicating there is nothing to undo.

```csharp

using System;
using System.Collections.Generic;

class Program
{
static Stack<string> inputStack = new Stack<string>();

static void Main()
{
string input;

do
{
Console.WriteLine("Enter a string (or 'undo' to undo):");
input = Console.ReadLine();

if (input.ToLower() == "undo")
{
Undo();
}
else
{
inputStack.Push(input);
}
} while (input.ToLower() != "exit");
}

static void Undo()
{
if (inputStack.Count == 0)
{
Console.WriteLine("Nothing to undo.");
}
else
{
string undoneInput = inputStack.Pop();
Console.WriteLine("Undone: " + undoneInput);
}
}
}
```

In this program, the `Main` method loops to continuously take user input. If the input is "undo", the `Undo` method is called to pop the last input from the stack and display it. The program includes handling for an empty stack when the user tries to undo.