Максимальная длина имени метода

7 ответов

Для C# я не полагаю, что существует , определил жесткий предел. (Разделите 2.4.2 из спецификации C# 5, не дает предел, например.) Рослин v2.2.0.61624, кажется, имеет предел 1 024 символов; это - путь вне границ удобочитаемости и даже разумного сгенерированного машиной имени.

Для Java, раздел 3.8 из состояний спецификации :

идентификатор является последовательностью неограниченной длины букв Java и цифр Java, первой из которых должна быть буква Java.

35
ответ дан Jon Skeet 27 November 2019 в 00:24
поделиться

PHP, кажется, ограничен только пределом памяти сценария.

С 128 МБ я смог создать класс (и метод) с 4 миллионами символов.

<?php
ini_set('memory_limit', '128M');
$i = 1024 * 1024;

while ($i < 10000000)
{
    $className = str_repeat('i', $i);
    eval("class $className { public function $className() { echo '$i<br>'; } }");
    new $className();
    $i *= 2;
}

?>
20
ответ дан Greg 27 November 2019 в 00:24
поделиться

Имена символов языка Common LISP являются строками; строки имеют предел длины array-dimension-limit

, значение array-dimension-limit является положительным целым числом, которое является верхним эксклюзивным, привязал каждый отдельный размер массива. Связанный зависит от реализации, но не будет меньшим, чем 1 024. (Конструкторы поощряются сделать этот предел столь же большим как реальным, не жертвуя производительностью.)

На практике это может быть довольно большое

Welcome to Clozure Common Lisp Version 1.3-dev-r11583M-trunk  (DarwinX8664)!
? array-dimension-limit
72057594037927936
? 

Welcome to Clozure Common Lisp Version 1.3-dev-r11583M-trunk  (DarwinX8632)!
? array-dimension-limit
16777216
? 

, Этот ответ игнорирует имя пакета имени метода; это могло удвоить lengh.

5
ответ дан Doug Currie 27 November 2019 в 00:24
поделиться

В D я не знаю, что это имеет место, но я подозреваю, что это - что-то безумное как> 100 МБ. Это могла бы быть вещь из памяти. Это основано на знании, что я и другие люди столкнулись с ограничением формата объектных файлов приблизительно 11 КБ для имен символа и что это было зафиксировано.

0
ответ дан BCS 27 November 2019 в 00:24
поделиться

В Java я полагаю, что предел длины не дан. Посмотрите это из Учебного руководства по Java Sun онлайн:

Имена переменной чувствительны к регистру. Имя переменной может быть любым легальным идентификатором — последовательность неограниченной длины букв Unicode и цифр, начавшись с буквы...

Как другие выше, я предположил бы, что длина зависит от доступной памяти.

0
ответ дан Bill 27 November 2019 в 00:24
поделиться

в C # - это 511 символов.

4
ответ дан 27 November 2019 в 00:24
поделиться

Реализация Microsoft C # - 511, реализация VB.NET - 1023.

Visual Studio раскрасит только первые 511 (1023 для VB) символов идентификатора, а остальные оставит черным.

12
ответ дан 27 November 2019 в 00:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: