梁玉绳《汉书古今人表考》:“战国时前后有两白圭。《史 货殖传》,白圭当魏文侯时。(原注“史述其言有商鞅行法语,乃后人润饰之。”)《韩非 内储说下》,白圭相魏。《史 邹阳传》,白圭战亡六城,为魏取中山,显于中山,中山人恶之魏文侯。此周人白圭也,圭其名。《吕览 听言》《先识》《不屈》《应言》《举难》《知分》等篇称白圭与惠施、孟尝君问答。韩子《喻老》,白圭之行堤,塞其穴,无水难。《魏策》载白圭二事,在魏昭王时,盖尔时犹存。此魏人白圭也,丹名,圭字。《表》列于孟子、魏惠王之间,则为魏白圭无疑。阎氏《四书释地续》曾《吕览》赵岐误注周人,《国策》鲍《注》指其误。而高诱注《吕览》亦曰周人,凡三见,并错合为一人。《法言》曰:“子之治产不如丹圭,已先错矣。”今按:白圭非有两人也。高诱、赵岐皆以为周人,何以知其非?鲍以其人在《魏策》中,而即以为魏人,亦未见可据。(此吴师道已辩之。)魏文灭中山,为将者乃乐羊、吴起,无白圭。乐羊有谤书三箧,不闻恶白圭于魏文者。白圭至中山,据《吕览 先识》,乃当后中山亡于赵事。邹阳《狱中上书》乃误以乐羊为白圭,其说不足据。至《韩非》书:“白圭相魏,暴谴相韩,白圭谓暴谴曰:子以韩辅我于魏,我以魏待子于韩。臣长用魏,子长用韩。”此未可定为在魏文侯时。文侯一朝贤者,约略见《世家》卜相一节。(参读《考辩》第四十八。)未见有白圭为相。其与暴谴相结,亦战国中晚风气,当文侯世不宜有此。惟《货殖传》以与李克连称,自是史公文法疎处,亦不足据谓白圭乃文侯时人也。(吴师道《国策注》云:“《史 白珪传》首云:当魏文侯时,李克务尽地方,而白珪乐观时变。后复引圭之言曰:吾治生产如孙吴用兵,商鞅行法,则其人在鞅后。首句特与李克对论,非言其世也。”孙吴指孙膑,亦与白圭同时,参读《考辨》第八二。)又考《吕览 不屈篇》:“惠施游梁,见白圭,说之以强。白圭无以应。惠子出,白圭告人曰:新妇至,宜安矜,煙视媚行。今惠子遇我尚新,其说我有太甚者。”据此似惠施初游梁,白圭已先达。《史记 六国表》:“梁惠王二十七年,丹封名会。丹,魏大臣也。”《志疑》:“丹封名会四字难晓,注家皆阙。疑名会乃于浍之讹。浍为魏地。丹封于浍,犹齐封田婴于薛耳。”余谓丹殆即白圭名。是年即与齐战马陵而败。后惠施游梁,渐见信重,故《吕览 应言篇》有白圭短惠子于梁王事。至孟子之来,白圭虽不用事,犹以故相大臣见尊崇。观其与孟子语,“吾欲二十而税一,何如”,之问,知其在梁之地位矣。又曰:“丹之治水也愈于禹”,盖亦自夸其往昔之政绩也。其后曾游中山,游齐,而识其必亡。中山亡于赵惠文王三年,又后十二年,齐湣王败死。白圭之游,必在两国败亡之前,而不必亲见其亡。(吴师道谓“武灵王二十五年中山已亡,不待惠文三年。”白圭游中山,亦当在武灵二十五年前。游齐则稍后。)《魏策》,白圭谓新城君曰云云,新城君即秦芉戎。吴师道曰:“秦昭王初年,魏冉已用事,则芉戎之贵已久。又按:《燕策》,白圭逃于秦,则尝仕秦。《新序》孟尝君问白圭,恐亦此时。”(此先见《吕氏春秋 举难》。)今按:《秦纪》,昭襄王七年拔新城。(《年表》作襄城。)芉戎初号华阳君,其为新城君,当在昭襄王七年后。田文入相秦,在昭王八年,其时为齐湣王二年。白圭仕秦,当在其时。惟白圭既游齐,而谓孟尝之问亦在秦,则无以见其必然耳。又《魏策》:“成阳君欲以韩、魏听秦,魏王勿利。白圭谓魏王不如使人说成阳君弗入秦。”《史记 秦本纪》,昭襄王十七年,城阳君朝秦,其与《魏策》所载果为一时事否,今不可知。(《周季编略》径以白圭之说定在城阳朝秦之年,亦疏。)其时在中山亡后六年,上溯梁惠王封丹已五十五年。若白圭以三十受封,即谓至是犹存,可也。统观诸书所载,见白圭不为两人,前人不详考,而轻为之说,因谓前后有两白圭耳。
又按:《年表》,赵武灵王初胡服在十九年,攻中山在二十五年。《世家》十九,二十,二十一,三年皆略地中山,中山献四邑以和。二十三年,(此据《表》。)二十五年,(此据《世家》。)复攻中山。二十六年攻中山,攘地北至燕代,西至云中九原。(此据《世家》。)吴师道谓:“攘地时中山已定。”(见《齐策》。)而《水经注》引《纪年》:“魏今王十七年,邯郸命吏大夫奴迁于九原,又命将军大夫适子戍吏(吕氏《大事纪》引作代吏。)皆貂服。”吕东莱《大事记》谓“此即胡服事,特年与《史记》不同。”今考是年乃武灵王二十四年,而翌年,武灵王二十五年,《世家》载使周袑胡服傅王子何。(《赵策》亦记其事。)赵人胡服,本非一时徧及全国也。又《赵策》“王破原阳以为骑邑。”吴师道曰:“破者,破卒散兵以为骑。”吕氏《大事记》谓“武灵王胡服骑射,盖始教一邑,然后遍行之于竟内。”然原阳属云中,(高诱《注》。)乃武灵王二十五六年,灭中山,攘地始得。非胡服骑射先于此邑,明矣。今据《纪年》《赵策》原阳条,及《史 世家》周袑事,则赵之胡服骑射,其大行乃在武灵晚年。至《史表》“武灵十九年初胡服”,盖指其最先言之,与《纪年》并不背。