Если вы собираетесь хранить ссылку, я бы настоятельно рекомендовал хранить их с использованием семантических имен, например:
var GoogleUrl = "http://www.google.com";
var YahooUrl = "http://www.yahoo.com";
<ul>
<li><a href="<%= link001 %>'>Google</a></li>
<li><a href="<%= link002 %>'>Yahoo</a></li>
etc.
</ul>
Однако, еще лучшим решением было бы создание статического класса с константами.(или поля только для чтения), к которым вы затем можете получить доступ в коде:
public static class Url
{
public const string Google = "http://www.google.com";
public const string Yahoo = "http://www.yahoo.com";
}
, что приведет к тому, что код вашей страницы будет выглядеть следующим образом:
<ul>
<li><a href="<%= Url.Google %>'>Google</a></li>
<li><a href="<%= Url.Yahoo %>'>Yahoo</a></li>
etc.
</ul>
Это было бы намного лучшеинкапсулировать концепцию URL.
Что касается списков, вы могли бы легко расширить концепцию, например так:
public static class UrlList
{
public static IEnumerable<string> List1
{
get
{
// Return the first list:
yield return Url.Google;
yield return Url.Yahoo;
}
}
public static IEnumerable<string> List2
{
get
{
// Return the first list:
yield return Url.Yahoo;
yield return Url.Goggle;
}
}
}
Конечно, вы можете использовать массивы для резервного копирования свойств,но они изменчивы, и, как правило, для чего-то подобного это не очень хорошая вещь (другой вариант - по-прежнему выставлять свойство как IEnumerable<string>
, но использовать ReadOnlyCollection<string>
в качестве вспомогательного поля и возвращатьто, что сохранило бы неизменность:
public static class UrlList
{
///<summary>The backing field for <see cref="List1"/>.</summary>
private static readonly ReadOnlyCollection<string> list1 =
new ReadOnlyCollection<string>(new [] {
Url.Google,
Url.Yahoo,
});
public static IEnumerable<string> List1
{ get { return list1; } }
///<summary>The backing field for <see cref="List2"/>.</summary>
private static readonly ReadOnlyCollection<string> list2 =
new ReadOnlyCollection<string>(new [] {
Url.Yahoo,
Url.Google,
});
public static IEnumerable<string> List2
{ get { return list2; } }
}