2009-04-08 2 views
1

Мне интересно, может ли кто-нибудь дать мне хороший пример использования указателей на C# в .Net и почему вы решили использовать указатели?Использование указателей C# в .Net

+0

Что вы подразумеваете под «использованием указателей», пытаетесь ли вы вызвать какой-то неуправляемый код? –

+0

Я просто узнаю о указателях и задаюсь вопросом, как они могут применяться к веб-разработке. Поскольку я работаю в .Net, я думал, что ограничусь этим. – madcolor

ответ

5

Это не вопрос, специфичный для ASP.NET.

Если вы собираетесь использовать указатели в .NET, основной причиной является то, что у вас есть сценарий взаимодействия, где будет проще использовать указатели в небезопасном коде вместо экземпляров IntPtr.

Вторая по популярности (и дальняя) причина заключается в том, что вы можете получить прирост производительности при обработке больших объемов данных в небезопасном коде, чем в управляемом коде. Хорошим примером этого являются алгоритмы обработки изображений.

+0

Вы бы сказали, что веб-приложение вроде http://aviary.com/home может быть примером, где указатели использоваться? – madcolor

+0

@madcolor: Это невозможно сказать. Вообще говоря, любой веб-сервер или фреймворк может обслуживать HTML, вы даже не знаете точно, что это ASP.NET, который выполняет эту работу, хотя это очень безопасная ставка, предоставляемая полями viewstate на странице. – casperOne

+0

@madcolor: Я бы сказал, что это не сделано с указателями. Как правило, вам лучше позволить .NET и ASP.NET управлять памятью для вас, так как это будет лучше (обычно). – casperOne

1

Если вы хотите выполнить некоторую обработку изображений для веб-приложения, вам может потребоваться использовать указатели. См. Image Processing Basics in C# на codeproject.com.

+0

+1 - Поскольку его зовут «madcolor», я подозреваю, что это может быть именно то, что ему нужно! –

1

Вам нужно использовать указатели, только если вы используете неуправляемый код или вызываете вызовы pinvoke.

+0

Строго говоря, работа с большинством неуправляемого кода возможна без использования 'unsafe' C# вообще (с помощью' IntPtr') –

Смежные вопросы